v3: SQL "NOT IN ()" never matches
This commit is contained in:
parent
24d5efda95
commit
afb6fe286b
|
@ -369,6 +369,3 @@ DEPENDENCIES
|
||||||
travis-yaml!
|
travis-yaml!
|
||||||
unicorn
|
unicorn
|
||||||
yard-sinatra!
|
yard-sinatra!
|
||||||
|
|
||||||
BUNDLED WITH
|
|
||||||
1.10.6
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ module Travis::API::V3
|
||||||
if user and not starred.nil?
|
if user and not starred.nil?
|
||||||
if bool(starred)
|
if bool(starred)
|
||||||
list = list.joins(:stars).where(stars: { user_id: user.id })
|
list = list.joins(:stars).where(stars: { user_id: user.id })
|
||||||
else
|
elsif user.starred_repository_ids.any?
|
||||||
list = list.where("repositories.id NOT IN (?)", user.starred_repository_ids)
|
list = list.where("repositories.id NOT IN (?)", user.starred_repository_ids)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -128,6 +128,15 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do
|
||||||
before { get("/v3/repos", {"starred" => "false"}, headers) }
|
before { get("/v3/repos", {"starred" => "false"}, headers) }
|
||||||
example { expect(last_response) .to be_ok }
|
example { expect(last_response) .to be_ok }
|
||||||
example { expect(JSON.load(body)['@href']) .to be == "/v3/repos?starred=false" }
|
example { expect(JSON.load(body)['@href']) .to be == "/v3/repos?starred=false" }
|
||||||
example { expect(JSON.load(body)['repositories']) .to be == ["all the unstarred repos"] }
|
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
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user