diff options
Diffstat (limited to 'spec/finders/projects/topics_finder_spec.rb')
-rw-r--r-- | spec/finders/projects/topics_finder_spec.rb | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/spec/finders/projects/topics_finder_spec.rb b/spec/finders/projects/topics_finder_spec.rb index 3812f0757bc..d6e90e5958f 100644 --- a/spec/finders/projects/topics_finder_spec.rb +++ b/spec/finders/projects/topics_finder_spec.rb @@ -5,13 +5,13 @@ require 'spec_helper' RSpec.describe Projects::TopicsFinder do let_it_be(:user) { create(:user) } - let!(:topic1) { create(:topic, name: 'topicB') } - let!(:topic2) { create(:topic, name: 'topicC') } - let!(:topic3) { create(:topic, name: 'topicA') } + let_it_be(:topic1) { create(:topic, name: 'topicB') } + let_it_be(:topic2) { create(:topic, name: 'topicC') } + let_it_be(:topic3) { create(:topic, name: 'topicA') } - let!(:project1) { create(:project, :public, namespace: user.namespace, topic_list: 'topicC, topicA, topicB') } - let!(:project2) { create(:project, :public, namespace: user.namespace, topic_list: 'topicC, topicA') } - let!(:project3) { create(:project, :public, namespace: user.namespace, topic_list: 'topicC') } + let_it_be(:project1) { create(:project, :public, namespace: user.namespace, topic_list: 'topicC, topicA, topicB') } + let_it_be(:project2) { create(:project, :public, namespace: user.namespace, topic_list: 'topicC, topicA') } + let_it_be(:project3) { create(:project, :public, namespace: user.namespace, topic_list: 'topicC') } describe '#execute' do it 'returns topics' do @@ -41,5 +41,21 @@ RSpec.describe Projects::TopicsFinder do end end end + + context 'filter by without_projects' do + let_it_be(:topic4) { create(:topic, name: 'unassigned topic') } + + it 'returns topics without assigned projects' do + topics = described_class.new(params: { without_projects: true }).execute + + expect(topics).to contain_exactly(topic4) + end + + it 'returns topics without assigned projects' do + topics = described_class.new(params: { without_projects: false }).execute + + expect(topics).to contain_exactly(topic1, topic2, topic3, topic4) + end + end end end |