v3: properly expose default_branch and last build for that branch in repo payload

This commit is contained in:
Konstantin Haase 2015-02-18 14:14:39 +01:00
parent 963a217fbf
commit 515b815069
3 changed files with 72 additions and 12 deletions

View File

@ -3,10 +3,15 @@ require 'travis/api/v3/renderer/model_renderer'
module Travis::API::V3
class Renderer::Repository < Renderer::ModelRenderer
representation(:minimal, :id, :slug)
representation(:standard, :id, :name, :slug, :description, :github_language, :active, :private, :default_branch, :owner, :last_build)
representation(:standard, :id, :name, :slug, :description, :github_language, :active, :private, :owner, :last_build, :default_branch)
def default_branch
model.default_branch || 'master'.freeze
branch_name = model.default_branch || 'master'.freeze
{
:@type => 'branch'.freeze,
:name => branch_name,
:last_build => model.last_build_on(branch_name)
}
end
def active

View File

@ -25,7 +25,6 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do
"github_language" => nil,
"active" => true,
"private" => true,
"default_branch" => "master",
"owner" => {
"@type" => "user",
"id" => repo.owner_id,
@ -38,7 +37,19 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"}}]
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}}]
}}
end

View File

@ -16,7 +16,6 @@ describe Travis::API::V3::Services::Repository::Find do
"github_language" => nil,
"active" => true,
"private" => false,
"default_branch" => "master",
"owner" => {
"@type" => "user",
"id" => repo.owner_id,
@ -29,7 +28,19 @@ describe Travis::API::V3::Services::Repository::Find do
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"}
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
}}
end
@ -88,7 +99,6 @@ describe Travis::API::V3::Services::Repository::Find do
"github_language" => nil,
"active" => true,
"private" => true,
"default_branch" => "master",
"owner" => {
"@type" => "user",
"id" => repo.owner_id,
@ -101,7 +111,19 @@ describe Travis::API::V3::Services::Repository::Find do
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"}
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
}}
end
@ -145,7 +167,6 @@ describe Travis::API::V3::Services::Repository::Find do
"github_language" => nil,
"active" => true,
"private" => true,
"default_branch" => "master",
"owner" => {
"@type" => "user",
"id" => repo.owner_id,
@ -158,7 +179,19 @@ describe Travis::API::V3::Services::Repository::Find do
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"}
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
}}
end
@ -208,7 +241,6 @@ describe Travis::API::V3::Services::Repository::Find do
"github_language" => nil,
"active" => true,
"private" => true,
"default_branch" => "master",
"owner" => {
"@type" => "user",
"id" => repo.owner_id,
@ -221,7 +253,19 @@ describe Travis::API::V3::Services::Repository::Find do
"state" => "passed",
"duration" => nil,
"started_at" => "2010-11-12T12:30:00Z",
"finished_at" => "2010-11-12T12:30:20Z"}
"finished_at" => "2010-11-12T12:30:20Z"},
"default_branch" => {
"@type" => "branch",
"name" => "master",
"last_build" => {
"@type" => "build",
"@href" => "/v3/build/#{repo.last_build.id}",
"id" => repo.last_build.id,
"number" => "3",
"state" => "configured",
"duration" => nil,
"started_at" => "2010-11-12T13:00:00Z",
"finished_at" => nil}}
}}
end
end