3686: add unit and controller tests for repository updates
authorRadhika Chippada <radhika@curoverse.com>
Wed, 28 Jan 2015 21:48:37 +0000 (16:48 -0500)
committerRadhika Chippada <radhika@curoverse.com>
Wed, 28 Jan 2015 21:48:37 +0000 (16:48 -0500)
apps/workbench/test/controllers/repositories_controller_test.rb
apps/workbench/test/unit/repository_test.rb [new file with mode: 0644]

index e45095c64c2b7d4e865bf2b81bc5553aef854083..1f1173eb3e0331fc7f2afb088a30c471001691db 100644 (file)
@@ -45,4 +45,22 @@ class RepositoriesControllerTest < ActionController::TestCase
   test "viewer cannot manage repository" do
     refute user_can_manage(:spectator, api_fixture("repositories")["arvados"])
   end
+
+  [
+    [:active, ['#Sharing', '#Advanced']],
+    [:admin,  ['#Attributes', '#Sharing', '#Advanced']],
+  ].each do |user, panes|
+    test "#{user} sees panes #{panes}" do
+      get :show, {
+        id: api_fixture('repositories')['foo']['uuid']
+      }, session_for(user)
+      assert_response :success
+
+      panes = css_select('[data-toggle=tab]').select do |pane|
+        pane_name = pane.attributes['href']
+        assert_equal true, (panes.include? pane_name),
+                     "Did not find pane #{pane_name}"
+      end
+    end
+  end
 end
diff --git a/apps/workbench/test/unit/repository_test.rb b/apps/workbench/test/unit/repository_test.rb
new file mode 100644 (file)
index 0000000..b3aa5da
--- /dev/null
@@ -0,0 +1,18 @@
+require 'test_helper'
+
+class RepositoryTest < ActiveSupport::TestCase
+  [
+    ['admin', true],
+    ['active', false],
+  ].each do |user, can_edit|
+    test "#{user} can edit attributes #{can_edit}" do
+      use_token user
+      attrs = Repository.new.editable_attributes
+      if can_edit
+        assert true, !attrs.empty?
+      else
+        assert true, attrs.empty?
+      end
+    end
+  end
+end