diff --git a/lib/travis/api/v3/models/repository.rb b/lib/travis/api/v3/models/repository.rb index 3563a17c..5e7cd0ec 100644 --- a/lib/travis/api/v3/models/repository.rb +++ b/lib/travis/api/v3/models/repository.rb @@ -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], diff --git a/spec/v3/services/branch/find_spec.rb b/spec/v3/services/branch/find_spec.rb index e32c4718..99d91acf 100644 --- a/spec/v3/services/branch/find_spec.rb +++ b/spec/v3/services/branch/find_spec.rb @@ -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, diff --git a/spec/v3/services/repository/find_spec.rb b/spec/v3/services/repository/find_spec.rb index 48834c0c..a6e64c9f 100644 --- a/spec/v3/services/repository/find_spec.rb +++ b/spec/v3/services/repository/find_spec.rb @@ -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 \ No newline at end of file