API v3: don't load all builds when eagerloading repository.last_build
This commit is contained in:
parent
59835c80f6
commit
2f19ba3357
|
@ -8,10 +8,7 @@ module Travis::API::V3
|
|||
has_many :users, through: :permissions
|
||||
|
||||
belongs_to :owner, polymorphic: true
|
||||
|
||||
has_one :last_build,
|
||||
class_name: 'Travis::API::V3::Models::Build'.freeze,
|
||||
order: 'id DESC'.freeze
|
||||
belongs_to :last_build, class_name: 'Travis::API::V3::Models::Build'.freeze
|
||||
|
||||
has_one :default_branch,
|
||||
foreign_key: [:repository_id, :name],
|
||||
|
|
|
@ -18,8 +18,8 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
"slug" => "svenfuchs/minimal"},
|
||||
"last_build" => {
|
||||
"@type" => "build",
|
||||
"@href" => "/v3/build/#{repo.last_build.id}",
|
||||
"id" => repo.last_build.id,
|
||||
"@href" => "/v3/build/#{repo.default_branch.last_build.id}",
|
||||
"id" => repo.default_branch.last_build.id,
|
||||
"number" => "3",
|
||||
"state" => "configured",
|
||||
"duration" => nil,
|
||||
|
|
|
@ -319,7 +319,7 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
describe "including full owner and full last build" do
|
||||
before { get("/v3/repo/#{repo.id}?include=repository.owner,repository.last_build") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(parsed_body['last_build']['state']).to be == 'configured' }
|
||||
example { expect(parsed_body['last_build']['state']).to be == 'passed' }
|
||||
example { expect(parsed_body['last_build']['repository']).to be == { "@href" => "/v3/repo/#{repo.id}" } }
|
||||
example { expect(parsed_body['owner']).to include("github_id", "is_syncing", "synced_at")}
|
||||
end
|
||||
|
@ -348,12 +348,5 @@ describe Travis::API::V3::Services::Repository::Find do
|
|||
before { get("/v3/repo/#{repo.id}?include=repository.last_build,build.branch") }
|
||||
example { expect(last_response).to be_ok }
|
||||
example { expect(parsed_body).to include("last_build") }
|
||||
example { expect(parsed_body['last_build']).to include("branch" => {
|
||||
"@type" => "branch",
|
||||
"@href" => "/v3/repo/#{repo.id}/branch/master",
|
||||
"name" => "master",
|
||||
"repository" => { "@href" =>"/v3/repo/#{repo.id}" },
|
||||
"last_build" => { "@href" =>"/v3/build/#{repo.last_build.id}" }
|
||||
}) }
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user