diff --git a/qa/qa/git/repository.rb b/qa/qa/git/repository.rb index 09052a5e33f..f56fab63198 100644 --- a/qa/qa/git/repository.rb +++ b/qa/qa/git/repository.rb @@ -76,7 +76,7 @@ module QA end def configure_identity(name, email) - run(%Q{git config user.name #{name}}) + run(%Q{git config user.name "#{name}"}) run(%Q{git config user.email #{email}}) end diff --git a/qa/qa/resource/repository/commit.rb b/qa/qa/resource/repository/commit.rb index 8ce5a137486..4b5e8535ade 100644 --- a/qa/qa/resource/repository/commit.rb +++ b/qa/qa/resource/repository/commit.rb @@ -59,9 +59,9 @@ module QA def actions pending_actions = [] - @add_files.map { |file| pending_actions << file.merge({ action: "create" }) } if @add_files - @update_files.map { |file| pending_actions << file.merge({ action: "update" }) } if @update_files - pending_actions + pending_actions << @add_files.map { |file| file.merge({ action: "create" }) } if @add_files + pending_actions << @update_files.map { |file| file.merge({ action: "update" }) } if @update_files + pending_actions.flatten end private diff --git a/qa/qa/resource/user.rb b/qa/qa/resource/user.rb index c166a4d4b59..dcf145c9882 100644 --- a/qa/qa/resource/user.rb +++ b/qa/qa/resource/user.rb @@ -26,7 +26,7 @@ module QA end def name - @name ||= api_resource&.dig(:name) || username + @name ||= api_resource&.dig(:name) || "QA User #{unique_id}" end def email @@ -91,9 +91,8 @@ module QA def self.fabricate_or_use(username = nil, password = nil) if Runtime::Env.signup_disabled? - self.new.tap do |user| + self.fabricate_via_api! do |user| user.username = username - user.password = password end else self.fabricate! diff --git a/qa/qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb b/qa/qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb index ac5db53ad40..5ba434a7781 100644 --- a/qa/qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb +++ b/qa/qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb @@ -46,7 +46,7 @@ module QA project.standalone = true project.add_name_uuid = false project.name = project_name - project.path_with_namespace = "#{user.name}/#{project_name}" + project.path_with_namespace = "#{user.username}/#{project_name}" project.user = user project.api_client = api_client end diff --git a/qa/qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb b/qa/qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb index 5b4ffadf0ff..e42d538fdf8 100644 --- a/qa/qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb +++ b/qa/qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb @@ -6,8 +6,10 @@ module QA include Runtime::Fixtures def login - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.perform(&:sign_in_using_credentials) + unless Page::Main::Menu.perform(&:signed_in?) + Runtime::Browser.visit(:gitlab, Page::Main::Login) + Page::Main::Login.perform(&:sign_in_using_credentials) + end end before(:all) do diff --git a/qa/spec/resource/user_spec.rb b/qa/spec/resource/user_spec.rb index d612dfc530e..5845f7996a3 100644 --- a/qa/spec/resource/user_spec.rb +++ b/qa/spec/resource/user_spec.rb @@ -35,8 +35,8 @@ describe QA::Resource::User do end describe '#name' do - it 'defaults to the username' do - expect(subject.name).to eq(subject.username) + it 'defaults to a name based on the username' do + expect(subject.name).to match(/#{subject.username.tr('-', ' ')}/i) end it 'retrieves the name from the api_resource if present' do diff --git a/spec/features/issues/filtered_search/dropdown_milestone_spec.rb b/spec/features/issues/filtered_search/dropdown_milestone_spec.rb index 9a782950bf6..5272a970a60 100644 --- a/spec/features/issues/filtered_search/dropdown_milestone_spec.rb +++ b/spec/features/issues/filtered_search/dropdown_milestone_spec.rb @@ -39,16 +39,28 @@ describe 'Dropdown milestone', :js do end describe 'behavior' do - it 'opens when the search bar has milestone:' do - filtered_search.set('milestone:') + context 'filters by "milestone:"' do + before do + filtered_search.set('milestone:') + end - expect(page).to have_css(js_dropdown_milestone, visible: true) - end + it 'opens when the search bar has milestone:' do + expect(page).to have_css(js_dropdown_milestone, visible: true) + end - it 'closes when the search bar is unfocused' do - find('body').click + it 'closes when the search bar is unfocused' do + find('body').click - expect(page).to have_css(js_dropdown_milestone, visible: false) + expect(page).to have_css(js_dropdown_milestone, visible: false) + end + + it 'hides loading indicator when loaded' do + expect(find(js_dropdown_milestone)).not_to have_css('.filter-dropdown-loading') + end + + it 'loads all the milestones when opened' do + expect(filter_dropdown).to have_selector('.filter-dropdown .filter-dropdown-item', count: 6) + end end it 'shows loading indicator when opened' do @@ -58,18 +70,6 @@ describe 'Dropdown milestone', :js do expect(page).to have_css('#js-dropdown-milestone .filter-dropdown-loading', visible: true) end end - - it 'hides loading indicator when loaded' do - filtered_search.set('milestone:') - - expect(find(js_dropdown_milestone)).not_to have_css('.filter-dropdown-loading') - end - - it 'loads all the milestones when opened' do - filtered_search.set('milestone:') - - expect(filter_dropdown).to have_selector('.filter-dropdown .filter-dropdown-item', count: 6) - end end describe 'filtering' do