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 Gitlab::Seeder.quiet do 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 end 31 end
32 - print('.')  
33 end 32 end
34 end 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