summaryrefslogtreecommitdiff
path: root/spec/features/project_variables_spec.rb
blob: 1a951980141e4c1a16127a1937b1dcc154539164 (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
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe 'Project variables', :js, feature_category: :pipeline_authoring do
  let(:user)     { create(:user) }
  let(:project)  { create(:project) }
  let(:variable) { create(:ci_variable, key: 'test_key', value: 'test_value', masked: true) }
  let(:page_path) { project_settings_ci_cd_path(project) }

  before do
    sign_in(user)
    project.add_maintainer(user)
    project.variables << variable
    visit page_path
    wait_for_requests
  end

  it_behaves_like 'variable list'

  it 'adds a new variable with an environment scope' do
    click_button('Add variable')

    page.within('#add-ci-variable') do
      fill_in 'Key', with: 'akey'
      find('#ci-variable-value').set('akey_value')

      click_button('All (default)')
      fill_in 'Search', with: 'review/*'
      find('[data-testid="create-wildcard-button"]').click

      click_button('Add variable')
    end

    wait_for_requests

    page.within('[data-testid="ci-variable-table"]') do
      expect(find('.js-ci-variable-row:first-child [data-label="Environments"]').text).to eq('review/*')
    end
  end
end