Commit a6cf8fa5 authored by Michael Kozono's avatar Michael Kozono

Optimize count_verified_wikis SQL

parent fbc3f8bb
......@@ -65,7 +65,7 @@ module Geo
end
def count_verified_wikis
Project.verified_wikis.count
ProjectRepositoryState.verified_wikis.count
end
def count_verification_failed_repositories
......
......@@ -88,7 +88,6 @@ module EE
scope :with_wiki_enabled, -> { with_feature_enabled(:wiki) }
scope :verified_wikis, -> { joins(:repository_state).merge(ProjectRepositoryState.verified_wikis) }
scope :verification_failed_repos, -> { joins(:repository_state).merge(ProjectRepositoryState.verification_failed_repos) }
scope :verification_failed_wikis, -> { joins(:repository_state).merge(ProjectRepositoryState.verification_failed_wikis) }
scope :for_plan_name, -> (name) { joins(namespace: :plan).where(plans: { name: name }) }
......
......@@ -278,4 +278,30 @@ describe Geo::RepositoryVerificationFinder, :postgresql do
end
end
end
describe '#count_verified_wikis' do
context 'when a wiki is verified' do
it 'includes the wiki' do
create(:repository_state, :wiki_verified)
expect(subject.count_verified_wikis).to eq(1)
end
end
context 'when a wiki failed verification' do
it 'excludes the wiki' do
create(:repository_state, :wiki_failed)
expect(subject.count_verified_wikis).to eq(0)
end
end
context 'when a wiki has outdated verification' do
it 'excludes the wiki' do
create(:repository_state, :wiki_outdated)
expect(subject.count_verified_wikis).to eq(0)
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment