summaryrefslogtreecommitdiff
path: root/test/controllers/pages_controller_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/controllers/pages_controller_test.rb')
-rw-r--r--test/controllers/pages_controller_test.rb69
1 files changed, 68 insertions, 1 deletions
diff --git a/test/controllers/pages_controller_test.rb b/test/controllers/pages_controller_test.rb
index 3879014..732869b 100644
--- a/test/controllers/pages_controller_test.rb
+++ b/test/controllers/pages_controller_test.rb
@@ -1,5 +1,72 @@
1require 'test_helper' 1require 'test_helper'
2 2
3class PagesControllerTest < ActionController::TestCase 3class PagesControllerTest < ActionController::TestCase
4 # will be removed anyway 4 test "preview shows the autosave when a draft and an autosave both exist" do
5 login_as :quentin
6
7 node = Node.root.children.create!(:slug => "preview_retest")
8 node.draft.update!(:title => "draft title")
9 node.publish_draft!
10
11 node.draft
12 node.lock_for_editing!(users(:quentin))
13 node.autosave!({ :title => "draft title" }, users(:quentin))
14 node.save_draft!(users(:quentin))
15 node.autosave!({ :title => "autosave title" }, users(:quentin))
16
17 get :preview, params: { :id => node.draft_id }
18
19 assert_response :success
20 assert_match "autosave title", response.body
21 end
22
23 test "preview renders a headlined image on the autosave without crashing" do
24 login_as :quentin
25
26 node = Node.root.children.create!(:slug => "preview_retest_with_image")
27 node.lock_for_editing!(users(:quentin))
28 node.autosave!({ :title => "draft title" }, users(:quentin))
29 node.save_draft!(users(:quentin))
30 node.autosave!({ :title => "autosave title" }, users(:quentin))
31
32 asset = Asset.create!(:name => "test", :upload_content_type => "image/png")
33 node.autosave.related_assets.create!(:asset_id => asset.id, :position => 1, :headline => true)
34
35 get :preview, params: { :id => node.draft_id }
36
37 assert_response :success
38 assert_match "autosave title", response.body
39 end
40
41 test "preview shows the autosave when no draft exists at all" do
42 login_as :quentin
43
44 node = Node.root.children.create!(:slug => "preview_retest_no_draft")
45 node.draft.destroy
46 node.update_column(:draft_id, nil)
47
48 node.lock_for_editing!(users(:quentin))
49 node.autosave!({ :title => "autosave only title" }, users(:quentin))
50
51 asset = Asset.create!(:name => "test", :upload_content_type => "image/png")
52 node.autosave.related_assets.create!(:asset_id => asset.id, :position => 1)
53
54 get :preview, params: { :id => node.autosave_id }
55
56 assert_response :success
57 assert_match "autosave only title", response.body
58 end
59
60 test "preview shows head normally when there is no draft or autosave" do
61 login_as :quentin
62
63 node = Node.root.children.create!(:slug => "preview_retest_head_only")
64 node.draft.update!(:title => "head title")
65 node.publish_draft!
66
67 get :preview, params: { :id => node.head_id }
68
69 assert_response :success
70 assert_match "head title", response.body
71 end
5end 72end