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

search_results_sorted_shared_examples.rb « gitlab « lib « shared_examples « support « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e4f09dfa0b0bf4fb7ce13dc4c203a52cb2720e1d (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# frozen_string_literal: true

RSpec.shared_examples 'search results sorted' do
  context 'sort: created_desc' do
    let(:sort) { 'created_desc' }

    it 'sorts results by created_at' do
      expect(results_created.objects(scope).map(&:id)).to eq([new_result.id, old_result.id, very_old_result.id])
    end
  end

  context 'sort: created_asc' do
    let(:sort) { 'created_asc' }

    it 'sorts results by created_at' do
      expect(results_created.objects(scope).map(&:id)).to eq([very_old_result.id, old_result.id, new_result.id])
    end
  end

  context 'sort: updated_desc' do
    let(:sort) { 'updated_desc' }

    it 'sorts results by updated_desc' do
      expect(results_updated.objects(scope).map(&:id)).to eq([new_updated.id, old_updated.id, very_old_updated.id])
    end
  end

  context 'sort: updated_asc' do
    let(:sort) { 'updated_asc' }

    it 'sorts results by updated_asc' do
      expect(results_updated.objects(scope).map(&:id)).to eq([very_old_updated.id, old_updated.id, new_updated.id])
    end
  end
end

RSpec.shared_examples 'search results sorted by popularity' do
  context 'sort: popularity_desc' do
    let(:sort) { 'popularity_desc' }

    it 'sorts results by upvotes' do
      expect(results_popular.objects(scope).map(&:id)).to eq([popular_result.id, less_popular_result.id, non_popular_result.id])
    end
  end

  context 'sort: popularity_asc' do
    let(:sort) { 'popularity_asc' }

    it 'sorts results by created_at' do
      expect(results_popular.objects(scope).map(&:id)).to eq([non_popular_result.id, less_popular_result.id, popular_result.id])
    end
  end
end