v3: fix specs for services/repositories

This commit is contained in:
carlad 2015-11-26 18:30:14 +01:00
parent afb6fe286b
commit 01591cefa5
2 changed files with 26 additions and 30 deletions

View File

@ -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

View File

@ -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