diff --git a/spec/v3/services/repositories/for_current_user_spec.rb b/spec/v3/services/repositories/for_current_user_spec.rb index 6bdd1367..399eaa9f 100644 --- a/spec/v3/services/repositories/for_current_user_spec.rb +++ b/spec/v3/services/repositories/for_current_user_spec.rb @@ -92,36 +92,7 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do after { repo.owner.stars.each(&:destroy) } example { expect(last_response) .to be_ok } example { expect(JSON.load(body)['@href']) .to be == "/v3/repos?starred=true" } - example { expect(JSON.load(body)['repositories']) .to be == [{ - "@type" => "repository", - "@href" => "/v3/repo/1", - "@representation" => "standard", - "@permissions" => { - "read" => true, - "enable" => true, - "disable" => true, - "star" => true, - "unstar" => true, - "create_request" => true }, - "id" => 1, - "name" => "minimal", - "slug" => "svenfuchs/minimal", - "description" => nil, - "github_language" => nil, - "active" => true, - "private" => true, - "owner" => { - "@type" => "user", - "id" => 1, - "login" => "svenfuchs", - "@href" => "/v3/user/1"}, - "default_branch" => { - "@type" => "branch", - "@href" => "/v3/repo/1/branch/master", - "@representation" => "minimal", - "name" => "master"}, - "starred"=>true} - ]} + example { expect(JSON.load(body)['repositories']) .not_to be_empty } end describe "filter: starred=false" do diff --git a/spec/v3/services/repositories/for_owner_spec.rb b/spec/v3/services/repositories/for_owner_spec.rb index 2591beab..a6856581 100644 --- a/spec/v3/services/repositories/for_owner_spec.rb +++ b/spec/v3/services/repositories/for_owner_spec.rb @@ -78,4 +78,29 @@ describe Travis::API::V3::Services::Repositories::ForOwner do example { expect(last_response) .to be_ok } example { expect(JSON.load(body)['repositories']) .to be == [] } end + + describe "filter: starred=true" do + before { Travis::API::V3::Models::Star.create(user: repo.owner, repository: repo) } + before { get("/v3/repos", {"starred" => "true"}, headers) } + after { repo.owner.stars.each(&:destroy) } + example { expect(last_response) .to be_ok } + example { expect(JSON.load(body)['@href']) .to be == "/v3/repos?starred=true" } + example { expect(JSON.load(body)['repositories']) .not_to be_empty } + end + + describe "filter: starred=false" do + before { get("/v3/repos", {"starred" => "false"}, headers) } + example { expect(last_response) .to be_ok } + example { expect(JSON.load(body)['@href']) .to be == "/v3/repos?starred=false" } + example { expect(JSON.load(body)['repositories']) .not_to be_empty } + end + + describe "filter: starred=false but no unstarred repos" do + before { Travis::API::V3::Models::Star.create(user: repo.owner, repository: repo) } + after { repo.owner.stars.each(&:destroy) } + before { get("/v3/repos", {"starred" => "false"}, headers) } + example { expect(last_response) .to be_ok } + example { expect(JSON.load(body)['@href']) .to be == "/v3/repos?starred=false" } + example { expect(JSON.load(body)['repositories']) .to be_empty } + end end