summaryrefslogtreecommitdiff
path: root/test/functional/content_controller_test.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-06-27 22:52:50 +0200
committererdgeist <erdgeist@erdgeist.org>2026-06-27 22:52:50 +0200
commit9a19a0494ef51cdac9a78e24d517ca48ba44c453 (patch)
tree8eaae12d8047a40e29d3ea7ff3116b5c869e04bd /test/functional/content_controller_test.rb
parent85a01e35274b8d4d4165a7b26bd7986e211246bb (diff)
parent1853082fcd8c067390c246f9daa01a9b47387497 (diff)
Migration from Rails 2.3.5 to Rails 8.1 successful.
Merging dev branch.
Diffstat (limited to 'test/functional/content_controller_test.rb')
-rw-r--r--test/functional/content_controller_test.rb114
1 files changed, 0 insertions, 114 deletions
diff --git a/test/functional/content_controller_test.rb b/test/functional/content_controller_test.rb
deleted file mode 100644
index 4fb3035..0000000
--- a/test/functional/content_controller_test.rb
+++ /dev/null
@@ -1,114 +0,0 @@
1require 'test_helper'
2
3class ContentControllerTest < ActionController::TestCase
4
5 def setup
6 @root = Node.find(1)
7 @first_child = Node.find(2)
8 @second_child = Node.find(3)
9
10 @user1 = User.create :login => 'demo', :email => "f@b.com", :password => 'foobar', :password_confirmation => 'foobar'
11 @user2 = User.create :login => 'show', :email => "f@b.com", :password => 'foobar', :password_confirmation => 'foobar'
12 end
13
14 def test_custom_page_route
15 assert_recognizes({ :controller => 'content', :action => 'render_page', :locale => 'de', :page_path => ['foo', 'bar'] }, '/de/foo/bar')
16 assert_recognizes({ :controller => 'content', :action => 'render_page', :locale => 'en', :page_path => ['home'] }, '/en/home')
17 end
18
19 def test_render_404_when_no_page_was_found
20 get :render_page, :language => 'de', :page_path => ["wrong_path"]
21 assert_response 404
22 end
23
24 def test_rendering_a_page
25 assert Node.valid?
26 assert_not_nil first_child = Node.find_by_slug("first_child")
27 page = first_child.pages.create :title => "First Child"
28 first_child.head = page
29 first_child.save!
30
31 get :render_page, :language => 'de', :page_path => ["first_child"]
32 assert_response :success
33 assert_equal "layouts/application", @response.layout
34 end
35
36 def test_page_containing_aggregator
37 assert_not_nil Node.root
38
39 fill_pages_with_content
40
41 new_node = create_node_under_root "fnord"
42 draft = new_node.find_or_create_draft @user1
43 draft.body = '<aggregate tags="update" limit="20" />'
44 draft.save
45 new_node.publish_draft!
46
47 get :render_page, :locale => 'de', :page_path => ["fnord"]
48 assert_response :success
49
50 assert_select("h2", "one")
51 assert_select("h2", "two")
52 end
53
54 def test_page_containing_aggregator_with_custom_template
55 fill_pages_with_content
56
57 new_node = create_node_under_root "fnord"
58 draft = new_node.find_or_create_draft @user1
59 draft.body = '<aggregate tags="update" limit="20" partial="sidebar_title_only" />'
60 draft.save
61 new_node.publish_draft!
62
63 get :render_page, :locale => 'de', :page_path => ["fnord"]
64 assert_response :success
65
66 assert_select(".sidebar_headline", "one")
67 assert_select(".sidebar_headline", "two")
68 end
69
70 def test_nonexistant_custom_template_defaults_to_standard_template
71 new_node = create_node_under_root "fnord"
72 draft = new_node.find_or_create_draft @user1
73 draft.template_name = "huchibu"
74 draft.save
75 new_node.publish_draft!
76
77 get :render_page, :locale => 'de', :page_path => ["fnord"]
78 assert_response :success
79 assert_template "custom/page_templates/public/standard_template.html.erb"
80 end
81
82 def test_custom_template_no_date_and_author
83 new_node = create_node_under_root "fnord"
84 draft = new_node.find_or_create_draft @user1
85 draft.template_name = "no_date_and_author"
86 draft.save
87 new_node.publish_draft!
88
89 get :render_page, :locale => 'de', :page_path => ["fnord"]
90 assert_response :success
91 assert_template "custom/page_templates/public/no_date_and_author.html.erb"
92 end
93
94 protected
95
96 def create_node_under_root slug
97 node = Node.root.children.create! :slug => slug
98 node
99 end
100
101 def fill_pages_with_content
102 d1 = @first_child.find_or_create_draft @user1
103 d1.title = "one"
104 d1.tag_list = "update"
105 d1.save
106 @first_child.publish_draft!
107
108 d2 = @second_child.find_or_create_draft @user1
109 d2.title = "two"
110 d2.tag_list = "update"
111 d2.save
112 @second_child.publish_draft!
113 end
114end