5493: improve test to verify Next button disables when last page is accessed
authorRadhika Chippada <radhika@curoverse.com>
Tue, 31 Mar 2015 13:55:59 +0000 (09:55 -0400)
committerRadhika Chippada <radhika@curoverse.com>
Tue, 31 Mar 2015 13:55:59 +0000 (09:55 -0400)
apps/workbench/app/views/application/_getting_started_shown.html.erb [deleted file]
apps/workbench/app/views/layouts/body.html.erb
apps/workbench/test/integration/application_layout_test.rb

diff --git a/apps/workbench/app/views/application/_getting_started_shown.html.erb b/apps/workbench/app/views/application/_getting_started_shown.html.erb
deleted file mode 100644 (file)
index bbf2314..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<%
-  if current_user
-    prefs = current_user.prefs
-    if !prefs[:getting_started_shown]
-      prefs[:getting_started_shown] = Time.now
-      current_user.update_attributes prefs: prefs.to_json
-    end
-  end
-%>
index 85505353a9065c1b3645bc4c6fb5f08378923341..e126cabd9c93317a004d074a622e085e0cee1b36 100644 (file)
   <script>
     $("#getting-started-modal-window").modal('show');
   </script>
-  <%= render partial: 'getting_started_shown' %>
+  <%
+    prefs = current_user.prefs
+    prefs[:getting_started_shown] = Time.now
+    current_user.update_attributes prefs: prefs.to_json
+  %>
 <% end %>
index b85977f213099cd6427fad00dc5eff5335c42dee..667fd30f46253c3450e02981b550b61c9c89fe66 100644 (file)
@@ -156,10 +156,29 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest
       assert_text 'Getting Started'
       assert_selector 'button:not([disabled])', text: 'Next'
       assert_no_selector 'button:not([disabled])', text: 'Prev'
+
+      # Use Next button to enable Prev button
       click_button 'Next'
       assert_selector 'button:not([disabled])', text: 'Prev'  # Prev button is now enabled
       click_button 'Prev'
       assert_no_selector 'button:not([disabled])', text: 'Prev'  # Prev button is again disabled
+
+      # Click Next until last page is reached and verify that it is disabled
+      foundDisabledNext = false
+      (0..20).each do |i|   # currently we only have 4 pages, and don't expect to have more than 20 in future
+        click_button 'Next'
+        begin
+          find('button:not([disabled])', text: 'Next')
+        rescue => e
+          foundDisabledNext = true if e.message.include?('Unable to find')
+          break
+        end
+      end
+      assert_no_selector 'button:not([disabled])', text: 'Next'  # Next button is disabled
+      assert_selector 'button:not([disabled])', text: 'Prev'     # Prev button is enabled
+      click_button 'Prev'
+      assert_selector 'button:not([disabled])', text: 'Next'     # Next button is now enabled
+
       first('button', text: 'x').click
     end
     assert_text 'Active pipelines' # seeing dashboard now