diff options
Diffstat (limited to 'test/controllers/nodes_controller_test.rb')
| -rw-r--r-- | test/controllers/nodes_controller_test.rb | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/test/controllers/nodes_controller_test.rb b/test/controllers/nodes_controller_test.rb index 7e5a990..6e2ddb3 100644 --- a/test/controllers/nodes_controller_test.rb +++ b/test/controllers/nodes_controller_test.rb | |||
| @@ -427,11 +427,11 @@ class NodesControllerTest < ActionController::TestCase | |||
| 427 | test "show never renders a destroy link for events" do | 427 | test "show never renders a destroy link for events" do |
| 428 | login_as :quentin | 428 | login_as :quentin |
| 429 | node = create_node_with_published_page | 429 | node = create_node_with_published_page |
| 430 | Event.create!(node_id: node.id, start_time: Time.now, end_time: Time.now + 1.hour) | 430 | event = Event.create!(node_id: node.id, start_time: Time.now, end_time: Time.now + 1.hour) |
| 431 | 431 | ||
| 432 | get :show, params: { id: node.id } | 432 | get :show, params: { id: node.id } |
| 433 | assert_response :success | 433 | assert_response :success |
| 434 | assert_select "form.button_to.destructive", count: 0 | 434 | assert_select "form[action=?]", event_path(event), count: 0 |
| 435 | end | 435 | end |
| 436 | 436 | ||
| 437 | test "reverting from nodes#show returns to the show page, not the editor, even if a draft remains" do | 437 | test "reverting from nodes#show returns to the show page, not the editor, even if a draft remains" do |
| @@ -479,7 +479,8 @@ class NodesControllerTest < ActionController::TestCase | |||
| 479 | login_as :quentin | 479 | login_as :quentin |
| 480 | get :show, params: { :id => node.id } | 480 | get :show, params: { :id => node.id } |
| 481 | assert_response :success | 481 | assert_response :success |
| 482 | assert_select "form.destructive", :count => 0 | 482 | assert_select "form[action=?]", revert_node_path(node), count: 0 |
| 483 | assert_select "form[action=?]", trash_node_path(node), count: 1 | ||
| 483 | end | 484 | end |
| 484 | 485 | ||
| 485 | test "drafts includes a never-published node with only a draft" do | 486 | test "drafts includes a never-published node with only a draft" do |
| @@ -679,7 +680,7 @@ class NodesControllerTest < ActionController::TestCase | |||
| 679 | 680 | ||
| 680 | put :trash, params: { :id => node.id } | 681 | put :trash, params: { :id => node.id } |
| 681 | 682 | ||
| 682 | assert_redirected_to node_path(Node.trash) | 683 | assert_redirected_to trashed_nodes_path |
| 683 | assert node.reload.in_trash? | 684 | assert node.reload.in_trash? |
| 684 | end | 685 | end |
| 685 | 686 | ||
| @@ -722,6 +723,26 @@ class NodesControllerTest < ActionController::TestCase | |||
| 722 | delete :destroy, params: { :id => node.id } | 723 | delete :destroy, params: { :id => node.id } |
| 723 | 724 | ||
| 724 | assert_not Node.exists?(node.id) | 725 | assert_not Node.exists?(node.id) |
| 725 | assert_redirected_to node_path(Node.trash) | 726 | assert_redirected_to trashed_nodes_path |
| 727 | end | ||
| 728 | |||
| 729 | test "trash lists trashed subtree roots" do | ||
| 730 | login_as :quentin | ||
| 731 | node = Node.root.children.create!(:slug => "listed_in_trash") | ||
| 732 | node.trash!(users(:quentin)) | ||
| 733 | |||
| 734 | get :trashed | ||
| 735 | assert_response :success | ||
| 736 | assert_select "a[href=?]", node_path(node) | ||
| 737 | end | ||
| 738 | |||
| 739 | test "trashed rows carry provenance and a delete for childless roots" do | ||
| 740 | login_as :quentin | ||
| 741 | node = Node.root.children.create!(:slug => "provenance_test") | ||
| 742 | node.trash!(users(:quentin)) | ||
| 743 | |||
| 744 | get :trashed | ||
| 745 | assert_select "td", /quentin/ | ||
| 746 | assert_select "form[action=?]", node_path(node), count: 1 | ||
| 726 | end | 747 | end |
| 727 | end | 748 | end |
