From a20daa48a9b8331264b21571ff4bd709efa5b1a7 Mon Sep 17 00:00:00 2001
From: Coung Ngo <cngo@gitlab.com>
Date: Tue, 11 Jan 2022 15:11:58 +0000
Subject: [PATCH] Delete paginatable_namespace_drop_down_for_project_creation
 FF

Delete feature flag for New Project page dropdown now that
the feature flag has been defaulted to true with no issues

https://gitlab.com/gitlab-org/gitlab/-/issues/338930

Changelog: removed
---
 app/finders/groups/user_groups_finder.rb      |  3 +-
 .../resolvers/users/groups_resolver.rb        |  4 --
 app/graphql/types/user_interface.rb           |  3 +-
 app/helpers/namespaces_helper.rb              |  7 ----
 .../projects/_new_project_fields.html.haml    | 23 +++--------
 ...mespace_drop_down_for_project_creation.yml |  8 ----
 doc/api/graphql/reference/index.md            |  8 ++--
 ee/spec/features/projects/new_project_spec.rb | 19 ++++++----
 qa/qa/page/project/new.rb                     |  1 -
 .../1_manage/project/create_project_spec.rb   |  3 +-
 .../online_garbage_collection_spec.rb         |  5 +--
 .../project/project_audit_logs_spec.rb        |  3 +-
 .../project/project_templates_spec.rb         |  6 +--
 .../import_export/import_file_spec.rb         |  3 +-
 spec/features/projects/new_project_spec.rb    | 38 +++++++++----------
 .../projects/user_creates_project_spec.rb     | 17 +++------
 .../finders/groups/user_groups_finder_spec.rb | 17 ---------
 .../resolvers/users/groups_resolver_spec.rb   |  8 ----
 spec/helpers/namespaces_helper_spec.rb        | 38 -------------------
 19 files changed, 51 insertions(+), 163 deletions(-)
 delete mode 100644 config/feature_flags/development/paginatable_namespace_drop_down_for_project_creation.yml

diff --git a/app/finders/groups/user_groups_finder.rb b/app/finders/groups/user_groups_finder.rb
index 5946e3a89331d..f4aed413867dc 100644
--- a/app/finders/groups/user_groups_finder.rb
+++ b/app/finders/groups/user_groups_finder.rb
@@ -53,8 +53,7 @@ def by_permission_scope
     end
 
     def permission_scope_create_projects?
-      params[:permission_scope] == :create_projects &&
-        Feature.enabled?(:paginatable_namespace_drop_down_for_project_creation, current_user, default_enabled: :yaml)
+      params[:permission_scope] == :create_projects
     end
   end
 end
diff --git a/app/graphql/resolvers/users/groups_resolver.rb b/app/graphql/resolvers/users/groups_resolver.rb
index eafb56d8f4c49..d8492a8fcf947 100644
--- a/app/graphql/resolvers/users/groups_resolver.rb
+++ b/app/graphql/resolvers/users/groups_resolver.rb
@@ -23,10 +23,6 @@ class GroupsResolver < BaseResolver
         Preloaders::GroupPolicyPreloader.new(nodes, current_user).execute
       end
 
-      def ready?(**args)
-        Feature.enabled?(:paginatable_namespace_drop_down_for_project_creation, current_user, default_enabled: :yaml)
-      end
-
       private
 
       def resolve_groups(**args)
diff --git a/app/graphql/types/user_interface.rb b/app/graphql/types/user_interface.rb
index 7cc201b6df457..6bb4cb29cdd00 100644
--- a/app/graphql/types/user_interface.rb
+++ b/app/graphql/types/user_interface.rb
@@ -64,8 +64,7 @@ module UserInterface
           description: 'Group memberships of the user.'
     field :groups,
           resolver: Resolvers::Users::GroupsResolver,
-          description: 'Groups where the user has access. Will always return `null` if ' \
-                       '`paginatable_namespace_drop_down_for_project_creation` feature flag is disabled.'
+          description: 'Groups where the user has access.'
     field :group_count,
           resolver: Resolvers::Users::GroupCountResolver,
           description: 'Group count for the user.'
diff --git a/app/helpers/namespaces_helper.rb b/app/helpers/namespaces_helper.rb
index 6acec417a7549..64b58d28fc974 100644
--- a/app/helpers/namespaces_helper.rb
+++ b/app/helpers/namespaces_helper.rb
@@ -49,13 +49,6 @@ def namespace_icon(namespace, size = 40)
     end
   end
 
-  def namespaces_options_with_developer_maintainer_access(options = {})
-    selected = options.delete(:selected) || :current_user
-    options[:groups] = current_user.manageable_groups_with_routes(include_groups_with_developer_maintainer_access: true)
-
-    namespaces_options(selected, **options)
-  end
-
   def cascading_namespace_settings_popover_data(attribute, group, settings_path_helper)
     locked_by_ancestor = group.namespace_settings.public_send("#{attribute}_locked_by_ancestor?") # rubocop:disable GitlabSecurity/PublicSend
 
diff --git a/app/views/projects/_new_project_fields.html.haml b/app/views/projects/_new_project_fields.html.haml
index b1412b4dc65f1..0b5da84e4e3a0 100644
--- a/app/views/projects/_new_project_fields.html.haml
+++ b/app/views/projects/_new_project_fields.html.haml
@@ -15,23 +15,12 @@
     .input-group.gl-flex-nowrap
       - if current_user.can_select_namespace?
         - namespace_id = namespace_id_from(params)
-        - if Feature.enabled?(:paginatable_namespace_drop_down_for_project_creation, current_user, default_enabled: :yaml)
-          .js-vue-new-project-url-select{ data: { namespace_full_path: GroupFinder.new(current_user).execute(id: namespace_id)&.full_path,
-            namespace_id: namespace_id,
-            root_url: root_url,
-            track_label: track_label,
-            user_namespace_full_path: current_user.namespace.full_path,
-            user_namespace_id: current_user.namespace.id } }
-        - else
-          .input-group-prepend.flex-shrink-0.has-tooltip{ title: root_url }
-            .input-group-text
-              = root_url
-          = f.select(:namespace_id,
-                     namespaces_options_with_developer_maintainer_access(selected: namespace_id,
-                                                                        display_path: true,
-                                                                        extra_group: namespace_id),
-                     {},
-                     { class: 'select2 js-select-namespace qa-project-namespace-select block-truncated', data: { track_label: "#{track_label}", track_action: "activate_form_input", track_property: "project_path", track_value: "", qa_selector: "select_namespace_dropdown" }})
+        .js-vue-new-project-url-select{ data: { namespace_full_path: GroupFinder.new(current_user).execute(id: namespace_id)&.full_path,
+          namespace_id: namespace_id,
+          root_url: root_url,
+          track_label: track_label,
+          user_namespace_full_path: current_user.namespace.full_path,
+          user_namespace_id: current_user.namespace.id } }
       - else
         .input-group-prepend.static-namespace.flex-shrink-0.has-tooltip{ title: user_url(current_user.username) + '/' }
           .input-group-text.border-0
diff --git a/config/feature_flags/development/paginatable_namespace_drop_down_for_project_creation.yml b/config/feature_flags/development/paginatable_namespace_drop_down_for_project_creation.yml
deleted file mode 100644
index f0f60d4d0b791..0000000000000
--- a/config/feature_flags/development/paginatable_namespace_drop_down_for_project_creation.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: paginatable_namespace_drop_down_for_project_creation
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66112
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/338930
-milestone: '14.3'
-type: development
-group: group::project management
-default_enabled: true
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index 80c9e94415abc..966e20e16b447 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -12078,7 +12078,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
 
 ##### `MergeRequestAssignee.groups`
 
-Groups where the user has access. Will always return `null` if `paginatable_namespace_drop_down_for_project_creation` feature flag is disabled.
+Groups where the user has access.
 
 Returns [`GroupConnection`](#groupconnection).
 
@@ -12330,7 +12330,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
 
 ##### `MergeRequestReviewer.groups`
 
-Groups where the user has access. Will always return `null` if `paginatable_namespace_drop_down_for_project_creation` feature flag is disabled.
+Groups where the user has access.
 
 Returns [`GroupConnection`](#groupconnection).
 
@@ -15509,7 +15509,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
 
 ##### `UserCore.groups`
 
-Groups where the user has access. Will always return `null` if `paginatable_namespace_drop_down_for_project_creation` feature flag is disabled.
+Groups where the user has access.
 
 Returns [`GroupConnection`](#groupconnection).
 
@@ -18741,7 +18741,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
 
 ###### `User.groups`
 
-Groups where the user has access. Will always return `null` if `paginatable_namespace_drop_down_for_project_creation` feature flag is disabled.
+Groups where the user has access.
 
 Returns [`GroupConnection`](#groupconnection).
 
diff --git a/ee/spec/features/projects/new_project_spec.rb b/ee/spec/features/projects/new_project_spec.rb
index 08a700d60362e..6aeaed6024f42 100644
--- a/ee/spec/features/projects/new_project_spec.rb
+++ b/ee/spec/features/projects/new_project_spec.rb
@@ -6,7 +6,6 @@
   let(:user) { create(:admin) }
 
   before do
-    stub_feature_flags(paginatable_namespace_drop_down_for_project_creation: false)
     sign_in(user)
   end
 
@@ -235,20 +234,23 @@ def visit_create_from_group_template_tab
             page.find(".template-option input[value='#{subgroup1_project1.id}']").first(:xpath, './/..').click
             wait_for_all_requests
           end
+
+          # Open Project URL dropdown
+          click_button group1.name
         end
 
         context 'when template is selected' do
           context 'namespace selector' do
             it "only shows the template's group hierarchy options" do
               page.within('#create-from-template-pane') do
-                elements = page.find_all("#project_namespace_id option:not(.hidden)", visible: false).map { |e| e['data-name'] }
-                expect(elements).to contain_exactly(group1.name, subgroup1.name, subsubgroup1.name)
+                elements = find_all('.gl-new-dropdown-item-text-wrapper').map { |e| e['innerText'] }
+                expect(elements).to contain_exactly(group1.full_path, subgroup1.full_path, subsubgroup1.full_path)
               end
             end
 
             it 'does not show the user namespace options' do
               page.within('#create-from-template-pane') do
-                expect(page.find_all("#project_namespace_id optgroup.hidden[label='Users']", visible: false)).not_to be_empty
+                expect(page).not_to have_text 'Users'
               end
             end
           end
@@ -262,16 +264,17 @@ def visit_create_from_group_template_tab
               click_button 'Change template'
 
               page.find(:xpath, "//input[@type='radio' and @value='#{subgroup1_project1.id}']/..").click
-
               wait_for_all_requests
             end
+
+            # Open Project URL dropdown
+            click_button group1.name
           end
 
           it 'list the appropriate groups' do
             page.within('#create-from-template-pane') do
-              elements = page.find_all("#project_namespace_id option:not(.hidden)", visible: false).map { |e| e['data-name'] }
-
-              expect(elements).to contain_exactly(group1.name, subgroup1.name, subsubgroup1.name)
+              elements = find_all('.gl-new-dropdown-item-text-wrapper').map { |e| e['innerText'] }
+              expect(elements).to contain_exactly(group1.full_path, subgroup1.full_path, subsubgroup1.full_path)
             end
           end
         end
diff --git a/qa/qa/page/project/new.rb b/qa/qa/page/project/new.rb
index 5ff52527774e4..42baf1f3f87dc 100644
--- a/qa/qa/page/project/new.rb
+++ b/qa/qa/page/project/new.rb
@@ -14,7 +14,6 @@ class New < Page::Base
         view 'app/views/projects/_new_project_fields.html.haml' do
           element :initialize_with_readme_checkbox
           element :initialize_with_sast_checkbox
-          element :project_namespace_field, 'namespaces_options' # rubocop:disable QA/ElementWithPattern
           element :project_name, 'text_field :name' # rubocop:disable QA/ElementWithPattern
           element :project_path, 'text_field :path' # rubocop:disable QA/ElementWithPattern
           element :project_description, 'text_area :description' # rubocop:disable QA/ElementWithPattern
diff --git a/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb
index 7f40818da0338..0063ce2613acf 100644
--- a/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb
+++ b/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb
@@ -2,7 +2,7 @@
 
 module QA
   RSpec.describe 'Manage', :smoke do
-    describe 'Project', :requires_admin do
+    describe 'Project' do
       shared_examples 'successful project creation' do
         it 'creates a new project' do
           Page::Project::Show.perform do |project_page|
@@ -17,7 +17,6 @@ module QA
       end
 
       before do
-        Runtime::Feature.enable(:paginatable_namespace_drop_down_for_project_creation)
         Flow::Login.sign_in
         project
       end
diff --git a/qa/qa/specs/features/browser_ui/5_package/container_registry/online_garbage_collection_spec.rb b/qa/qa/specs/features/browser_ui/5_package/container_registry/online_garbage_collection_spec.rb
index e8d936e67b125..56e3ec8238883 100644
--- a/qa/qa/specs/features/browser_ui/5_package/container_registry/online_garbage_collection_spec.rb
+++ b/qa/qa/specs/features/browser_ui/5_package/container_registry/online_garbage_collection_spec.rb
@@ -2,8 +2,7 @@
 
 module QA
   RSpec.describe 'Package' do
-    # TODO: Remove :requires_admin when the `Runtime::Feature.enable` method call is removed
-    describe 'Container Registry Online Garbage Collection', :registry_gc, :requires_admin, only: { subdomain: %i[pre] } do
+    describe 'Container Registry Online Garbage Collection', :registry_gc, only: { subdomain: %i[pre] } do
       let(:group) { Resource::Group.fabricate_via_api! }
 
       let(:imported_project) do
@@ -65,8 +64,6 @@ module QA
       end
 
       before do
-        Runtime::Feature.enable(:paginatable_namespace_drop_down_for_project_creation)
-
         Flow::Login.sign_in
 
         imported_project
diff --git a/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb b/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb
index 2456324916dae..42b9acb75fbee 100644
--- a/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb
+++ b/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb
@@ -11,7 +11,7 @@ module QA
       end
     end
 
-    describe 'Project', :requires_admin do
+    describe 'Project' do
       let(:project) do
         Resource::Project.fabricate_via_api! do |project|
           project.name = 'awesome-project'
@@ -20,7 +20,6 @@ module QA
       end
 
       before do
-        Runtime::Feature.enable(:paginatable_namespace_drop_down_for_project_creation)
         sign_in
       end
 
diff --git a/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_templates_spec.rb b/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_templates_spec.rb
index ae04a17c51740..fab7a9f20a133 100644
--- a/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_templates_spec.rb
+++ b/qa/qa/specs/features/ee/browser_ui/1_manage/project/project_templates_spec.rb
@@ -2,7 +2,7 @@
 
 module QA
   RSpec.describe 'Manage' do
-    describe 'Project templates', :requires_admin, quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/350279', type: :investigating } do
+    describe 'Project templates', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/350279', type: :investigating } do
       include Support::API
 
       before(:all) do
@@ -36,10 +36,6 @@ module QA
         end
       end
 
-      before do
-        Runtime::Feature.enable(:paginatable_namespace_drop_down_for_project_creation)
-      end
-
       context 'built-in', :requires_admin do
         before do
           Flow::Login.sign_in_as_admin
diff --git a/spec/features/projects/import_export/import_file_spec.rb b/spec/features/projects/import_export/import_file_spec.rb
index 3afd193765226..2fbec4e22f4d5 100644
--- a/spec/features/projects/import_export/import_file_spec.rb
+++ b/spec/features/projects/import_export/import_file_spec.rb
@@ -10,12 +10,11 @@
   let(:export_path) { "#{Dir.tmpdir}/import_file_spec" }
 
   before do
-    stub_feature_flags(paginatable_namespace_drop_down_for_project_creation: false)
     stub_uploads_object_storage(FileUploader)
     allow_next_instance_of(Gitlab::ImportExport) do |instance|
       allow(instance).to receive(:storage_path).and_return(export_path)
     end
-    gitlab_sign_in(user)
+    sign_in(user)
   end
 
   after do
diff --git a/spec/features/projects/new_project_spec.rb b/spec/features/projects/new_project_spec.rb
index 4dedd5689de2b..f1786c1be40aa 100644
--- a/spec/features/projects/new_project_spec.rb
+++ b/spec/features/projects/new_project_spec.rb
@@ -6,10 +6,6 @@
   include Select2Helper
   include Spec::Support::Helpers::Features::TopNavSpecHelpers
 
-  before do
-    stub_feature_flags(paginatable_namespace_drop_down_for_project_creation: false)
-  end
-
   context 'as a user' do
     let(:user) { create(:user) }
 
@@ -179,7 +175,7 @@
       it 'does not show the initialize with Readme checkbox on "Import project" tab' do
         visit new_project_path
         click_link 'Import project'
-        first('.js-import-git-toggle-button').click
+        click_button 'Repo by URL'
 
         page.within '#import-project-pane' do
           expect(page).not_to have_css('input#project_initialize_with_readme')
@@ -196,9 +192,7 @@
         end
 
         it 'selects the user namespace' do
-          page.within('#blank-project-pane') do
-            expect(page).to have_select('project[namespace_id]', visible: false, selected: user.username)
-          end
+          expect(page).to have_button user.username
         end
       end
 
@@ -212,9 +206,7 @@
         end
 
         it 'selects the group namespace' do
-          page.within('#blank-project-pane') do
-            expect(page).to have_select('project[namespace_id]', visible: false, selected: group.name)
-          end
+          expect(page).to have_button group.name
         end
       end
 
@@ -229,9 +221,7 @@
         end
 
         it 'selects the group namespace' do
-          page.within('#blank-project-pane') do
-            expect(page).to have_select('project[namespace_id]', visible: false, selected: subgroup.full_path)
-          end
+          expect(page).to have_button subgroup.full_path
         end
       end
 
@@ -249,22 +239,30 @@
         end
 
         it 'enables the correct visibility options' do
-          select2(user.namespace_id, from: '#project_namespace_id')
+          click_button public_group.full_path
+          click_button user.username
+
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::PRIVATE}")).not_to be_disabled
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::INTERNAL}")).not_to be_disabled
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::PUBLIC}")).not_to be_disabled
 
-          select2(public_group.id, from: '#project_namespace_id')
+          click_button user.username
+          click_button public_group.full_path
+
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::PRIVATE}")).not_to be_disabled
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::INTERNAL}")).not_to be_disabled
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::PUBLIC}")).not_to be_disabled
 
-          select2(internal_group.id, from: '#project_namespace_id')
+          click_button public_group.full_path
+          click_button internal_group.full_path
+
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::PRIVATE}")).not_to be_disabled
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::INTERNAL}")).not_to be_disabled
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::PUBLIC}")).to be_disabled
 
-          select2(private_group.id, from: '#project_namespace_id')
+          click_button internal_group.full_path
+          click_button private_group.full_path
+
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::PRIVATE}")).not_to be_disabled
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::INTERNAL}")).to be_disabled
           expect(find("#project_visibility_level_#{Gitlab::VisibilityLevel::PUBLIC}")).to be_disabled
@@ -355,9 +353,7 @@
         end
 
         it 'selects the group namespace' do
-          page.within('#blank-project-pane') do
-            expect(page).to have_select('project[namespace_id]', visible: false, selected: group.full_path)
-          end
+          expect(page).to have_button group.full_path
         end
       end
     end
diff --git a/spec/features/projects/user_creates_project_spec.rb b/spec/features/projects/user_creates_project_spec.rb
index 17c65e645f455..c4e2e3353a452 100644
--- a/spec/features/projects/user_creates_project_spec.rb
+++ b/spec/features/projects/user_creates_project_spec.rb
@@ -6,7 +6,6 @@
   let(:user) { create(:user) }
 
   before do
-    stub_feature_flags(paginatable_namespace_drop_down_for_project_creation: false)
     sign_in(user)
     create(:personal_key, user: user)
   end
@@ -44,9 +43,7 @@
     expect(page).to have_checked_field 'Initialize repository with a README'
     expect(page).to have_checked_field 'Enable Static Application Security Testing (SAST)'
 
-    page.within('#content-body') do
-      click_button('Create project')
-    end
+    click_button('Create project')
 
     project = Project.last
 
@@ -96,12 +93,10 @@
       fill_in :project_name, with: 'A Subgroup Project'
       fill_in :project_path, with: 'a-subgroup-project'
 
-      page.find('.js-select-namespace').click
-      page.find("div[role='option']", text: subgroup.full_path).click
+      click_button user.username
+      click_button subgroup.full_path
 
-      page.within('#content-body') do
-        click_button('Create project')
-      end
+      click_button('Create project')
 
       expect(page).to have_content("Project 'A Subgroup Project' was successfully created")
 
@@ -125,8 +120,8 @@
       fill_in :project_name, with: 'a-new-project'
       fill_in :project_path, with: 'a-new-project'
 
-      page.find('.js-select-namespace').click
-      page.find("div[role='option']", text: group.full_path).click
+      click_button user.username
+      click_button group.full_path
 
       page.within('#content-body') do
         click_button('Create project')
diff --git a/spec/finders/groups/user_groups_finder_spec.rb b/spec/finders/groups/user_groups_finder_spec.rb
index 4cce3ab72eb1f..a4a9b8d16d07f 100644
--- a/spec/finders/groups/user_groups_finder_spec.rb
+++ b/spec/finders/groups/user_groups_finder_spec.rb
@@ -59,23 +59,6 @@
         )
       end
 
-      context 'when paginatable_namespace_drop_down_for_project_creation feature flag is disabled' do
-        before do
-          stub_feature_flags(paginatable_namespace_drop_down_for_project_creation: false)
-        end
-
-        it 'ignores project creation scope and returns all groups where the user is a direct member' do
-          is_expected.to match(
-            [
-              public_maintainer_group,
-              private_maintainer_group,
-              public_developer_group,
-              guest_group
-            ]
-          )
-        end
-      end
-
       context 'when search is provided' do
         let(:arguments) { { permission_scope: :create_projects, search: 'maintainer' } }
 
diff --git a/spec/graphql/resolvers/users/groups_resolver_spec.rb b/spec/graphql/resolvers/users/groups_resolver_spec.rb
index 0fdb6da5ae96c..5ac7aac489839 100644
--- a/spec/graphql/resolvers/users/groups_resolver_spec.rb
+++ b/spec/graphql/resolvers/users/groups_resolver_spec.rb
@@ -26,14 +26,6 @@
       public_maintainer_group.add_maintainer(user)
     end
 
-    context 'when paginatable_namespace_drop_down_for_project_creation feature flag is disabled' do
-      before do
-        stub_feature_flags(paginatable_namespace_drop_down_for_project_creation: false)
-      end
-
-      it { is_expected.to be_nil }
-    end
-
     context 'when resolver object is current user' do
       context 'when permission is :create_projects' do
         let(:group_arguments) { { permission_scope: :create_projects } }
diff --git a/spec/helpers/namespaces_helper_spec.rb b/spec/helpers/namespaces_helper_spec.rb
index 6eb560e3f5c85..00aa0fd1cbaef 100644
--- a/spec/helpers/namespaces_helper_spec.rb
+++ b/spec/helpers/namespaces_helper_spec.rb
@@ -188,44 +188,6 @@
         helper.namespaces_options
       end
     end
-
-    describe 'include_groups_with_developer_maintainer_access parameter' do
-      context 'when DEVELOPER_MAINTAINER_PROJECT_ACCESS is set for a project' do
-        let!(:admin_project_creation_level) { ::Gitlab::Access::DEVELOPER_MAINTAINER_PROJECT_ACCESS }
-
-        it 'returns groups where user is a developer' do
-          allow(helper).to receive(:current_user).and_return(user)
-          stub_application_setting(default_project_creation: ::Gitlab::Access::MAINTAINER_PROJECT_ACCESS)
-          admin_group.add_user(user, GroupMember::DEVELOPER)
-
-          options = helper.namespaces_options_with_developer_maintainer_access
-
-          expect(options).to include(admin_group.name)
-          expect(options).not_to include(subgroup1.name)
-          expect(options).to include(subgroup2.name)
-          expect(options).not_to include(subgroup3.name)
-          expect(options).to include(user_group.name)
-          expect(options).to include(user.name)
-        end
-      end
-
-      context 'when DEVELOPER_MAINTAINER_PROJECT_ACCESS is set globally' do
-        it 'return groups where default is not overridden' do
-          allow(helper).to receive(:current_user).and_return(user)
-          stub_application_setting(default_project_creation: ::Gitlab::Access::DEVELOPER_MAINTAINER_PROJECT_ACCESS)
-          admin_group.add_user(user, GroupMember::DEVELOPER)
-
-          options = helper.namespaces_options_with_developer_maintainer_access
-
-          expect(options).to include(admin_group.name)
-          expect(options).to include(subgroup1.name)
-          expect(options).to include(subgroup2.name)
-          expect(options).not_to include(subgroup3.name)
-          expect(options).to include(user_group.name)
-          expect(options).to include(user.name)
-        end
-      end
-    end
   end
 
   describe '#cascading_namespace_settings_popover_data' do
-- 
GitLab