summaryrefslogtreecommitdiff
path: root/spec/contracts/provider/states/project/merge_request/show_state.rb
blob: 46f322f723a30fa3f94599f67224efdc07e63bd6 (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
# frozen_string_literal: true

Pact.provider_states_for "MergeRequest#show" do
  provider_state "a merge request with diffs exists" do
    set_up do
      user = User.find_by(name: Provider::UsersHelper::CONTRACT_USER_NAME)
      namespace = create(:namespace, name: 'gitlab-org')
      project = create(:project, :custom_repo, name: 'gitlab-qa', namespace: namespace, files: {})

      project.add_maintainer(user)

      merge_request = create(:merge_request_with_multiple_diffs, source_project: project)
      merge_request_diff = create(:merge_request_diff, merge_request: merge_request)

      create(:merge_request_diff_file, :new_file, merge_request_diff: merge_request_diff)
    end
  end

  provider_state "a merge request exists" do
    set_up do
      user = User.find_by(name: Provider::UsersHelper::CONTRACT_USER_NAME)
      namespace = create(:namespace, name: 'gitlab-org')
      project = create(:project, :custom_repo, name: 'gitlab-qa', namespace: namespace, files: {})

      project.add_maintainer(user)

      merge_request = create(:merge_request, source_project: project)
      merge_request_diff = create(:merge_request_diff, merge_request: merge_request)

      create(:merge_request_diff_file, :new_file, merge_request_diff: merge_request_diff)
    end
  end

  provider_state "a merge request with discussions exists" do
    set_up do
      user = User.find_by(name: Provider::UsersHelper::CONTRACT_USER_NAME)
      namespace = create(:namespace, name: 'gitlab-org')
      project = create(:project, name: 'gitlab-qa', namespace: namespace)

      project.add_maintainer(user)

      merge_request = create(:merge_request_with_diffs, source_project: project, author: user)

      create(:discussion_note_on_merge_request, noteable: merge_request, project: project, author: user)
    end
  end
end