3171: Update tests to conform to new permission behavior.
[arvados.git] / services / api / test / factories / user.rb
index 7c48fc0ccc57c22944f2170c281ac52e51ac16b4..56e91252171d4ab4d70c633dc69ceaebe95505b1 100644 (file)
@@ -2,12 +2,22 @@ include CurrentApiClient
 
 FactoryGirl.define do
   factory :user do
-    before :create do
-      Thread.current[:user_was] = Thread.current[:user]
-      Thread.current[:user] = system_user
+    ignore do
+      join_groups []
     end
-    after :create do
-      Thread.current[:user] = Thread.current[:user_was]
+    after :create do |user, evaluator|
+      act_as_system_user do
+        evaluator.join_groups.each do |g|
+          Link.create!(tail_uuid: user.uuid,
+                       head_uuid: g.uuid,
+                       link_class: 'permission',
+                       name: 'can_read')
+          Link.create!(tail_uuid: g.uuid,
+                       head_uuid: user.uuid,
+                       link_class: 'permission',
+                       name: 'can_read')
+        end
+      end
     end
     first_name "Factory"
     last_name "Factory"
@@ -25,5 +35,10 @@ FactoryGirl.define do
         end
       end
     end
+    to_create do |instance|
+      act_as_system_user do
+        instance.save!
+      end
+    end
   end
 end