comfortable_mexican_sofa 2.0.9 → 2.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/comfy/vendor/bootstrap.min.js +3 -3
  3. data/app/assets/stylesheets/comfy/admin/cms/application.sass +1 -2
  4. data/app/assets/stylesheets/comfy/admin/cms/base.sass +12 -13
  5. data/app/assets/stylesheets/comfy/vendor/bootstrap/_alert.scss +3 -1
  6. data/app/assets/stylesheets/comfy/vendor/bootstrap/_button-group.scss +31 -72
  7. data/app/assets/stylesheets/comfy/vendor/bootstrap/_buttons.scss +26 -19
  8. data/app/assets/stylesheets/comfy/vendor/bootstrap/_card.scss +23 -12
  9. data/app/assets/stylesheets/comfy/vendor/bootstrap/_carousel.scss +2 -2
  10. data/app/assets/stylesheets/comfy/vendor/bootstrap/_close.scss +6 -1
  11. data/app/assets/stylesheets/comfy/vendor/bootstrap/_code.scss +4 -12
  12. data/app/assets/stylesheets/comfy/vendor/bootstrap/_custom-forms.scss +124 -84
  13. data/app/assets/stylesheets/comfy/vendor/bootstrap/_dropdown.scss +30 -2
  14. data/app/assets/stylesheets/comfy/vendor/bootstrap/_forms.scss +46 -71
  15. data/app/assets/stylesheets/comfy/vendor/bootstrap/_functions.scss +4 -4
  16. data/app/assets/stylesheets/comfy/vendor/bootstrap/_images.scss +0 -1
  17. data/app/assets/stylesheets/comfy/vendor/bootstrap/_input-group.scss +99 -126
  18. data/app/assets/stylesheets/comfy/vendor/bootstrap/_list-group.scss +2 -1
  19. data/app/assets/stylesheets/comfy/vendor/bootstrap/_modal.scss +24 -9
  20. data/app/assets/stylesheets/comfy/vendor/bootstrap/_nav.scss +2 -2
  21. data/app/assets/stylesheets/comfy/vendor/bootstrap/_navbar.scss +8 -3
  22. data/app/assets/stylesheets/comfy/vendor/bootstrap/_pagination.scss +32 -19
  23. data/app/assets/stylesheets/comfy/vendor/bootstrap/_popover.scss +106 -117
  24. data/app/assets/stylesheets/comfy/vendor/bootstrap/_print.scss +17 -3
  25. data/app/assets/stylesheets/comfy/vendor/bootstrap/_progress.scss +4 -1
  26. data/app/assets/stylesheets/comfy/vendor/bootstrap/_reboot.scss +3 -25
  27. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tables.scss +1 -1
  28. data/app/assets/stylesheets/comfy/vendor/bootstrap/_tooltip.scss +65 -57
  29. data/app/assets/stylesheets/comfy/vendor/bootstrap/_type.scss +2 -2
  30. data/app/assets/stylesheets/comfy/vendor/bootstrap/_variables.scss +174 -108
  31. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-grid.scss +32 -0
  32. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap-reboot.scss +12 -0
  33. data/app/assets/stylesheets/comfy/vendor/bootstrap/bootstrap.scss +42 -0
  34. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_background-variant.scss +2 -1
  35. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_breakpoints.scss +11 -7
  36. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_buttons.scss +37 -22
  37. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_caret.scss +30 -0
  38. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_forms.scss +48 -19
  39. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_grid-framework.scss +5 -7
  40. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_hover.scss +24 -46
  41. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_list-group.scss +10 -13
  42. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_screen-reader.scss +1 -1
  43. data/app/assets/stylesheets/comfy/vendor/bootstrap/mixins/_text-hide.scss +1 -0
  44. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_borders.scss +6 -1
  45. data/app/assets/stylesheets/comfy/vendor/bootstrap/utilities/_display.scss +10 -28
  46. data/app/controllers/comfy/admin/cms/files_controller.rb +6 -7
  47. data/app/helpers/comfy/admin/cms_helper.rb +5 -4
  48. data/app/models/concerns/comfy/cms/with_categories.rb +20 -9
  49. data/app/views/comfy/admin/cms/categories/_edit.html.haml +3 -3
  50. data/app/views/comfy/admin/cms/categories/_form.html.haml +3 -9
  51. data/app/views/comfy/admin/cms/categories/_index.html.haml +2 -2
  52. data/app/views/comfy/admin/cms/categories/_show.html.haml +4 -3
  53. data/app/views/comfy/admin/cms/categories/create.js.erb +1 -1
  54. data/app/views/comfy/admin/cms/files/_form.html.haml +11 -12
  55. data/app/views/comfy/admin/cms/files/edit.html.haml +2 -2
  56. data/app/views/comfy/admin/cms/files/new.html.haml +2 -2
  57. data/app/views/comfy/admin/cms/fragments/_form_fragment_attachments.html.haml +7 -5
  58. data/app/views/comfy/admin/cms/fragments/_form_fragments.html.haml +1 -1
  59. data/app/views/comfy/admin/cms/layouts/_form.html.haml +3 -2
  60. data/app/views/comfy/admin/cms/layouts/edit.html.haml +1 -1
  61. data/app/views/comfy/admin/cms/layouts/new.html.haml +2 -2
  62. data/app/views/comfy/admin/cms/pages/_form.html.haml +3 -5
  63. data/app/views/comfy/admin/cms/pages/edit.html.haml +1 -1
  64. data/app/views/comfy/admin/cms/pages/new.html.haml +1 -1
  65. data/app/views/comfy/admin/cms/revisions/show.html.haml +2 -2
  66. data/app/views/comfy/admin/cms/sites/_form.html.haml +4 -4
  67. data/app/views/comfy/admin/cms/sites/edit.html.haml +1 -1
  68. data/app/views/comfy/admin/cms/sites/new.html.haml +2 -2
  69. data/app/views/comfy/admin/cms/snippets/_form.html.haml +2 -2
  70. data/app/views/comfy/admin/cms/snippets/edit.html.haml +1 -1
  71. data/app/views/comfy/admin/cms/snippets/new.html.haml +2 -2
  72. data/app/views/comfy/admin/cms/translations/_form.html.haml +5 -7
  73. data/app/views/comfy/admin/cms/translations/edit.html.haml +1 -1
  74. data/app/views/comfy/admin/cms/translations/new.html.haml +2 -2
  75. data/comfortable_mexican_sofa.gemspec +6 -3
  76. data/config/locales/fr.yml +33 -33
  77. data/lib/comfortable_mexican_sofa/content/tags/file.rb +1 -1
  78. data/lib/comfortable_mexican_sofa/content/tags/files.rb +1 -1
  79. data/lib/comfortable_mexican_sofa/form_builder.rb +10 -15
  80. data/lib/comfortable_mexican_sofa/seeds.rb +2 -5
  81. data/lib/comfortable_mexican_sofa/version.rb +1 -1
  82. metadata +9 -116
  83. data/app/assets/stylesheets/comfy/vendor/_bootstrap.scss +0 -42
  84. data/doc/preview.jpg +0 -0
  85. data/test/controllers/comfy/admin/cms/base_controller_test.rb +0 -18
  86. data/test/controllers/comfy/admin/cms/categories_controller_test.rb +0 -74
  87. data/test/controllers/comfy/admin/cms/files_controller_test.rb +0 -242
  88. data/test/controllers/comfy/admin/cms/layouts_controller_test.rb +0 -137
  89. data/test/controllers/comfy/admin/cms/pages_controller_test.rb +0 -580
  90. data/test/controllers/comfy/admin/cms/revisions/layout_controller_test.rb +0 -62
  91. data/test/controllers/comfy/admin/cms/revisions/page_controller_test.rb +0 -87
  92. data/test/controllers/comfy/admin/cms/revisions/snippet_controller_test.rb +0 -60
  93. data/test/controllers/comfy/admin/cms/revisions/translation_controller_test.rb +0 -68
  94. data/test/controllers/comfy/admin/cms/sites_controller_test.rb +0 -106
  95. data/test/controllers/comfy/admin/cms/snippets_controller_test.rb +0 -156
  96. data/test/controllers/comfy/admin/cms/translations_controller_test.rb +0 -182
  97. data/test/controllers/comfy/cms/assets_controller_test.rb +0 -61
  98. data/test/controllers/comfy/cms/content_controller_test.rb +0 -249
  99. data/test/fixtures/active_storage/attachments.yml +0 -9
  100. data/test/fixtures/active_storage/blobs.yml +0 -13
  101. data/test/fixtures/comfy/cms/categories.yml +0 -4
  102. data/test/fixtures/comfy/cms/categorizations.yml +0 -3
  103. data/test/fixtures/comfy/cms/files.yml +0 -5
  104. data/test/fixtures/comfy/cms/fragments.yml +0 -25
  105. data/test/fixtures/comfy/cms/layouts.yml +0 -34
  106. data/test/fixtures/comfy/cms/pages.yml +0 -24
  107. data/test/fixtures/comfy/cms/revisions.yml +0 -29
  108. data/test/fixtures/comfy/cms/sites.yml +0 -5
  109. data/test/fixtures/comfy/cms/snippets.yml +0 -6
  110. data/test/fixtures/comfy/cms/translations.yml +0 -7
  111. data/test/fixtures/files/data.zip +0 -0
  112. data/test/fixtures/files/document.pdf +0 -0
  113. data/test/fixtures/files/image.gif +0 -0
  114. data/test/fixtures/files/image.jpg +0 -0
  115. data/test/fixtures/generators/cms/application.rb +0 -7
  116. data/test/fixtures/generators/cms/routes.rb +0 -5
  117. data/test/fixtures/generators/scaffold/controller.rb +0 -62
  118. data/test/fixtures/generators/scaffold/migration.rb +0 -9
  119. data/test/fixtures/generators/scaffold/model.rb +0 -21
  120. data/test/fixtures/generators/scaffold/routes.rb +0 -6
  121. data/test/fixtures/generators/scaffold/tests/controller.rb +0 -111
  122. data/test/fixtures/generators/scaffold/tests/fixture +0 -2
  123. data/test/fixtures/generators/scaffold/tests/model.rb +0 -24
  124. data/test/fixtures/generators/scaffold/views/_form.haml +0 -5
  125. data/test/fixtures/generators/scaffold/views/edit.haml +0 -5
  126. data/test/fixtures/generators/scaffold/views/index.haml +0 -21
  127. data/test/fixtures/generators/scaffold/views/new.haml +0 -5
  128. data/test/fixtures/generators/scaffold/views/show.haml +0 -4
  129. data/test/fixtures/views/_nav_hook.html.erb +0 -1
  130. data/test/fixtures/views/_nav_hook_2.html.erb +0 -1
  131. data/test/fixtures/views/render_test/_test.html.erb +0 -1
  132. data/test/fixtures/views/render_test/new.html.erb +0 -1
  133. data/test/fixtures/views/render_test/render_layout.html.erb +0 -1
  134. data/test/gemfiles/5.2.gemfile +0 -19
  135. data/test/generators/cms_assets_generator_test.rb +0 -14
  136. data/test/generators/cms_controllers_generator_test.rb +0 -14
  137. data/test/generators/cms_generator_test.rb +0 -26
  138. data/test/generators/cms_models_generator_test.rb +0 -14
  139. data/test/generators/cms_views_generator_test.rb +0 -14
  140. data/test/generators/scaffold_generator_test.rb +0 -32
  141. data/test/helpers/cms_helper_test.rb +0 -106
  142. data/test/integration/access_control_test.rb +0 -179
  143. data/test/integration/i18n_test.rb +0 -38
  144. data/test/integration/meta_variables_test.rb +0 -27
  145. data/test/integration/render_cms_test.rb +0 -255
  146. data/test/integration/routing_test.rb +0 -19
  147. data/test/integration/seeds_test.rb +0 -75
  148. data/test/integration/sites_test.rb +0 -107
  149. data/test/integration/view_hooks_test.rb +0 -47
  150. data/test/lib/configuration_test.rb +0 -38
  151. data/test/lib/content/block_test.rb +0 -26
  152. data/test/lib/content/params_parser_test.rb +0 -126
  153. data/test/lib/content/renderer_test.rb +0 -276
  154. data/test/lib/content/tag_test.rb +0 -58
  155. data/test/lib/content/tags/asset_test.rb +0 -104
  156. data/test/lib/content/tags/checkbox_test.rb +0 -21
  157. data/test/lib/content/tags/date_test.rb +0 -21
  158. data/test/lib/content/tags/datetime_test.rb +0 -21
  159. data/test/lib/content/tags/file_link_test.rb +0 -91
  160. data/test/lib/content/tags/file_test.rb +0 -69
  161. data/test/lib/content/tags/files_test.rb +0 -52
  162. data/test/lib/content/tags/fragment_test.rb +0 -68
  163. data/test/lib/content/tags/helper_test.rb +0 -62
  164. data/test/lib/content/tags/markdown_test.rb +0 -37
  165. data/test/lib/content/tags/number_test.rb +0 -14
  166. data/test/lib/content/tags/partial_test.rb +0 -65
  167. data/test/lib/content/tags/snippet_test.rb +0 -37
  168. data/test/lib/content/tags/template_test.rb +0 -51
  169. data/test/lib/content/tags/text_test.rb +0 -14
  170. data/test/lib/content/tags/textarea_test.rb +0 -14
  171. data/test/lib/content/tags/wysiwyg_test.rb +0 -14
  172. data/test/lib/revisions_test.rb +0 -222
  173. data/test/lib/seeds/files_test.rb +0 -97
  174. data/test/lib/seeds/layouts_test.rb +0 -156
  175. data/test/lib/seeds/pages_test.rb +0 -230
  176. data/test/lib/seeds/snippets_test.rb +0 -99
  177. data/test/lib/seeds_test.rb +0 -51
  178. data/test/models/categorization_test.rb +0 -76
  179. data/test/models/category_test.rb +0 -39
  180. data/test/models/file_test.rb +0 -43
  181. data/test/models/fragment_test.rb +0 -132
  182. data/test/models/layout_test.rb +0 -194
  183. data/test/models/page_test.rb +0 -575
  184. data/test/models/site_test.rb +0 -190
  185. data/test/models/snippet_test.rb +0 -56
  186. data/test/models/translation_test.rb +0 -67
  187. data/test/system/layouts_frontend_test.rb +0 -15
  188. data/test/system/pages_frontend_test.rb +0 -15
  189. data/test/system/sites_frontend_test.rb +0 -11
  190. data/test/system/snippets_frontend_test.rb +0 -15
  191. data/test/tasks/cms_seeds_test.rb +0 -34
  192. data/test/test_helper.rb +0 -201
@@ -1,38 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class I18nIntegrationTest < ActionDispatch::IntegrationTest
4
-
5
- def collect_combined_keys(hash, ns = nil)
6
- hash.collect do |k, v|
7
- keys = []
8
- keys << collect_combined_keys(v, "#{ns}.#{k}") if v.is_a?(Hash)
9
- keys << "#{ns}.#{k}"
10
- end.flatten
11
- end
12
-
13
- def test_translations
14
- locales_path = File.expand_path("../../../config/locales", __FILE__)
15
- locales = Dir.glob("#{locales_path}/*.yml").collect do |file_path|
16
- File.basename(file_path, ".yml")
17
- end
18
-
19
- # collecting all locales
20
- locale_keys = {}
21
- locales.each do |locale|
22
- translations = YAML.load_file("#{locales_path}/#{locale}.yml")
23
- locale_keys[locale] = collect_combined_keys(translations[locale])
24
- end
25
-
26
- # Using en as reference
27
- reference = locale_keys[locales.delete("en")]
28
- assert reference.present?
29
-
30
- locale_keys.each do |locale, keys|
31
- missing = reference - keys
32
- assert missing.blank?, "#{locale} locale is missing: #{missing.join(', ')}"
33
- extra = keys - reference
34
- assert extra.blank?, "#{locale} locale has extra: #{extra.join(', ')}"
35
- end
36
- end
37
-
38
- end
@@ -1,27 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class MetaVariablesIntegrationTest < ActionDispatch::IntegrationTest
4
-
5
- def test_redactor_js_variables
6
- site = comfy_cms_sites(:default)
7
- r :get, comfy_admin_cms_site_pages_path(site)
8
- assert_response :success
9
-
10
- assert_select "meta[name='cms-file-upload-path'][content='#{comfy_admin_cms_site_files_path(site)}']"
11
- assert_select "meta[name='cms-pages-path'][content='#{comfy_admin_cms_site_pages_path(site)}']"
12
- assert_select "meta[name='cms-locale'][content='en']"
13
- end
14
-
15
- def test_plupload_js_variables
16
- site = comfy_cms_sites(:default)
17
- r :get, comfy_admin_cms_site_files_path(site)
18
- assert_response :success
19
-
20
- assert_select "meta[name='cms-uploader-url']"
21
- assert_select "meta[name='cms-uploader-token-name']"
22
- assert_select "meta[name='cms-uploader-token-value']"
23
- assert_select "meta[name='cms-uploader-session-name']"
24
- assert_select "meta[name='cms-uploader-session-value']"
25
- end
26
-
27
- end
@@ -1,255 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class RenderCmsIntergrationTest < ActionDispatch::IntegrationTest
4
-
5
- def setup
6
- super
7
- Rails.application.routes.draw do
8
- get "/render-basic" => "render_test#render_basic"
9
- get "/render-page" => "render_test#render_page"
10
- get "/site-path/render-page" => "render_test#render_page"
11
- get "/render-layout" => "render_test#render_layout"
12
- end
13
- comfy_cms_layouts(:default).update_columns(content: "{{cms:text content}}")
14
- comfy_cms_pages(:child).update_attributes(fragments_attributes: [
15
- { identifier: "content", content: "TestBlockContent" }
16
- ])
17
- end
18
-
19
- def teardown
20
- Rails.application.reload_routes!
21
- end
22
-
23
- def create_site_b
24
- site = Comfy::Cms::Site.create!(
25
- identifier: "site-b",
26
- hostname: "site-b.test"
27
- )
28
- layout = site.layouts.create!(
29
- identifier: "default",
30
- content: "site-b {{cms:text content}}"
31
- )
32
- site.pages.create!(
33
- label: "default",
34
- layout: layout,
35
- fragments_attributes: [{ identifier: "content", content: "SiteBContent" }]
36
- )
37
- end
38
-
39
- class ::RenderTestController < ApplicationController
40
-
41
- append_view_path(File.expand_path("../fixtures/views", File.dirname(__FILE__)))
42
-
43
- def render_basic
44
- case params[:type]
45
- when "text"
46
- render plain: "TestText"
47
- when "update"
48
- render :update do |page|
49
- page.alert("rendered text")
50
- end
51
- else
52
- render
53
- end
54
- end
55
-
56
- def render_page
57
- case params[:type]
58
- when "page_implicit"
59
- render
60
- when "page_explicit"
61
- render cms_page: "/test-page"
62
- when "page_explicit_with_status"
63
- render cms_page: "/test-page", status: 404
64
- when "page_explicit_with_site"
65
- render cms_page: "/", cms_site: "site-b"
66
- when "page_explicit_with_blocks"
67
- render cms_page: "/test-page", cms_fragments: {
68
- content: "custom page content"
69
- }
70
- else
71
- raise "Invalid or no param[:type] provided"
72
- end
73
- end
74
-
75
- def render_layout
76
- @test_value = "TestValue"
77
- case params[:type]
78
- when "layout_defaults"
79
- render cms_layout: "default"
80
- when "layout"
81
- render cms_layout: "default", cms_fragments: {
82
- content: "TestText",
83
- content_b: { partial: "render_test/test" },
84
- content_c: { template: "render_test/render_layout" }
85
- }
86
- when "layout_with_status"
87
- render cms_layout: "default", status: 404
88
- when "layout_invalid"
89
- render cms_layout: "invalid"
90
- when "layout_defaults_with_site"
91
- render cms_layout: "default", cms_site: "site-b"
92
- when "layout_with_action"
93
- render cms_layout: "default", action: :new
94
- else
95
- raise "Invalid or no param[:type] provided"
96
- end
97
- end
98
-
99
- def new; end
100
-
101
- end
102
-
103
- # -- Basic Render Tests ------------------------------------------------------
104
- def test_text
105
- get "/render-basic?type=text"
106
- assert_response :success
107
- assert_equal "TestText", response.body
108
- end
109
-
110
- def test_implicit_cms_page_failure
111
- Comfy::Cms::Site.destroy_all
112
- assert_exception_raised ActionView::MissingTemplate do
113
- get "/render-basic"
114
- end
115
- end
116
-
117
- # -- Page Render Test --------------------------------------------------------
118
- def test_implicit_cms_page
119
- page = comfy_cms_pages(:child)
120
- page.update_attributes(slug: "render-basic")
121
- get "/render-basic?type=page_implicit"
122
- assert_response :success
123
- assert assigns(:cms_site)
124
- assert assigns(:cms_layout)
125
- assert assigns(:cms_page)
126
- assert_equal page, assigns(:cms_page)
127
- assert_equal "TestBlockContent", response.body
128
- end
129
-
130
- def test_implicit_cms_page_with_site_path
131
- comfy_cms_sites(:default).update_column(:path, "site-path")
132
- comfy_cms_pages(:child).update_attributes(slug: "render-page")
133
- get "/site-path/render-page?type=page_implicit"
134
- assert_response :success
135
- assert_equal "TestBlockContent", response.body
136
- end
137
-
138
- def test_explicit_cms_page
139
- page = comfy_cms_pages(:child)
140
- page.update_attributes(slug: "test-page")
141
- get "/render-page?type=page_explicit"
142
- assert_response :success
143
- assert assigns(:cms_site)
144
- assert assigns(:cms_layout)
145
- assert assigns(:cms_page)
146
- assert_equal page, assigns(:cms_page)
147
- assert_equal "TestBlockContent", response.body
148
- end
149
-
150
- def test_explicit_cms_page_with_status
151
- page = comfy_cms_pages(:child)
152
- page.update_attributes(slug: "test-page")
153
- get "/render-page?type=page_explicit_with_status"
154
- assert_response :not_found
155
- assert assigns(:cms_site)
156
- assert assigns(:cms_layout)
157
- assert assigns(:cms_page)
158
- assert_equal page, assigns(:cms_page)
159
- assert_equal "TestBlockContent", response.body
160
- end
161
-
162
- def test_explicit_cms_page_failure
163
- page = comfy_cms_pages(:child)
164
- page.update_attributes(slug: "invalid")
165
- assert_exception_raised ComfortableMexicanSofa::MissingPage do
166
- get "/render-page?type=page_explicit"
167
- end
168
- end
169
-
170
- def test_explicit_with_site
171
- create_site_b
172
- get "/render-page?type=page_explicit_with_site"
173
- assert_response :success
174
- assert assigns(:cms_site)
175
- assert_equal "site-b", assigns(:cms_site).identifier
176
- assert_equal "site-b SiteBContent", response.body
177
- end
178
-
179
- def test_explicit_with_site_failure
180
- assert_exception_raised ComfortableMexicanSofa::MissingSite do
181
- get "/render-page?type=page_explicit_with_site"
182
- end
183
- end
184
-
185
- def test_explicit_with_page_blocks
186
- page = comfy_cms_pages(:child)
187
- page.update_attributes(slug: "test-page")
188
- get "/render-page?type=page_explicit_with_blocks"
189
- assert_response :success
190
- assert_equal "custom page content", response.body
191
- end
192
-
193
- # -- Layout Render Tests -----------------------------------------------------
194
- def test_cms_layout_defaults
195
- get "/render-layout?type=layout_defaults"
196
- assert_response :success
197
- assert_equal "TestTemplate TestValue", response.body
198
- assert assigns(:cms_site)
199
- assert assigns(:cms_layout)
200
- assert_equal comfy_cms_layouts(:default), assigns(:cms_layout)
201
- end
202
-
203
- def test_cms_layout
204
- content = "{{cms:text content}} {{cms:text content_b}} {{cms:text content_c}}"
205
- comfy_cms_layouts(:default).update_columns(content: content)
206
- get "/render-layout?type=layout"
207
- assert_response :success
208
- assert_equal "TestText TestPartial TestValue TestTemplate TestValue", response.body
209
- assert assigns(:cms_site)
210
- assert assigns(:cms_layout)
211
- assert_equal comfy_cms_layouts(:default), assigns(:cms_layout)
212
- end
213
-
214
- def test_cms_layout_with_status
215
- get "/render-layout?type=layout_with_status"
216
- assert_response 404
217
- assert_equal "TestTemplate TestValue", response.body
218
- assert assigns(:cms_site)
219
- assert assigns(:cms_layout)
220
- assert_equal comfy_cms_layouts(:default), assigns(:cms_layout)
221
- end
222
-
223
- def test_cms_layout_with_action
224
- content = "{{cms:text content}} {{cms:text content_b}} {{cms:text content_c}}"
225
- comfy_cms_layouts(:default).update_columns(content: content)
226
- get "/render-layout?type=layout_with_action"
227
- assert_response :success
228
- assert_equal "Can render CMS layout and specify action\n ", response.body
229
- assert assigns(:cms_site)
230
- assert assigns(:cms_layout)
231
- assert_equal comfy_cms_layouts(:default), assigns(:cms_layout)
232
- end
233
-
234
- def test_cms_layout_failure
235
- assert_exception_raised ComfortableMexicanSofa::MissingLayout do
236
- get "/render-layout?type=layout_invalid"
237
- end
238
- end
239
-
240
- def test_cms_layout_defaults_with_site
241
- create_site_b
242
- get "/render-layout?type=layout_defaults_with_site"
243
- assert_response :success
244
- assert assigns(:cms_site)
245
- assert_equal "site-b", assigns(:cms_site).identifier
246
- assert_equal "site-b TestTemplate TestValue", response.body
247
- end
248
-
249
- def test_cms_layout_defaults_with_site_failure
250
- assert_exception_raised ComfortableMexicanSofa::MissingSite do
251
- get "/render-layout?type=layout_defaults_with_site"
252
- end
253
- end
254
-
255
- end
@@ -1,19 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class RoutingIntergrationTest < ActionDispatch::IntegrationTest
4
-
5
- def teardown
6
- Rails.application.reload_routes!
7
- end
8
-
9
- def test_cms_public_prefix
10
- assert_nil ComfortableMexicanSofa.config.public_cms_path
11
-
12
- Rails.application.routes.draw do
13
- comfy_route :cms, path: "/custom"
14
- end
15
-
16
- assert_equal "/custom", ComfortableMexicanSofa.config.public_cms_path
17
- end
18
-
19
- end
@@ -1,75 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class SeedsIntergrationTest < ActionDispatch::IntegrationTest
4
-
5
- setup do
6
- @site = comfy_cms_sites(:default)
7
- @site.update_columns(identifier: "sample-site")
8
- end
9
-
10
- def test_seeds_disabled
11
- assert_no_difference ["Comfy::Cms::Layout.count", "Comfy::Cms::Page.count", "Comfy::Cms::Snippet.count"] do
12
- get "/"
13
- assert_response :success
14
-
15
- assert_equal "Default Page", Comfy::Cms::Page.root.label
16
- assert_equal "Default Layout", Comfy::Cms::Layout.find_by_identifier("default").label
17
- assert_equal "Default Snippet", Comfy::Cms::Snippet.find_by_identifier("default").label
18
- end
19
- end
20
-
21
- def test_seeds_enabled
22
- ComfortableMexicanSofa.config.enable_seeds = true
23
- Comfy::Cms::Layout.destroy_all
24
- Comfy::Cms::Page.destroy_all
25
- Comfy::Cms::Snippet.destroy_all
26
-
27
- assert_difference "Comfy::Cms::Page.count", 3 do
28
- assert_difference "Comfy::Cms::Layout.count", 2 do
29
- assert_difference "Comfy::Cms::Snippet.count", 1 do
30
- get "/"
31
- assert_response :success
32
-
33
- assert_equal "Home Seed Page", Comfy::Cms::Page.root.label
34
- assert_equal "Default Seed Layout", Comfy::Cms::Layout.find_by_identifier("default").label
35
- assert_equal "Default Seed Snippet", Comfy::Cms::Snippet.find_by_identifier("default").label
36
-
37
- file_path = url_for(ActiveStorage::Blob.find_by(filename: "header.png"))
38
- file_path = file_path.sub("http://www.example.com", "")
39
- out = <<-HTML.strip_heredoc
40
- <html>
41
- <body>
42
- <img src='#{file_path}' alt='header.png'/>
43
- <p>Home Page Seed Contént
44
- Default Seed Snippet Content
45
- </p>
46
-
47
-
48
- </body>
49
- </html>
50
-
51
- HTML
52
- assert_equal out, response.body
53
- end
54
- end
55
- end
56
- end
57
-
58
- def test_fixtures_enabled_in_admin
59
- ComfortableMexicanSofa.config.enable_seeds = true
60
- Comfy::Cms::Layout.destroy_all
61
- Comfy::Cms::Page.destroy_all
62
- Comfy::Cms::Snippet.destroy_all
63
-
64
- assert_difference "Comfy::Cms::Page.count", 3 do
65
- assert_difference "Comfy::Cms::Layout.count", 2 do
66
- assert_difference "Comfy::Cms::Snippet.count", 1 do
67
- r :get, "/admin/sites/#{@site.id}/pages"
68
- assert_response :success
69
- assert_equal "CMS Seeds are enabled. All changes done here will be discarded.", flash[:warning]
70
- end
71
- end
72
- end
73
- end
74
-
75
- end
@@ -1,107 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class SitesIntegrationTest < ActionDispatch::IntegrationTest
4
-
5
- def test_get_admin_with_single_site
6
- r :get, comfy_admin_cms_path
7
- assert assigns(:site)
8
- assert_equal comfy_cms_sites(:default), assigns(:site)
9
- assert_response :redirect
10
- assert_redirected_to comfy_admin_cms_site_pages_path(assigns(:site))
11
- end
12
-
13
- def test_get_admin_with_no_site
14
- Comfy::Cms::Site.delete_all
15
- r :get, comfy_admin_cms_path
16
- assert_response :redirect
17
- assert_redirected_to new_comfy_admin_cms_site_path
18
- assert_equal "Site not found", flash[:danger]
19
- end
20
-
21
- def test_get_public_page_with_single_site
22
- host! "bogus.host"
23
- get "/"
24
- assert_response :success
25
- assert assigns(:cms_site)
26
- assert_equal "www.example.com", assigns(:cms_site).hostname
27
- end
28
-
29
- def test_get_public_page_with_sites_with_different_paths
30
- Comfy::Cms::Site.delete_all
31
- site_a = Comfy::Cms::Site.create!(identifier: "site-a", hostname: "www.example.com", path: "")
32
- site_b = Comfy::Cms::Site.create!(identifier: "site-b", hostname: "www.example.com", path: "path-b")
33
- site_c = Comfy::Cms::Site.create!(identifier: "site-c", hostname: "www.example.com", path: "path-c/child")
34
-
35
- [site_a, site_b, site_c].each do |site|
36
- layout = site.layouts.create!(identifier: "test")
37
- site.pages.create!(label: "index", layout: layout)
38
- site.pages.create!(label: "404", slug: "404", layout: layout)
39
- end
40
-
41
- %w[/ /path-a /path-a/child /path-c].each do |path|
42
- get path
43
- assert assigns(:cms_site), path
44
- assert_equal site_a, assigns(:cms_site)
45
- assert_equal path.gsub(%r{^/}, ""), @controller.params[:cms_path].to_s
46
- end
47
-
48
- %w[/path-b /path-b/child].each do |path|
49
- get path
50
- assert assigns(:cms_site), path
51
- assert_equal site_b, assigns(:cms_site)
52
- assert_equal path.gsub(%r{^/path-b}, "").gsub(%r{^/}, ""), @controller.params[:cms_path].to_s
53
- end
54
-
55
- %w[/path-c/child /path-c/child/child].each do |path|
56
- get path
57
- assert assigns(:cms_site), path
58
- assert_equal site_c, assigns(:cms_site)
59
- assert_equal path.gsub(%r{^/path-c/child}, "").gsub(%r{^/}, ""), @controller.params[:cms_path].to_s
60
- end
61
- end
62
-
63
- def test_get_public_page_with_host_with_port
64
- Comfy::Cms::Site.delete_all
65
- site_a = Comfy::Cms::Site.create!(identifier: "site-a", hostname: "www.example.com:3000")
66
- site_b = Comfy::Cms::Site.create!(identifier: "site-b", hostname: "www.example.com")
67
-
68
- [site_a, site_b].each do |site|
69
- layout = site.layouts.create!(identifier: "test")
70
- site.pages.create!(label: "index", layout: layout)
71
- site.pages.create!(label: "404", slug: "404", layout: layout)
72
- end
73
-
74
- get "/"
75
- assert assigns(:cms_site)
76
- assert_equal site_b, assigns(:cms_site)
77
- end
78
-
79
- def test_get_admin_with_locale
80
- r :get, comfy_admin_cms_site_pages_path(comfy_cms_sites(:default))
81
- assert_response :success
82
- assert_equal :en, I18n.locale
83
-
84
- comfy_cms_sites(:default).update_columns(locale: "fr")
85
- r :get, comfy_admin_cms_site_pages_path(comfy_cms_sites(:default))
86
- assert_response :success
87
- assert_equal :fr, I18n.locale
88
- end
89
-
90
- def test_get_admin_with_forced_locale
91
- ComfortableMexicanSofa.config.admin_locale = :en
92
-
93
- comfy_cms_sites(:default).update_columns(locale: "fr")
94
- r :get, comfy_admin_cms_site_pages_path(comfy_cms_sites(:default))
95
- assert_response :success
96
- assert_equal :en, I18n.locale
97
-
98
- I18n.default_locale = :fr
99
- I18n.locale = :fr
100
- r :get, comfy_admin_cms_sites_path
101
- assert_response :success
102
- assert_equal :en, I18n.locale
103
-
104
- I18n.default_locale = :en
105
- end
106
-
107
- end