5417: a few changes from based on review feedback. also, account for dataclass=File...
[arvados.git] / apps / workbench / test / integration / user_manage_account_test.rb
index f2686e24708e32296acbd99e2eb49e3a6bd640fc..6d680e2d67fe2926c6cbb9177970d5ef9bdeec86 100644 (file)
@@ -135,27 +135,32 @@ class UserManageAccountTest < ActionDispatch::IntegrationTest
   end
 
   test "request shell access" do
+    ActionMailer::Base.deliveries = []
     visit page_with_token('spectator', '/manage_account')
     assert_text 'You do not have access to any virtual machines'
     click_link 'Send request for shell access'
-    assert_text 'A request for shell access was sent.'
-    assert_no_text 'You do not have access to any virtual machines.'
-    assert_no_selector 'a', text: 'Send request for shell access'
+
+    # Button text changes to "sending...", then back to normal. In the
+    # test suite we can't depend on confirming the "sending..." state
+    # before it goes back to normal, though.
+    ## assert_selector 'a', text: 'Sending request...'
+    assert_selector 'a', text: 'Send request for shell access'
+    assert_text 'A request for shell access was sent'
 
     # verify that the email was sent
     user = api_fixture('users')['spectator']
-    found_email = false
-    ActionMailer::Base.deliveries.andand.each do |email|
-      full_name = (user['first_name'] || "") + " " + (user['last_name'] || "")
-      expected = "Shell account request from #{full_name} (#{user['email']}, #{user['uuid']})"
+    full_name = "#{user['first_name']} #{user['last_name']}"
+    expected = "Shell account request from #{full_name} (#{user['email']}, #{user['uuid']})"
+    found_email = 0
+    ActionMailer::Base.deliveries.each do |email|
       if email.subject.include?(expected)
-        found_email = true
-        break
+        found_email += 1
       end
     end
-    assert_equal true, found_email, "Expected email after requesting shell access"
+    assert_equal 1, found_email, "Expected email after requesting shell access"
 
-    # revisit the page and verify the request sent message along with the request button.
+    # Revisit the page and verify the request sent message along with
+    # the request button.
     within('.navbar-fixed-top') do
       find('a', text: 'spectator').click
       within('.dropdown-menu') do
@@ -166,4 +171,14 @@ class UserManageAccountTest < ActionDispatch::IntegrationTest
     assert_text 'A request for shell access was sent on '
     assert_selector 'a', text: 'Send request for shell access'
   end
+
+  test "create new repository" do
+    visit page_with_token("active_trustedclient", "/manage_account")
+    click_on "Add new repository"
+    within ".modal-dialog" do
+      fill_in "Name", with: "workbenchtest"
+      click_on "Create"
+    end
+    assert_text ":active/workbenchtest.git"
+  end
 end