Commit f5c4bda8fe53549f2ba63484359543f272954a61

Authored by Dmitriy Zaporozhets
1 parent 4f670fbe

Improve MR seeds

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing 1 changed file with 29 additions and 41 deletions   Show diff stats
db/fixtures/development/10_merge_requests.rb
1 1 Gitlab::Seeder.quiet do
2   - (1..100).each do |i|
3   - # Random Project
4   - project = Project.all.sample
5   -
6   - # Random user
7   - user = project.team.users.sample
8   -
9   - next unless user
10   -
11   - next if project.empty_repo?
12   -
13   - branches = project.repository.branch_names.sample(2)
14   -
15   - next if branches.uniq.size < 2
16   -
17   - user_id = user.id
18   -
19   - Gitlab::Seeder.by_user(user) do
20   - MergeRequest.seed(:id, [{
21   - id: i,
22   - source_branch: branches.first,
23   - target_branch: branches.last,
24   - source_project_id: project.id,
25   - target_project_id: project.id,
26   - author_id: user_id,
27   - assignee_id: user_id,
28   - milestone: project.milestones.sample,
29   - title: Faker::Lorem.sentence(6)
30   - }])
  2 + Project.all.reject(&:empty_repo?).each do |project|
  3 + branches = project.repository.branch_names
  4 +
  5 + branches.each do |branch_name|
  6 + break if branches.size < 2
  7 + source_branch = branches.pop
  8 + target_branch = branches.pop
  9 +
  10 + # Random user
  11 + user = project.team.users.sample
  12 + next unless user
  13 +
  14 + params = {
  15 + source_branch: source_branch,
  16 + target_branch: target_branch,
  17 + title: Faker::Lorem.sentence(6),
  18 + description: Faker::Lorem.sentences(3).join(" ")
  19 + }
  20 +
  21 + merge_request = MergeRequests::CreateService.new(project, user, params).execute
  22 +
  23 + if merge_request.valid?
  24 + merge_request.assignee = user
  25 + merge_request.milestone = project.milestones.sample
  26 + merge_request.save
  27 + print '.'
  28 + else
  29 + print 'F'
  30 + end
31 31 end
32   - print('.')
33 32 end
34 33 end
35   -
36   -MergeRequest.all.map do |mr|
37   - mr.set_iid
38   - mr.save
39   -end
40   -
41   -puts 'Load diffs for Merge Requests (it will take some time)...'
42   -MergeRequest.all.each do |mr|
43   - mr.reload_code
44   - print '.'
45   -end
... ...