summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/controllers/admin_controller_test.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/controllers/admin_controller_test.rb b/test/controllers/admin_controller_test.rb
index d6005ba..13cc1bb 100644
--- a/test/controllers/admin_controller_test.rb
+++ b/test/controllers/admin_controller_test.rb
@@ -14,4 +14,24 @@ class AdminControllerTest < ActionController::TestCase
14 get :index 14 get :index
15 assert_includes assigns(:drafts), node 15 assert_includes assigns(:drafts), node
16 end 16 end
17
18 test "my work list shows each matching node only once, even with several revisions by the same user" do
19 login_as :quentin
20 user = User.find_by_login("quentin")
21 node = Node.root.children.create!(:slug => "dedup_test")
22 node.lock_for_editing!(user)
23 node.autosave!({:title => "v1"}, user)
24 node.save_draft!(user)
25 node.publish_draft!
26 node.lock_for_editing!(user)
27 node.autosave!({:title => "v2"}, user)
28 node.save_draft!(user)
29 node.publish_draft!
30 # three pages now exist on this node, all touched by quentin --
31 # without DISTINCT, the join would return this node three times
32
33 get :index
34 matches = assigns(:mynodes).select { |n| n.id == node.id }
35 assert_equal 1, matches.length
36 end
17end 37end