diff options
Diffstat (limited to 'spec/features/projects/new_project_spec.rb')
-rw-r--r-- | spec/features/projects/new_project_spec.rb | 52 |
1 files changed, 22 insertions, 30 deletions
diff --git a/spec/features/projects/new_project_spec.rb b/spec/features/projects/new_project_spec.rb index a1523f9eb08..c57432ae94e 100644 --- a/spec/features/projects/new_project_spec.rb +++ b/spec/features/projects/new_project_spec.rb @@ -4,6 +4,7 @@ require 'spec_helper' RSpec.describe 'New project', :js do include Select2Helper + include Spec::Support::Helpers::Features::TopNavSpecHelpers shared_examples 'combined_menu: feature flag examples' do context 'as a user' do @@ -45,34 +46,39 @@ RSpec.describe 'New project', :js do end it 'when in control it renders "project" in the new projects dropdown' do - pending_on_combined_menu_flag - stub_experiments(new_repo: :control) visit new_project_path - find('#nav-projects-dropdown').click - - page.within('#nav-projects-dropdown') do - expect(page).to have_selector('a', text: 'Create blank project') - expect(page).to have_selector('a', text: 'Import project') - expect(page).to have_no_selector('a', text: 'Create blank project/repository') - expect(page).to have_no_selector('a', text: 'Import project/repository') + open_top_nav_projects + + within_top_nav do + if Feature.enabled?(:combined_menu, default_enabled: :yaml) + expect(page).to have_selector('a', text: 'Create new project') + expect(page).to have_no_selector('a', text: 'Create blank project/repository') + else + expect(page).to have_selector('a', text: 'Create blank project') + expect(page).to have_selector('a', text: 'Import project') + expect(page).to have_no_selector('a', text: 'Create blank project/repository') + expect(page).to have_no_selector('a', text: 'Import project/repository') + end end end it 'when in candidate it renders "project/repository" in the new projects dropdown' do - pending_on_combined_menu_flag - stub_experiments(new_repo: :candidate) visit new_project_path - find('#nav-projects-dropdown').click + open_top_nav_projects - page.within('#nav-projects-dropdown') do - expect(page).to have_selector('a', text: 'Create blank project/repository') - expect(page).to have_selector('a', text: 'Import project/repository') + within_top_nav do + if Feature.enabled?(:combined_menu, default_enabled: :yaml) + expect(page).to have_selector('a', text: 'Create new project') + else + expect(page).to have_selector('a', text: 'Create blank project/repository') + expect(page).to have_selector('a', text: 'Import project/repository') + end end end end @@ -356,16 +362,6 @@ RSpec.describe 'New project', :js do expect(git_import_instructions).to have_content 'Git repository URL' end - it 'reports error if repo URL does not end with .git' do - fill_in 'project_import_url', with: 'http://foo/bar' - fill_in 'project_name', with: 'import-project-without-git-suffix' - fill_in 'project_path', with: 'import-project-without-git-suffix' - - click_button 'Create project' - - expect(page).to have_text('Please provide a valid URL ending with .git') - end - it 'keeps "Import project" tab open after form validation error' do collision_project = create(:project, name: 'test-name-collision', namespace: user.namespace) @@ -422,7 +418,7 @@ RSpec.describe 'New project', :js do end end - context 'with combined_menu: feature flag on' do + context 'with combined_menu feature flag on' do let(:needs_rewrite_for_combined_menu_flag_on) { true } before do @@ -441,8 +437,4 @@ RSpec.describe 'New project', :js do it_behaves_like 'combined_menu: feature flag examples' end - - def pending_on_combined_menu_flag - pending 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56587' if needs_rewrite_for_combined_menu_flag_on - end end |