summaryrefslogtreecommitdiff
path: root/spec/support/shared_examples/requests/api/issues/merge_requests_count_shared_examples.rb
blob: 90c1ed8d09b63937dd9c8b0f0ca575e0d59579c1 (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
# frozen_string_literal: true

def get_issue
  json_response.is_a?(Array) ? json_response.detect {|issue| issue['id'] == target_issue.id} : json_response
end

shared_examples 'accessible merge requests count' do
  it 'returns anonymous accessible merge requests count' do
    get api(api_url), params: { scope: 'all' }

    issue = get_issue
    expect(issue).not_to be_nil
    expect(issue['merge_requests_count']).to eq(1)
  end

  it 'returns guest accessible merge requests count' do
    get api(api_url, guest), params: { scope: 'all' }

    issue = get_issue
    expect(issue).not_to be_nil
    expect(issue['merge_requests_count']).to eq(1)
  end

  it 'returns reporter accessible merge requests count' do
    get api(api_url, user), params: { scope: 'all' }

    issue = get_issue
    expect(issue).not_to be_nil
    expect(issue['merge_requests_count']).to eq(2)
  end

  it 'returns admin accessible merge requests count' do
    get api(api_url, admin), params: { scope: 'all' }

    issue = get_issue
    expect(issue).not_to be_nil
    expect(issue['merge_requests_count']).to eq(2)
  end
end