Commit aeb5a01ed15929b116d1750b7da2433498c305e0

Authored by Dmitriy Zaporozhets
2 parents 2fbb4b05 f5c4bda8

Merge branch 'improve-dev-seeds' into 'master'

Improve dev seeds
db/fixtures/development/04_project.rb
... ... @@ -40,7 +40,8 @@ Gitlab::Seeder.quiet do
40 40 import_url: url,
41 41 namespace_id: group.id,
42 42 name: project_path.titleize,
43   - description: Faker::Lorem.sentence
  43 + description: Faker::Lorem.sentence,
  44 + visibility_level: Gitlab::VisibilityLevel.values.sample
44 45 }
45 46  
46 47 project = Projects::CreateService.new(User.first, params).execute
... ...
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
... ...