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

_form.haml_spec.rb « services « projects « views « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: f212fd78b1a61719e5ecd7ec90d922291367c751 (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
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe 'projects/services/_form' do
  let(:project) { create(:redmine_project) }
  let(:user) { create(:admin) }

  before do
    assign(:project, project)

    allow(controller).to receive(:current_user).and_return(user)

    allow(view).to receive_messages(
      current_user: user,
      can?: true,
      current_application_settings: Gitlab::CurrentSettings.current_application_settings,
      integration: project.redmine_integration,
      request: double(referer: '/services')
    )
  end

  context 'integrations form' do
    it 'does not render form element' do
      render

      expect(rendered).not_to have_selector('[data-testid="integration-form"]')
    end

    context 'when vue_integration_form feature flag is disabled' do
      before do
        stub_feature_flags(vue_integration_form: false)
      end

      it 'renders form element' do
        render

        expect(rendered).to have_selector('[data-testid="integration-form"]')
      end

      context 'commit_events and merge_request_events' do
        it 'display merge_request_events and commit_events descriptions' do
          allow(Integrations::Redmine).to receive(:supported_events).and_return(%w(commit merge_request))

          render

          expect(rendered).to have_css("input[name='redirect_to'][value='/services']", count: 1, visible: false)
        end
      end
    end
  end
end