OSDN Git Service

Improve development fixtures
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Fri, 5 Apr 2013 12:42:07 +0000 (15:42 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Fri, 5 Apr 2013 12:42:07 +0000 (15:42 +0300)
db/fixtures/development/06_teams.rb
db/fixtures/development/09_issues.rb
db/fixtures/development/10_merge_requests.rb
db/fixtures/development/11_keys.rb

index 9fbf21a..f82977d 100644 (file)
@@ -1,22 +1,14 @@
-Gitlab::Seeder.quiet do
-
-  (1..300).each  do |i|
-    # Random Project
-    project = Project.scoped.sample
-
-    # Random user
-    user = User.not_in_project(project).sample
+ActiveRecord::Base.observers.disable :all
 
-    next unless user
-
-    UsersProject.seed(:id, [{
-      id: i,
-      project_id: project.id,
-      user_id: user.id,
-      project_access: UsersProject.access_roles.values.sample
-    }])
-
-    print('.')
+Gitlab::Seeder.quiet do
+  Project.all.each do |project|
+    project.team << [User.first, :master]
+    print '.'
+
+    User.all.sample(rand(10)).each do |user|
+      role = [:master, :developer, :reporter].sample
+      project.team << [user, role]
+      print '.'
+    end
   end
 end
-puts "OK".green
index cd9b2b3..d13d520 100644 (file)
@@ -1,3 +1,5 @@
+ActiveRecord::Base.observers.disable :all
+
 Gitlab::Seeder.quiet do
   (1..300).each  do |i|
     # Random Project
index 6d111b2..4d0ec1e 100644 (file)
@@ -1,5 +1,7 @@
+ActiveRecord::Base.observers.disable :all
+
 Gitlab::Seeder.quiet do
-  (1..300).each  do |i|
+  (1..100).each  do |i|
     # Random Project
     project = Project.all.sample
 
@@ -8,19 +10,28 @@ Gitlab::Seeder.quiet do
 
     next unless user
 
+    next if project.empty_repo?
+
+    branches = project.repository.branch_names.sample(2)
+
     user_id = user.id
     MergeRequestObserver.current_user = user
     MergeRequest.seed(:id, [{
       id: i,
-      source_branch: 'master',
-      target_branch: 'feature',
+      source_branch: branches.first,
+      target_branch: branches.last,
       project_id: project.id,
       author_id: user_id,
       assignee_id: user_id,
-      state: ['opened', 'closed'].sample,
       milestone: project.milestones.sample,
       title: Faker::Lorem.sentence(6)
     }])
     print('.')
   end
 end
+
+puts 'Load diffs for Merge Requests (it will take some time)...'
+MergeRequest.all.each do |mr|
+  mr.reload_code
+  print '.'
+end
index 8e4724c..4b53ff4 100644 (file)
@@ -1,3 +1,4 @@
+ActiveRecord::Base.observers.enable :all
 
 Gitlab::Seeder.quiet do
   User.first(30).each_with_index do |user, i|