From 6d088b26a956cb94e096ad323c8432caa09a5e69 Mon Sep 17 00:00:00 2001
From: Phil Hughes <me@iamphill.com>
Date: Thu, 23 Jun 2022 11:29:37 +0100
Subject: [PATCH] Revert auto assign merge request

Closes https://gitlab.com/gitlab-org/gitlab/-/issues/365891
---
 .../javascripts/issuable/issuable_form.js     |  3 +-
 app/assets/javascripts/users_select/index.js  | 18 +++------
 .../create_merge_request_spec.rb              |  2 +
 ...r_creates_branch_and_merge_request_spec.rb | 14 -------
 .../user_creates_merge_request_spec.rb        | 38 +++++++------------
 .../multiple_assignees_mr_shared_examples.rb  |  2 +-
 ...ple_assignees_widget_mr_shared_examples.rb |  2 +-
 ...uest_author_auto_assign_shared_examples.rb |  8 ----
 8 files changed, 23 insertions(+), 64 deletions(-)
 delete mode 100644 spec/support/shared_examples/merge_request_author_auto_assign_shared_examples.rb

diff --git a/app/assets/javascripts/issuable/issuable_form.js b/app/assets/javascripts/issuable/issuable_form.js
index 38453072af825..e4b635b47c250 100644
--- a/app/assets/javascripts/issuable/issuable_form.js
+++ b/app/assets/javascripts/issuable/issuable_form.js
@@ -68,8 +68,7 @@ export default class IssuableForm {
     this.gfmAutoComplete = new GfmAutoComplete(
       gl.GfmAutoComplete && gl.GfmAutoComplete.dataSources,
     ).setup();
-    const autoAssignToMe = form.get(0).id === 'new_merge_request';
-    this.usersSelect = new UsersSelect(undefined, undefined, { autoAssignToMe });
+    this.usersSelect = new UsersSelect();
     this.reviewersSelect = new UsersSelect(undefined, '.js-reviewer-search');
     this.zenMode = new ZenMode();
 
diff --git a/app/assets/javascripts/users_select/index.js b/app/assets/javascripts/users_select/index.js
index e1e5cc565c64b..f7a5589af908d 100644
--- a/app/assets/javascripts/users_select/index.js
+++ b/app/assets/javascripts/users_select/index.js
@@ -35,7 +35,7 @@ function UsersSelect(currentUser, els, options = {}) {
     }
   }
 
-  const { handleClick, autoAssignToMe } = options;
+  const { handleClick } = options;
   const userSelect = this;
 
   $els.each((i, dropdown) => {
@@ -172,7 +172,10 @@ function UsersSelect(currentUser, els, options = {}) {
       });
     };
 
-    const onAssignToMeClick = () => {
+    $assignToMeLink.on('click', (e) => {
+      e.preventDefault();
+      $(e.currentTarget).hide();
+
       if ($dropdown.data('multiSelect')) {
         assignYourself();
         checkMaxSelect();
@@ -191,19 +194,8 @@ function UsersSelect(currentUser, els, options = {}) {
           .text(gon.current_user_fullname)
           .removeClass('is-default');
       }
-    };
-
-    $assignToMeLink.on('click', (e) => {
-      e.preventDefault();
-      $(e.currentTarget).hide();
-      onAssignToMeClick();
     });
 
-    if (autoAssignToMe) {
-      $assignToMeLink.hide();
-      onAssignToMeClick();
-    }
-
     $block.on('click', '.js-assign-yourself', (e) => {
       e.preventDefault();
       return assignTo(userSelect.currentUser.id);
diff --git a/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb b/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb
index f4ed9f28dac13..25dec82b74c4e 100644
--- a/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb
+++ b/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb
@@ -24,6 +24,7 @@ module QA
         Resource::MergeRequest.fabricate_via_browser_ui! do |merge_request|
           merge_request.project = project
           merge_request.title = merge_request_title
+          merge_request.assignee = 'me'
           merge_request.description = merge_request_description
         end
 
@@ -53,6 +54,7 @@ module QA
           merge_request.description = merge_request_description
           merge_request.project = project
           merge_request.milestone = milestone
+          merge_request.assignee = 'me'
           merge_request.labels.push(label)
         end
 
diff --git a/spec/features/issues/user_creates_branch_and_merge_request_spec.rb b/spec/features/issues/user_creates_branch_and_merge_request_spec.rb
index 1c707466b5130..ae1bce7ea4ce7 100644
--- a/spec/features/issues/user_creates_branch_and_merge_request_spec.rb
+++ b/spec/features/issues/user_creates_branch_and_merge_request_spec.rb
@@ -25,20 +25,6 @@
       sign_in(user)
     end
 
-    context 'when ’Create merge request’ button is clicked' do
-      before do
-        visit project_issue_path(project, issue)
-
-        wait_for_requests
-
-        click_button('Create merge request')
-
-        wait_for_requests
-      end
-
-      it_behaves_like 'merge request author auto assign'
-    end
-
     context 'when interacting with the dropdown' do
       before do
         visit project_issue_path(project, issue)
diff --git a/spec/features/merge_request/user_creates_merge_request_spec.rb b/spec/features/merge_request/user_creates_merge_request_spec.rb
index 2bf8e9ba6a458..c8b22bb31253f 100644
--- a/spec/features/merge_request/user_creates_merge_request_spec.rb
+++ b/spec/features/merge_request/user_creates_merge_request_spec.rb
@@ -15,39 +15,27 @@
     sign_in(user)
   end
 
-  context 'when completed the compare branches form' do
-    before do
-      visit(project_new_merge_request_path(project))
+  it "creates a merge request" do
+    visit(project_new_merge_request_path(project))
 
-      find(".js-source-branch").click
-      click_link("fix")
+    find(".js-source-branch").click
+    click_link("fix")
 
-      find(".js-target-branch").click
-      click_link("feature")
+    find(".js-target-branch").click
+    click_link("feature")
 
-      click_button("Compare branches")
-    end
+    click_button("Compare branches")
 
-    it "shows merge request form" do
-      page.within('.merge-request-form') do
-        expect(page.find('#merge_request_description')['placeholder']).to eq 'Describe the goal of the changes and what reviewers should be aware of.'
-      end
+    page.within('.merge-request-form') do
+      expect(page.find('#merge_request_description')['placeholder']).to eq 'Describe the goal of the changes and what reviewers should be aware of.'
     end
 
-    context "when completed the merge request form" do
-      before do
-        fill_in("Title", with: title)
-        click_button("Create merge request")
-      end
+    fill_in("Title", with: title)
+    click_button("Create merge request")
 
-      it "creates a merge request" do
-        page.within(".merge-request") do
-          expect(page).to have_content(title)
-        end
-      end
+    page.within(".merge-request") do
+      expect(page).to have_content(title)
     end
-
-    it_behaves_like 'merge request author auto assign'
   end
 
   context "XSS branch name exists" do
diff --git a/spec/support/shared_examples/features/multiple_assignees_mr_shared_examples.rb b/spec/support/shared_examples/features/multiple_assignees_mr_shared_examples.rb
index 4565108b5e44c..9d023d9514a5c 100644
--- a/spec/support/shared_examples/features/multiple_assignees_mr_shared_examples.rb
+++ b/spec/support/shared_examples/features/multiple_assignees_mr_shared_examples.rb
@@ -4,7 +4,7 @@
   it "#{action} a MR with multiple assignees", :js do
     find('.js-assignee-search').click
     page.within '.dropdown-menu-user' do
-      click_link user.name unless action == 'creates'
+      click_link user.name
       click_link user2.name
     end
 
diff --git a/spec/support/shared_examples/features/multiple_assignees_widget_mr_shared_examples.rb b/spec/support/shared_examples/features/multiple_assignees_widget_mr_shared_examples.rb
index a44a699c87894..bbde448a1a13e 100644
--- a/spec/support/shared_examples/features/multiple_assignees_widget_mr_shared_examples.rb
+++ b/spec/support/shared_examples/features/multiple_assignees_widget_mr_shared_examples.rb
@@ -4,7 +4,7 @@
   it "#{action} a MR with multiple assignees", :js do
     find('.js-assignee-search').click
     page.within '.dropdown-menu-user' do
-      click_link user.name unless action == 'creates'
+      click_link user.name
       click_link user2.name
     end
 
diff --git a/spec/support/shared_examples/merge_request_author_auto_assign_shared_examples.rb b/spec/support/shared_examples/merge_request_author_auto_assign_shared_examples.rb
deleted file mode 100644
index d4986975f033a..0000000000000
--- a/spec/support/shared_examples/merge_request_author_auto_assign_shared_examples.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# frozen_string_literal: true
-
-RSpec.shared_examples 'merge request author auto assign' do
-  it 'populates merge request author as assignee' do
-    expect(find('.js-assignee-search')).to have_content(user.name)
-    expect(page).not_to have_content 'Assign yourself'
-  end
-end
-- 
GitLab