From 24d5efda958d2fceebf1a20ae59fe2268fe50954 Mon Sep 17 00:00:00 2001 From: carlad Date: Thu, 26 Nov 2015 17:39:03 +0100 Subject: [PATCH] v3 update spec for services/repositories --- .../repositories/for_current_user_spec.rb | 49 ++++++++++++++++++- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/spec/v3/services/repositories/for_current_user_spec.rb b/spec/v3/services/repositories/for_current_user_spec.rb index 7351a888..8dbf6ba9 100644 --- a/spec/v3/services/repositories/for_current_user_spec.rb +++ b/spec/v3/services/repositories/for_current_user_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe Travis::API::V3::Services::Repositories::ForCurrentUser do - let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first } + let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first } let(:build) { repo.builds.first } let(:jobs) { Travis::API::V3::Models::Build.find(build.id).jobs } @@ -62,7 +62,7 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do "@href" => "/v3/repo/#{repo.id}/branch/master", "@representation" => "minimal", "name" => "master"}, - "starred" => false + "starred" => false }] }} end @@ -85,4 +85,49 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser 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']) .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} + ]} + 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']) .to be == ["all the unstarred repos"] } + end end