diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
commit | 85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch) | |
tree | 9160f299afd8c80c038f08e1545be119f5e3f1e1 /spec/views/projects/ci/lints/show.html.haml_spec.rb | |
parent | 15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff) | |
download | gitlab-ce-85dc423f7090da0a52c73eb66faf22ddb20efff9.tar.gz |
Add latest changes from gitlab-org/gitlab@13-4-stable-ee
Diffstat (limited to 'spec/views/projects/ci/lints/show.html.haml_spec.rb')
-rw-r--r-- | spec/views/projects/ci/lints/show.html.haml_spec.rb | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/spec/views/projects/ci/lints/show.html.haml_spec.rb b/spec/views/projects/ci/lints/show.html.haml_spec.rb index a71cea6d3c8..f59ad3f5f84 100644 --- a/spec/views/projects/ci/lints/show.html.haml_spec.rb +++ b/spec/views/projects/ci/lints/show.html.haml_spec.rb @@ -4,16 +4,16 @@ require 'spec_helper' RSpec.describe 'projects/ci/lints/show' do include Devise::Test::ControllerHelpers - let(:project) { create(:project, :repository) } - let(:config_processor) { Gitlab::Ci::YamlProcessor.new(YAML.dump(content)) } + let_it_be(:user) { create(:user) } + let_it_be(:project) { create(:project, :repository) } + let(:lint) { Gitlab::Ci::Lint.new(project: project, current_user: user) } + let(:result) { lint.validate(YAML.dump(content)) } describe 'XSS protection' do before do assign(:project, project) - assign(:status, true) - assign(:builds, config_processor.builds) - assign(:stages, config_processor.stages) - assign(:jobs, config_processor.jobs) + assign(:result, result) + stub_feature_flags(ci_lint_vue: false) end context 'when builds attrbiutes contain HTML nodes' do @@ -66,10 +66,8 @@ RSpec.describe 'projects/ci/lints/show' do before do assign(:project, project) - assign(:status, true) - assign(:builds, config_processor.builds) - assign(:stages, config_processor.stages) - assign(:jobs, config_processor.jobs) + assign(:result, result) + stub_feature_flags(ci_lint_vue: false) end it 'shows the correct values' do @@ -85,13 +83,13 @@ RSpec.describe 'projects/ci/lints/show' do context 'when content has warnings' do before do - assign(:warnings, ['Warning 1', 'Warning 2']) + allow(result).to receive(:warnings).and_return(['Warning 1', 'Warning 2']) end it 'shows warning messages' do render - expect(rendered).to have_content('Warning:') + expect(rendered).to have_content('2 warning(s) found:') expect(rendered).to have_content('Warning 1') expect(rendered).to have_content('Warning 2') end @@ -99,11 +97,15 @@ RSpec.describe 'projects/ci/lints/show' do end context 'when the content is invalid' do + let(:content) { double(:content) } + before do + allow(result).to receive(:warnings).and_return(['Warning 1', 'Warning 2']) + allow(result).to receive(:errors).and_return(['Undefined error']) + assign(:project, project) - assign(:status, false) - assign(:errors, ['Undefined error']) - assign(:warnings, ['Warning 1', 'Warning 2']) + assign(:result, result) + stub_feature_flags(ci_lint_vue: false) end it 'shows error message' do @@ -117,7 +119,7 @@ RSpec.describe 'projects/ci/lints/show' do it 'shows warning messages' do render - expect(rendered).to have_content('Warning:') + expect(rendered).to have_content('2 warning(s) found:') expect(rendered).to have_content('Warning 1') expect(rendered).to have_content('Warning 2') end |