4253: Add tests for renaming repos.
[arvados.git] / services / api / test / unit / repository_test.rb
index ef780f893cad7b8ede7ca62fbd51c8f7108d86bf..a6b0be5f0a4eeff024136422fff08d3d6f182533 100644 (file)
@@ -263,4 +263,26 @@ class RepositoryTest < ActiveSupport::TestCase
       assert_equal modtime_was, r.modified_at
     end
   end
+
+  ### Renaming
+
+  test "non-admin can rename own repo" do
+    act_as_user users(:active) do
+      assert repositories(:foo).update_attributes(name: 'active/foo12345')
+    end
+  end
+
+  test "top level repo can be touched by non-admin with can_manage" do
+    add_permission_link users(:active), repositories(:arvados), 'can_manage'
+    act_as_user users(:active) do
+      assert changed_repo(:arvados, modified_at: Time.now).save
+    end
+  end
+
+  test "top level repo cannot be renamed by non-admin with can_manage" do
+    add_permission_link users(:active), repositories(:arvados), 'can_manage'
+    act_as_user users(:active) do
+      assert_not_allowed { changed_repo(:arvados, name: 'xarvados').save }
+    end
+  end
 end