22
33require File . expand_path '../../test_helper' , __FILE__
44
5+ class ViewWikiShowActionDropdownRenderOn < Redmine ::Hook ::ViewListener
6+ render_on :view_wiki_show_action_dropdown , inline : '<span class="test-action-dropdown">Hook content</span>'
7+ end
8+
9+ class ViewWikiShowBottomRenderOn < Redmine ::Hook ::ViewListener
10+ render_on :view_wiki_show_bottom , inline : '<div class="test-wiki-bottom">Hook content</div>'
11+ end
12+
13+ class ViewWikiFormBottomRenderOn < Redmine ::Hook ::ViewListener
14+ render_on :view_wiki_form_bottom , inline : '<div class="test-wiki-form-bottom">Hook content</div>'
15+ end
16+
17+ class ViewWikiIndexBottomRenderOn < Redmine ::Hook ::ViewListener
18+ render_on :view_wiki_index_bottom , inline : '<div class="test-wiki-index-bottom">Hook content</div>'
19+ end
20+
21+ class ViewWikiDateIndexBottomRenderOn < Redmine ::Hook ::ViewListener
22+ render_on :view_wiki_date_index_bottom , inline : '<div class="test-wiki-date-index-bottom">Hook content</div>'
23+ end
24+
525class WikiControllerTest < Additionals ::ControllerTest
626 WIKI_MACRO_USER_ID = 2
727
@@ -10,6 +30,64 @@ def setup
1030 EnabledModule . create project_id : 1 , name : 'wiki'
1131 end
1232
33+ def test_show_with_hook_view_wiki_show_action_dropdown
34+ Redmine ::Hook . add_listener ViewWikiShowActionDropdownRenderOn
35+ @request . session [ :user_id ] = WIKI_MACRO_USER_ID
36+ page = WikiPage . generate! title : __method__ . to_s
37+
38+ get :show ,
39+ params : { project_id : 1 , id : page . title }
40+
41+ assert_response :success
42+ assert_select 'span.test-action-dropdown' , text : 'Hook content'
43+ end
44+
45+ def test_show_with_hook_view_wiki_show_bottom
46+ Redmine ::Hook . add_listener ViewWikiShowBottomRenderOn
47+ @request . session [ :user_id ] = WIKI_MACRO_USER_ID
48+ page = WikiPage . generate! title : __method__ . to_s
49+
50+ get :show ,
51+ params : { project_id : 1 , id : page . title }
52+
53+ assert_response :success
54+ assert_select 'div.test-wiki-bottom' , text : 'Hook content'
55+ end
56+
57+ def test_edit_with_hook_view_wiki_form_bottom
58+ Redmine ::Hook . add_listener ViewWikiFormBottomRenderOn
59+ @request . session [ :user_id ] = WIKI_MACRO_USER_ID
60+ page = WikiPage . generate! title : __method__ . to_s
61+
62+ get :edit ,
63+ params : { project_id : 1 , id : page . title }
64+
65+ assert_response :success
66+ assert_select 'div.test-wiki-form-bottom' , text : 'Hook content'
67+ end
68+
69+ def test_index_with_hook_view_wiki_index_bottom
70+ Redmine ::Hook . add_listener ViewWikiIndexBottomRenderOn
71+ @request . session [ :user_id ] = WIKI_MACRO_USER_ID
72+
73+ get :index ,
74+ params : { project_id : 1 }
75+
76+ assert_response :success
77+ assert_select 'div.test-wiki-index-bottom' , text : 'Hook content'
78+ end
79+
80+ def test_date_index_with_hook_view_wiki_date_index_bottom
81+ Redmine ::Hook . add_listener ViewWikiDateIndexBottomRenderOn
82+ @request . session [ :user_id ] = WIKI_MACRO_USER_ID
83+
84+ get :date_index ,
85+ params : { project_id : 1 }
86+
87+ assert_response :success
88+ assert_select 'div.test-wiki-date-index-bottom' , text : 'Hook content'
89+ end
90+
1391 def test_show_with_youtube_macro
1492 @request . session [ :user_id ] = WIKI_MACRO_USER_ID
1593 page = WikiPage . generate! content : '{{youtube(KMU0tzLwhbE)}}' ,
0 commit comments