diff options
Diffstat (limited to 'test/models')
| -rw-r--r-- | test/models/node_test.rb | 35 |
1 files changed, 10 insertions, 25 deletions
diff --git a/test/models/node_test.rb b/test/models/node_test.rb index ab66f81..ba38340 100644 --- a/test/models/node_test.rb +++ b/test/models/node_test.rb | |||
| @@ -268,7 +268,6 @@ class NodeTest < ActiveSupport::TestCase | |||
| 268 | assert_equal "quentin", node.head.user.login | 268 | assert_equal "quentin", node.head.user.login |
| 269 | end | 269 | end |
| 270 | 270 | ||
| 271 | |||
| 272 | test "update?" do | 271 | test "update?" do |
| 273 | Node.root.descendants.delete_all | 272 | Node.root.descendants.delete_all |
| 274 | updates = Node.root.children.create!( :slug => "updates" ) | 273 | updates = Node.root.children.create!( :slug => "updates" ) |
| @@ -359,6 +358,16 @@ class NodeTest < ActiveSupport::TestCase | |||
| 359 | assert_equal @user1, node.reload.lock_owner | 358 | assert_equal @user1, node.reload.lock_owner |
| 360 | end | 359 | end |
| 361 | 360 | ||
| 361 | test "title reads from autosave when neither draft nor head exists yet" do | ||
| 362 | node = Node.root.children.create!(:slug => "title_autosave_only_test") | ||
| 363 | node.draft.destroy | ||
| 364 | node.update_column(:draft_id, nil) | ||
| 365 | node.lock_for_editing!(users(:quentin)) | ||
| 366 | node.autosave!({ :title => "autosave-only title" }, users(:quentin)) | ||
| 367 | |||
| 368 | assert_equal "autosave-only title", node.reload.title | ||
| 369 | end | ||
| 370 | |||
| 362 | test "revert! is a safe no-op on a fresh node with only a draft" do | 371 | test "revert! is a safe no-op on a fresh node with only a draft" do |
| 363 | node = create_node_with_draft | 372 | node = create_node_with_draft |
| 364 | node.lock_for_editing!(@user1) | 373 | node.lock_for_editing!(@user1) |
| @@ -537,30 +546,6 @@ class NodeTest < ActiveSupport::TestCase | |||
| 537 | assert result.index(mine) < result.index(someone_elses_newer) | 546 | assert result.index(mine) < result.index(someone_elses_newer) |
| 538 | end | 547 | end |
| 539 | 548 | ||
| 540 | test "recently_changed includes a node whose head was recently published" do | ||
| 541 | node = Node.root.children.create!(:slug => "recent_changed_published") | ||
| 542 | find_or_create_draft(node, @user1) | ||
| 543 | node.autosave!({:title => "v1"}, @user1) | ||
| 544 | node.save_draft!(@user1) | ||
| 545 | node.publish_draft! | ||
| 546 | |||
| 547 | assert_includes Node.recently_changed, node | ||
| 548 | end | ||
| 549 | |||
| 550 | test "recently_changed excludes a node only touched by locking or unlocking after an old publish" do | ||
| 551 | node = Node.root.children.create!(:slug => "recent_changed_lock_only") | ||
| 552 | find_or_create_draft(node, @user1) | ||
| 553 | node.autosave!({:title => "v1"}, @user1) | ||
| 554 | node.save_draft!(@user1) | ||
| 555 | node.publish_draft! | ||
| 556 | node.head.update_column(:updated_at, 20.days.ago) | ||
| 557 | |||
| 558 | node.lock_for_editing!(@user1) | ||
| 559 | node.unlock! | ||
| 560 | |||
| 561 | assert_not_includes Node.recently_changed, node | ||
| 562 | end | ||
| 563 | |||
| 564 | test "autosave! carries over the current related assets to the newly created autosave row" do | 549 | test "autosave! carries over the current related assets to the newly created autosave row" do |
| 565 | node = Node.root.children.create!(:slug => "autosave_asset_carryover_test") | 550 | node = Node.root.children.create!(:slug => "autosave_asset_carryover_test") |
| 566 | user = User.find_by_login("quentin") | 551 | user = User.find_by_login("quentin") |
