Welcome to mirror list, hosted at ThFree Co, Russian Federation.

topics_resolver_spec.rb « resolvers « graphql « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 89f4583bce8882d728386773c2c08de435e58e73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Resolvers::TopicsResolver do
  include GraphqlHelpers

  describe '#resolve' do
    let!(:topic1) { create(:topic, name: 'GitLab', non_private_projects_count: 1) }
    let!(:topic2) { create(:topic, name: 'git', non_private_projects_count: 2) }
    let!(:topic3) { create(:topic, name: 'topic3', non_private_projects_count: 3) }

    it 'finds all topics' do
      expect(resolve_topics).to eq([topic3, topic2, topic1])
    end

    context 'with search' do
      it 'searches environment by name' do
        expect(resolve_topics(search: 'git')).to eq([topic2, topic1])
      end

      context 'when the search term does not match any topic' do
        it 'is empty' do
          expect(resolve_topics(search: 'nonsense')).to be_empty
        end
      end
    end
  end

  def resolve_topics(args = {})
    resolve(described_class, args: args)
  end
end