Groups and subgroups seeding rake task is broken

Description

While working on adding requirement for Organizations, I ran into an issue with the group seed rake task.

First issue was a validation issue that could be fixed by adding a path to the user factory

# spec/factories/users.rb:24
user.assign_personal_namespace(create(:organization, path: "org-for-#{user.name.parameterize}")) if assign_ns

But then, another error shows up which is more complicated:

NoMethodError: undefined method flat_map' for #<Project id:22 4g9dz/gitlab-testcc2hjuntp3>`

Seems like the Project object is not a ApplicationRecord.

Steps to reproduce

on master branch, using gdk:

bundle exec rake "gitlab:seed:group_seed[3, root, default]"

Implementation Guide

  1. Apply the following patch
Subject: Remove issues from group seeder
---
Index: doc/development/rake_tasks.md
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/doc/development/rake_tasks.md b/doc/development/rake_tasks.md
--- a/doc/development/rake_tasks.md	(revision ee79b077284e2ff2add406cf3e5e79a0b1cfbafe)
+++ b/doc/development/rake_tasks.md	(date 1749449404821)
@@ -74,7 +74,7 @@
 
 #### Seeding groups with subgroups
 
-You can seed groups with subgroups that contain milestones/projects/issues
+You can seed groups with subgroups that contain milestones/projects
 with the `gitlab:seed:group_seed` task:
 
 ```shell
Index: lib/tasks/gitlab/seed/group_seed.rake
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/lib/tasks/gitlab/seed/group_seed.rake b/lib/tasks/gitlab/seed/group_seed.rake
--- a/lib/tasks/gitlab/seed/group_seed.rake	(revision ee79b077284e2ff2add406cf3e5e79a0b1cfbafe)
+++ b/lib/tasks/gitlab/seed/group_seed.rake	(date 1756205773086)
@@ -4,10 +4,6 @@
 #   1. 2 Subgroups per level
 #   1. 2 Users & group members per group
 #   1. 2 Epics, 2 Milestones & 2 Projects per group
-#   1. Project issues
-#
-# It also assigns each project's issue with one of group's or ascendants
-# groups milestone & epic.
 #
 # @param subgroups_depth - number of subgroup levels
 # @param username - user creating subgroups (i.e. GitLab admin)
@@ -207,37 +203,13 @@
           skip_disk_validation: true
         }
 
-        project = nil
-
         Sidekiq::Worker.skipping_transaction_check do
           project = ::Projects::CreateService.new(@user, params).execute
           project.send(:_run_after_commit_queue)
           project.import_state.send(:_run_after_commit_queue)
           project.repository.expire_all_method_caches
         end
-
-        create_project_issues(project)
-        assign_issues_to_epics_and_milestones(project)
       end
     end
   end
-
-  def create_project_issues(project)
-    seeder = Quality::Seeders::Issues.new(project: project)
-    seeder.seed(backfill_weeks: 2, average_issues_per_week: 2)
-  end
-
-  def assign_issues_to_epics_and_milestones(project)
-    group_ids = project.group.self_and_ancestors.map(&:id)
-
-    project.issues.each do |issue|
-      issue_params = {
-        milestone: Milestone.where(group: group_ids).sample
-      }
-
-      issue_params[:epic] = Epic.where(group: group_ids).sample if Gitlab.ee?
-
-      issue.update(issue_params)
-    end
-  end
 end
Edited by Shane Maglangit