Merge branch '3824-task-work' closes #3824
[arvados.git] / apps / workbench / test / functional / users_controller_test.rb
index aadee36f656bfbd99bef0f113651b86f9701d2fc..a734391e98e6367edb3c0766e001e0a3ef0000a6 100644 (file)
@@ -1,9 +1,15 @@
 require 'test_helper'
 
 class UsersControllerTest < ActionController::TestCase
-  test "ignore previously valid token (for deleted user), don't crash" do
-    get :welcome, {}, session_for(:valid_token_deleted_user)
+  test "valid token works in functional test" do
+    get :index, {}, session_for(:active)
     assert_response :success
+  end
+
+  test "ignore previously valid token (for deleted user), don't crash" do
+    get :activity, {}, session_for(:valid_token_deleted_user)
+    assert_response :redirect
+    assert_match /^#{Rails.configuration.arvados_login_base}/, @response.redirect_url
     assert_nil assigns(:my_jobs)
     assert_nil assigns(:my_ssh_keys)
   end
@@ -17,4 +23,21 @@ class UsersControllerTest < ActionController::TestCase
     assert_nil assigns(:my_jobs)
     assert_nil assigns(:my_ssh_keys)
   end
+
+  test "show welcome page if no token provided" do
+    get :index, {}
+    assert_response :redirect
+    assert_match /\/users\/welcome/, @response.redirect_url
+  end
+
+  test "show repositories with read, write, or manage permission" do
+    get :manage_account, {}, session_for(:active)
+    assert_response :success
+    repos = assigns(:my_repositories)
+    assert repos
+    assert_not_empty repos, "my_repositories should not be empty"
+    editables = repos.collect { |r| !!assigns(:repo_writable)[r.uuid] }
+    assert_includes editables, true, "should have a writable repository"
+    assert_includes editables, false, "should have a readonly repository"
+  end
 end