]> git.openstreetmap.org Git - rails.git/blobdiff - test/system/history_test.rb
Merge remote-tracking branch 'upstream/pull/5805'
[rails.git] / test / system / history_test.rb
index 335063db9f171cea45714b8b5737c4d236fecfaa..4f2114f25dbc1669bc11642d86e75cf737a77b5b 100644 (file)
@@ -28,29 +28,61 @@ class HistoryTest < ApplicationSystemTestCase
       create_visible_changeset(user, "next-changeset")
     end
 
-    visit "#{user_path(user)}/history"
-    changesets = find "div.changesets"
-    changesets.assert_text "bottom-changeset-in-batch-1"
-    changesets.assert_no_text "bottom-changeset-in-batch-2"
-    changesets.assert_no_text "first-changeset-in-history"
-    changesets.assert_selector "ol", :count => 1
-    changesets.assert_selector "li", :count => PAGE_SIZE
-
-    changesets.find(".changeset_more a.btn").click
-    changesets.assert_text "bottom-changeset-in-batch-1"
-    changesets.assert_text "bottom-changeset-in-batch-2"
-    changesets.assert_no_text "first-changeset-in-history"
-    changesets.assert_selector "ol", :count => 1
-    changesets.assert_selector "li", :count => 2 * PAGE_SIZE
-
-    changesets.find(".changeset_more a.btn").click
-    changesets.assert_text "bottom-changeset-in-batch-1"
-    changesets.assert_text "bottom-changeset-in-batch-2"
-    changesets.assert_text "first-changeset-in-history"
-    changesets.assert_selector "ol", :count => 1
-    changesets.assert_selector "li", :count => (2 * PAGE_SIZE) + 1
+    assert_nothing_raised do
+      visit "#{user_path(user)}/history"
+      changesets = find "div.changesets"
+      changesets.assert_text "bottom-changeset-in-batch-1"
+      changesets.assert_no_text "bottom-changeset-in-batch-2"
+      changesets.assert_no_text "first-changeset-in-history"
+      changesets.assert_selector "ol", :count => 1
+      changesets.assert_selector "li", :count => PAGE_SIZE
+
+      changesets.find(".changeset_more a.btn").click
+      changesets.assert_text "bottom-changeset-in-batch-1"
+      changesets.assert_text "bottom-changeset-in-batch-2"
+      changesets.assert_no_text "first-changeset-in-history"
+      changesets.assert_selector "ol", :count => 1
+      changesets.assert_selector "li", :count => 2 * PAGE_SIZE
+
+      changesets.find(".changeset_more a.btn").click
+      changesets.assert_text "bottom-changeset-in-batch-1"
+      changesets.assert_text "bottom-changeset-in-batch-2"
+      changesets.assert_text "first-changeset-in-history"
+      changesets.assert_selector "ol", :count => 1
+      changesets.assert_selector "li", :count => (2 * PAGE_SIZE) + 1
+    end
   end
 
+  test "user history starts before specified changeset" do
+    user = create(:user)
+    changeset1 = create_visible_changeset(user, "1st-changeset-in-history")
+    changeset2 = create_visible_changeset(user, "2nd-changeset-in-history")
+    changeset3 = create(:changeset)
+
+    visit "#{user_path user}/history?before=#{changeset1.id}"
+
+    within_sidebar do
+      assert_no_link "1st-changeset-in-history"
+      assert_no_link "2nd-changeset-in-history"
+    end
+
+    visit "#{user_path user}/history?before=#{changeset2.id}"
+
+    within_sidebar do
+      assert_link "1st-changeset-in-history"
+      assert_no_link "2nd-changeset-in-history"
+    end
+
+    visit "#{user_path user}/history?before=#{changeset3.id}"
+
+    within_sidebar do
+      assert_link "1st-changeset-in-history"
+      assert_link "2nd-changeset-in-history"
+    end
+  end
+
+  private
+
   def create_visible_changeset(user, comment)
     create(:changeset, :user => user, :num_changes => 1) do |changeset|
       create(:changeset_tag, :changeset => changeset, :k => "comment", :v => comment)