diff options
Diffstat (limited to 'test/models')
| -rw-r--r-- | test/models/node_test.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/models/node_test.rb b/test/models/node_test.rb index 15e908b..de540f8 100644 --- a/test/models/node_test.rb +++ b/test/models/node_test.rb | |||
| @@ -537,4 +537,28 @@ class NodeTest < ActiveSupport::TestCase | |||
| 537 | assert_includes Node.editor_search("Backspace Spiegelgraben"), node | 537 | assert_includes Node.editor_search("Backspace Spiegelgraben"), node |
| 538 | assert_equal 0, Node.editor_search("Backspace Nonexistentstreet").count | 538 | assert_equal 0, Node.editor_search("Backspace Nonexistentstreet").count |
| 539 | end | 539 | end |
| 540 | |||
| 541 | test "drafts_and_autosaves without a user sorts by recency only" do | ||
| 542 | older = Node.root.children.create!(:slug => "drafts_order_older") | ||
| 543 | older.find_or_create_draft(@user1) | ||
| 544 | newer = Node.root.children.create!(:slug => "drafts_order_newer") | ||
| 545 | newer.find_or_create_draft(@user1) | ||
| 546 | |||
| 547 | result = Node.drafts_and_autosaves.to_a | ||
| 548 | assert result.index(newer) < result.index(older) | ||
| 549 | end | ||
| 550 | |||
| 551 | test "drafts_and_autosaves with a user puts their own locked nodes first, regardless of recency" do | ||
| 552 | mine = Node.root.children.create!(:slug => "drafts_order_mine") | ||
| 553 | mine.lock_for_editing!(@user1) | ||
| 554 | mine.autosave!({:title => "mine"}, @user1) | ||
| 555 | |||
| 556 | someone_elses_newer = Node.root.children.create!(:slug => "drafts_order_theirs") | ||
| 557 | other_user = User.find_by_login("quentin") | ||
| 558 | someone_elses_newer.lock_for_editing!(other_user) | ||
| 559 | someone_elses_newer.autosave!({:title => "theirs"}, other_user) | ||
| 560 | |||
| 561 | result = Node.drafts_and_autosaves(current_user_id: @user1.id).to_a | ||
| 562 | assert result.index(mine) < result.index(someone_elses_newer) | ||
| 563 | end | ||
| 540 | end | 564 | end |
