diff options
Diffstat (limited to 'spec/features/refactor_blob_viewer_disabled/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb')
-rw-r--r-- | spec/features/refactor_blob_viewer_disabled/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/spec/features/refactor_blob_viewer_disabled/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb b/spec/features/refactor_blob_viewer_disabled/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb new file mode 100644 index 00000000000..4290df08e66 --- /dev/null +++ b/spec/features/refactor_blob_viewer_disabled/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb @@ -0,0 +1,80 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'User follows pipeline suggest nudge spec when feature is enabled', :js do + include CookieHelper + + let(:project) { create(:project, :empty_repo) } + let(:user) { project.first_owner } + + before do + stub_feature_flags(refactor_blob_viewer: false) + end + + describe 'viewing the new blob page' do + before do + sign_in(user) + end + + context 'when the page is loaded from the link using the suggest_gitlab_ci_yml param' do + before do + visit namespace_project_new_blob_path(namespace_id: project.namespace, project_id: project, id: 'master', suggest_gitlab_ci_yml: 'true') + end + + it 'pre-fills .gitlab-ci.yml for file name' do + file_name = page.find_by_id('file_name') + + expect(file_name.value).to have_content('.gitlab-ci.yml') + end + + it 'chooses the .gitlab-ci.yml Template Type' do + template_type = page.find(:css, '.template-type-selector .dropdown-toggle-text') + + expect(template_type.text).to have_content('.gitlab-ci.yml') + end + + it 'displays suggest_gitlab_ci_yml popover' do + page.find(:css, '.gitlab-ci-yml-selector').click + + popover_selector = '.suggest-gitlab-ci-yml' + + expect(page).to have_css(popover_selector, visible: true) + + page.within(popover_selector) do + expect(page).to have_content('1/2: Choose a template') + end + end + + it 'sets the commit cookie when the Commit button is clicked' do + click_button 'Commit changes' + + expect(get_cookie("suggest_gitlab_ci_yml_commit_#{project.id}")).to be_present + end + end + + context 'when the page is visited without the param' do + before do + visit namespace_project_new_blob_path(namespace_id: project.namespace, project_id: project, id: 'master') + end + + it 'does not pre-fill .gitlab-ci.yml for file name' do + file_name = page.find_by_id('file_name') + + expect(file_name.value).not_to have_content('.gitlab-ci.yml') + end + + it 'does not choose the .gitlab-ci.yml Template Type' do + template_type = page.find(:css, '.template-type-selector .dropdown-toggle-text') + + expect(template_type.text).to have_content('Select a template type') + end + + it 'does not display suggest_gitlab_ci_yml popover' do + popover_selector = '.b-popover.suggest-gitlab-ci-yml' + + expect(page).not_to have_css(popover_selector, visible: true) + end + end + end +end |