BigW Consortium Gitlab

ci_lint_spec.rb 1.22 KB
Newer Older
1 2
require 'spec_helper'

3
describe 'CI Lint' do
4 5 6 7
  before do
    login_as :user
  end

8
  describe 'YAML parsing' do
9 10 11 12
    before do
      visit ci_lint_path
      fill_in 'content', with: yaml_content
      click_on 'Validate'
13 14
    end

15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
    context 'YAML is correct' do
      let(:yaml_content) do
        File.read(Rails.root.join('spec/support/gitlab_stubs/gitlab_ci.yml'))
      end

      it 'Yaml parsing' do
        within "table" do
          expect(page).to have_content('Job - rspec')
          expect(page).to have_content('Job - spinach')
          expect(page).to have_content('Deploy Job - staging')
          expect(page).to have_content('Deploy Job - production')
        end
      end
    end

    context 'YAML is incorrect' do
      let(:yaml_content) { '' }

      it 'displays information about an error' do
        expect(page).to have_content('Status: syntax is incorrect')
        expect(page).to have_content('Error: Please provide content of .gitlab-ci.yml')
      end
    end
38 39 40 41 42 43 44 45

    describe 'YAML revalidate' do
      let(:yaml_content) { 'my yaml content' }

      it 'loads previous YAML content after validation' do
        expect(page).to have_field('content', with: 'my yaml content', type: 'textarea')
      end
    end
46 47
  end
end