comfortable_mexican_sofa 2.0.2 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (216) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +95 -4
  3. data/.travis.yml +2 -1
  4. data/CONTRIBUTING.md +8 -5
  5. data/Gemfile +9 -9
  6. data/Rakefile +1 -1
  7. data/app/assets/javascripts/comfy/admin/cms/base.js.coffee +1 -0
  8. data/app/assets/stylesheets/comfy/admin/cms/base.sass +14 -4
  9. data/app/controllers/application_controller.rb +2 -2
  10. data/app/controllers/comfy/admin/base_controller.rb +1 -1
  11. data/app/controllers/comfy/admin/cms/base_controller.rb +7 -6
  12. data/app/controllers/comfy/admin/cms/categories_controller.rb +2 -1
  13. data/app/controllers/comfy/admin/cms/files_controller.rb +32 -29
  14. data/app/controllers/comfy/admin/cms/layouts_controller.rb +10 -9
  15. data/app/controllers/comfy/admin/cms/pages_controller.rb +31 -27
  16. data/app/controllers/comfy/admin/cms/revisions/base_controller.rb +5 -4
  17. data/app/controllers/comfy/admin/cms/revisions/layout_controller.rb +2 -1
  18. data/app/controllers/comfy/admin/cms/revisions/page_controller.rb +9 -3
  19. data/app/controllers/comfy/admin/cms/revisions/snippet_controller.rb +2 -1
  20. data/app/controllers/comfy/admin/cms/revisions/translation_controller.rb +9 -3
  21. data/app/controllers/comfy/admin/cms/sites_controller.rb +10 -9
  22. data/app/controllers/comfy/admin/cms/snippets_controller.rb +10 -9
  23. data/app/controllers/comfy/admin/cms/translations_controller.rb +15 -14
  24. data/app/controllers/comfy/cms/assets_controller.rb +4 -3
  25. data/app/controllers/comfy/cms/base_controller.rb +12 -11
  26. data/app/controllers/comfy/cms/content_controller.rb +8 -7
  27. data/app/controllers/concerns/comfy/paginate.rb +2 -1
  28. data/app/helpers/comfy/cms_helper.rb +6 -3
  29. data/app/models/comfy/cms/categorization.rb +2 -1
  30. data/app/models/comfy/cms/category.rb +3 -2
  31. data/app/models/comfy/cms/file.rb +9 -7
  32. data/app/models/comfy/cms/fragment.rb +8 -6
  33. data/app/models/comfy/cms/layout.rb +24 -24
  34. data/app/models/comfy/cms/page.rb +51 -32
  35. data/app/models/comfy/cms/revision.rb +2 -1
  36. data/app/models/comfy/cms/site.rb +27 -26
  37. data/app/models/comfy/cms/snippet.rb +7 -5
  38. data/app/models/comfy/cms/translation.rb +6 -4
  39. data/app/models/concerns/comfy/cms/with_categories.rb +9 -7
  40. data/app/models/concerns/comfy/cms/with_fragments.rb +15 -13
  41. data/app/views/comfy/admin/cms/categories/_categories.html.haml +1 -1
  42. data/app/views/comfy/admin/cms/files/_file.html.haml +3 -3
  43. data/app/views/comfy/admin/cms/files/_modal.html.haml +2 -2
  44. data/app/views/comfy/admin/cms/{pages/_fragment_attachments.html.haml → fragments/_form_fragment_attachments.html.haml} +0 -0
  45. data/app/views/comfy/admin/cms/{pages → fragments}/_form_fragments.html.haml +0 -0
  46. data/app/views/comfy/admin/cms/layouts/_index_branch.html.haml +2 -2
  47. data/app/views/comfy/admin/cms/pages/_form.html.haml +7 -7
  48. data/app/views/comfy/admin/cms/pages/_index_branch.html.haml +16 -15
  49. data/app/views/comfy/admin/cms/pages/form_fragments.js.erb +1 -1
  50. data/app/views/comfy/admin/cms/pages/toggle_branch.js.erb +1 -1
  51. data/app/views/comfy/admin/cms/snippets/index.html.haml +3 -3
  52. data/app/views/comfy/admin/cms/translations/_form.html.haml +1 -1
  53. data/app/views/comfy/admin/cms/translations/form_fragments.js.erb +1 -1
  54. data/app/views/layouts/comfy/admin/cms/_body.html.haml +1 -4
  55. data/app/views/layouts/comfy/admin/cms.html.haml +1 -1
  56. data/bin/bundle +3 -0
  57. data/bin/rails +4 -0
  58. data/bin/rake +4 -0
  59. data/bin/setup +36 -0
  60. data/bin/update +31 -0
  61. data/bin/yarn +11 -0
  62. data/comfortable_mexican_sofa.gemspec +14 -14
  63. data/config/application.rb +4 -3
  64. data/config/boot.rb +3 -3
  65. data/config/cms_routes.rb +1 -1
  66. data/config/environment.rb +1 -1
  67. data/config/environments/development.rb +2 -2
  68. data/config/environments/test.rb +1 -1
  69. data/config/initializers/comfortable_mexican_sofa.rb +2 -5
  70. data/config/locales/cs.yml +2 -1
  71. data/config/locales/da.yml +2 -1
  72. data/config/locales/de.yml +2 -1
  73. data/config/locales/en.yml +2 -1
  74. data/config/locales/es.yml +2 -1
  75. data/config/locales/fr.yml +2 -1
  76. data/config/locales/it.yml +2 -1
  77. data/config/locales/ja.yml +2 -1
  78. data/config/locales/nb.yml +2 -1
  79. data/config/locales/nl.yml +2 -1
  80. data/config/locales/pl.yml +2 -1
  81. data/config/locales/pt-BR.yml +2 -1
  82. data/config/locales/ru.yml +2 -1
  83. data/config/locales/sk.yml +2 -1
  84. data/config/locales/sv.yml +2 -1
  85. data/config/locales/tr.yml +2 -1
  86. data/config/locales/uk.yml +2 -1
  87. data/config/locales/zh-CN.yml +2 -1
  88. data/config/locales/zh-TW.yml +2 -1
  89. data/config.ru +1 -1
  90. data/lib/comfortable_mexican_sofa/access_control/admin_authentication.rb +2 -1
  91. data/lib/comfortable_mexican_sofa/access_control/admin_authorization.rb +2 -0
  92. data/lib/comfortable_mexican_sofa/access_control/public_authentication.rb +3 -1
  93. data/lib/comfortable_mexican_sofa/access_control/public_authorization.rb +2 -0
  94. data/lib/comfortable_mexican_sofa/configuration.rb +27 -29
  95. data/lib/comfortable_mexican_sofa/content/block.rb +2 -1
  96. data/lib/comfortable_mexican_sofa/content/params_parser.rb +22 -21
  97. data/lib/comfortable_mexican_sofa/content/renderer.rb +10 -8
  98. data/lib/comfortable_mexican_sofa/content/tag.rb +1 -0
  99. data/lib/comfortable_mexican_sofa/content/tags/asset.rb +4 -3
  100. data/lib/comfortable_mexican_sofa/content/tags/checkbox.rb +3 -2
  101. data/lib/comfortable_mexican_sofa/content/tags/date.rb +4 -3
  102. data/lib/comfortable_mexican_sofa/content/tags/datetime.rb +4 -3
  103. data/lib/comfortable_mexican_sofa/content/tags/file.rb +15 -13
  104. data/lib/comfortable_mexican_sofa/content/tags/file_link.rb +8 -7
  105. data/lib/comfortable_mexican_sofa/content/tags/files.rb +15 -13
  106. data/lib/comfortable_mexican_sofa/content/tags/fragment.rb +7 -6
  107. data/lib/comfortable_mexican_sofa/content/tags/helper.rb +2 -1
  108. data/lib/comfortable_mexican_sofa/content/tags/markdown.rb +5 -4
  109. data/lib/comfortable_mexican_sofa/content/tags/number.rb +4 -3
  110. data/lib/comfortable_mexican_sofa/content/tags/partial.rb +1 -0
  111. data/lib/comfortable_mexican_sofa/content/tags/snippet.rb +3 -2
  112. data/lib/comfortable_mexican_sofa/content/tags/template.rb +1 -0
  113. data/lib/comfortable_mexican_sofa/content/tags/text.rb +4 -3
  114. data/lib/comfortable_mexican_sofa/content/tags/textarea.rb +4 -3
  115. data/lib/comfortable_mexican_sofa/content/tags/wysiwyg.rb +4 -3
  116. data/lib/comfortable_mexican_sofa/content.rb +21 -21
  117. data/lib/comfortable_mexican_sofa/engine.rb +17 -15
  118. data/lib/comfortable_mexican_sofa/error.rb +12 -6
  119. data/lib/comfortable_mexican_sofa/extensions/acts_as_tree.rb +17 -11
  120. data/lib/comfortable_mexican_sofa/extensions/has_revisions.rb +14 -13
  121. data/lib/comfortable_mexican_sofa/form_builder.rb +2 -2
  122. data/lib/comfortable_mexican_sofa/render_methods.rb +74 -76
  123. data/lib/comfortable_mexican_sofa/routes/cms.rb +4 -4
  124. data/lib/comfortable_mexican_sofa/routes/cms_admin.rb +2 -1
  125. data/lib/comfortable_mexican_sofa/routing.rb +4 -2
  126. data/lib/comfortable_mexican_sofa/seeds/file/exporter.rb +7 -6
  127. data/lib/comfortable_mexican_sofa/seeds/file/importer.rb +9 -9
  128. data/lib/comfortable_mexican_sofa/seeds/layout/exporter.rb +8 -7
  129. data/lib/comfortable_mexican_sofa/seeds/layout/importer.rb +11 -10
  130. data/lib/comfortable_mexican_sofa/seeds/page/exporter.rb +25 -23
  131. data/lib/comfortable_mexican_sofa/seeds/page/importer.rb +47 -43
  132. data/lib/comfortable_mexican_sofa/seeds/snippet/exporter.rb +7 -6
  133. data/lib/comfortable_mexican_sofa/seeds/snippet/importer.rb +7 -6
  134. data/lib/comfortable_mexican_sofa/seeds.rb +16 -9
  135. data/lib/comfortable_mexican_sofa/version.rb +4 -2
  136. data/lib/comfortable_mexican_sofa/view_hooks.rb +10 -9
  137. data/lib/comfortable_mexican_sofa.rb +30 -30
  138. data/lib/generators/comfy/cms/assets_generator.rb +6 -4
  139. data/lib/generators/comfy/cms/cms_generator.rb +14 -14
  140. data/lib/generators/comfy/cms/controllers_generator.rb +5 -3
  141. data/lib/generators/comfy/cms/models_generator.rb +5 -3
  142. data/lib/generators/comfy/cms/views_generator.rb +5 -3
  143. data/lib/generators/comfy/scaffold/scaffold_generator.rb +19 -18
  144. data/lib/tasks/cms_seeds.rake +4 -5
  145. data/test/controllers/comfy/admin/cms/base_controller_test.rb +4 -3
  146. data/test/controllers/comfy/admin/cms/categories_controller_test.rb +19 -18
  147. data/test/controllers/comfy/admin/cms/files_controller_test.rb +19 -19
  148. data/test/controllers/comfy/admin/cms/layouts_controller_test.rb +33 -32
  149. data/test/controllers/comfy/admin/cms/pages_controller_test.rb +99 -98
  150. data/test/controllers/comfy/admin/cms/revisions/layout_controller_test.rb +9 -9
  151. data/test/controllers/comfy/admin/cms/revisions/page_controller_test.rb +6 -6
  152. data/test/controllers/comfy/admin/cms/revisions/snippet_controller_test.rb +9 -8
  153. data/test/controllers/comfy/admin/cms/revisions/translation_controller_test.rb +6 -7
  154. data/test/controllers/comfy/admin/cms/sites_controller_test.rb +31 -30
  155. data/test/controllers/comfy/admin/cms/snippets_controller_test.rb +38 -37
  156. data/test/controllers/comfy/admin/cms/translations_controller_test.rb +21 -20
  157. data/test/controllers/comfy/cms/assets_controller_test.rb +14 -13
  158. data/test/controllers/comfy/cms/content_controller_test.rb +58 -57
  159. data/test/gemfiles/Gemfile.rails.5.2 +5 -4
  160. data/test/generators/cms_assets_generator_test.rb +6 -4
  161. data/test/generators/cms_controllers_generator_test.rb +7 -5
  162. data/test/generators/cms_generator_test.rb +12 -10
  163. data/test/generators/cms_models_generator_test.rb +7 -5
  164. data/test/generators/cms_views_generator_test.rb +6 -4
  165. data/test/generators/scaffold_generator_test.rb +18 -16
  166. data/test/helpers/cms_helper_test.rb +5 -2
  167. data/test/integration/access_control_test.rb +29 -20
  168. data/test/integration/i18n_test.rb +8 -7
  169. data/test/integration/js_variables_test.rb +2 -1
  170. data/test/integration/render_cms_test.rb +93 -88
  171. data/test/integration/routing_test.rb +4 -3
  172. data/test/integration/seeds_test.rb +21 -22
  173. data/test/integration/sites_test.rb +26 -25
  174. data/test/integration/view_hooks_test.rb +15 -14
  175. data/test/lib/configuration_test.rb +13 -15
  176. data/test/lib/content/block_test.rb +1 -1
  177. data/test/lib/content/params_parser_test.rb +11 -10
  178. data/test/lib/content/renderer_test.rb +16 -11
  179. data/test/lib/content/tag_test.rb +7 -3
  180. data/test/lib/content/tags/asset_test.rb +4 -3
  181. data/test/lib/content/tags/checkbox_test.rb +2 -1
  182. data/test/lib/content/tags/date_test.rb +2 -1
  183. data/test/lib/content/tags/datetime_test.rb +2 -1
  184. data/test/lib/content/tags/file_link_test.rb +3 -2
  185. data/test/lib/content/tags/file_test.rb +3 -2
  186. data/test/lib/content/tags/files_test.rb +4 -3
  187. data/test/lib/content/tags/fragment_test.rb +2 -1
  188. data/test/lib/content/tags/helper_test.rb +4 -3
  189. data/test/lib/content/tags/markdown_test.rb +2 -1
  190. data/test/lib/content/tags/number_test.rb +2 -1
  191. data/test/lib/content/tags/partial_test.rb +4 -3
  192. data/test/lib/content/tags/snippet_test.rb +2 -1
  193. data/test/lib/content/tags/template_test.rb +2 -1
  194. data/test/lib/content/tags/text_test.rb +2 -1
  195. data/test/lib/content/tags/textarea_test.rb +2 -1
  196. data/test/lib/content/tags/wysiwyg_test.rb +2 -1
  197. data/test/lib/revisions_test.rb +44 -42
  198. data/test/lib/seeds/files_test.rb +30 -29
  199. data/test/lib/seeds/layouts_test.rb +13 -12
  200. data/test/lib/seeds/pages_test.rb +32 -29
  201. data/test/lib/seeds/snippets_test.rb +21 -20
  202. data/test/lib/seeds_test.rb +9 -8
  203. data/test/models/categorization_test.rb +10 -9
  204. data/test/models/category_test.rb +1 -1
  205. data/test/models/file_test.rb +1 -1
  206. data/test/models/fragment_test.rb +11 -10
  207. data/test/models/layout_test.rb +71 -70
  208. data/test/models/page_test.rb +170 -159
  209. data/test/models/site_test.rb +17 -16
  210. data/test/models/snippet_test.rb +1 -0
  211. data/test/models/translation_test.rb +2 -1
  212. data/test/tasks/cms_seeds_test.rb +3 -2
  213. data/test/test_helper.rb +42 -40
  214. metadata +55 -51
  215. data/.rubocop_todo.yml +0 -974
  216. data/script/rails +0 -6
@@ -1,4 +1,4 @@
1
- require_relative '../test_helper'
1
+ require_relative "../test_helper"
2
2
 
3
3
  class CmsPageTest < ActiveSupport::TestCase
4
4
 
@@ -61,13 +61,13 @@ class CmsPageTest < ActiveSupport::TestCase
61
61
 
62
62
  def test_validation_of_slug
63
63
  page = comfy_cms_pages(:child)
64
- page.slug = 'slug.with.d0ts-and_things'
64
+ page.slug = "slug.with.d0ts-and_things"
65
65
  assert page.valid?
66
66
 
67
- page.slug = 'inva lid'
67
+ page.slug = "inva lid"
68
68
  assert page.invalid?
69
69
 
70
- page.slug = 'acción'
70
+ page.slug = "acción"
71
71
  assert page.valid?
72
72
  end
73
73
 
@@ -81,24 +81,26 @@ class CmsPageTest < ActiveSupport::TestCase
81
81
 
82
82
  def test_label_assignment
83
83
  page = @site.pages.new(
84
- slug: 'test',
84
+ slug: "test",
85
85
  parent: @page,
86
86
  layout: @layout
87
87
  )
88
88
  assert page.valid?
89
- assert_equal 'Test', page.label
89
+ assert_equal "Test", page.label
90
90
  end
91
91
 
92
92
  def test_create
93
93
  assert_count_difference [Comfy::Cms::Page, Comfy::Cms::Fragment] do
94
- page = @site.pages.create!(new_params(
95
- parent: @page,
96
- fragments_attributes: [
97
- { identifier: "content",
98
- tag: "text",
99
- content: "test" }
100
- ]
101
- ))
94
+ page = @site.pages.create!(
95
+ new_params(
96
+ parent: @page,
97
+ fragments_attributes: [
98
+ { identifier: "content",
99
+ tag: "text",
100
+ content: "test" }
101
+ ]
102
+ )
103
+ )
102
104
  assert page.is_published?
103
105
  assert_equal 1, page.position
104
106
  end
@@ -106,14 +108,16 @@ class CmsPageTest < ActiveSupport::TestCase
106
108
 
107
109
  def test_create_with_file
108
110
  assert_count_difference [Comfy::Cms::Page, Comfy::Cms::Fragment, ActiveStorage::Attachment] do
109
- page = @site.pages.create!(new_params(
110
- parent: @page,
111
- fragments_attributes: [{
112
- identifier: "test",
113
- tag: "file",
114
- files: [fixture_file_upload("files/image.jpg", "image/jpeg")]
115
- }]
116
- ))
111
+ page = @site.pages.create!(
112
+ new_params(
113
+ parent: @page,
114
+ fragments_attributes: [{
115
+ identifier: "test",
116
+ tag: "file",
117
+ files: [fixture_file_upload("files/image.jpg", "image/jpeg")]
118
+ }]
119
+ )
120
+ )
117
121
  assert_equal 1, page.fragments.count
118
122
  assert page.fragments.first.attachments.attached?
119
123
  end
@@ -122,17 +126,19 @@ class CmsPageTest < ActiveSupport::TestCase
122
126
  def test_create_with_files
123
127
  assert_count_difference [Comfy::Cms::Page, Comfy::Cms::Fragment] do
124
128
  assert_count_difference [ActiveStorage::Attachment], 2 do
125
- page = @site.pages.create!(new_params(
126
- parent: @page,
127
- fragments_attributes: [{
128
- identifier: "test",
129
- tag: "files",
130
- files: [
131
- fixture_file_upload("files/image.jpg", "image/jpeg"),
132
- fixture_file_upload("files/document.pdf", "application/pdf")
133
- ]
134
- }]
135
- ))
129
+ page = @site.pages.create!(
130
+ new_params(
131
+ parent: @page,
132
+ fragments_attributes: [{
133
+ identifier: "test",
134
+ tag: "files",
135
+ files: [
136
+ fixture_file_upload("files/image.jpg", "image/jpeg"),
137
+ fixture_file_upload("files/document.pdf", "application/pdf")
138
+ ]
139
+ }]
140
+ )
141
+ )
136
142
  assert_equal 1, page.fragments.count
137
143
  assert page.fragments.first.attachments.attached?
138
144
  end
@@ -143,14 +149,16 @@ class CmsPageTest < ActiveSupport::TestCase
143
149
  string = "1981-10-04 12:34:56"
144
150
  datetime = DateTime.parse(string)
145
151
  assert_count_difference [Comfy::Cms::Page, Comfy::Cms::Fragment] do
146
- page = @site.pages.create!(new_params(
147
- parent: @page,
148
- fragments_attributes: [{
149
- identifier: "test",
150
- tag: "date_time",
151
- datetime: string
152
- }]
153
- ))
152
+ page = @site.pages.create!(
153
+ new_params(
154
+ parent: @page,
155
+ fragments_attributes: [{
156
+ identifier: "test",
157
+ tag: "date_time",
158
+ datetime: string
159
+ }]
160
+ )
161
+ )
154
162
  frag = page.fragments.first
155
163
  assert_equal datetime, frag.datetime
156
164
  end
@@ -158,14 +166,16 @@ class CmsPageTest < ActiveSupport::TestCase
158
166
 
159
167
  def test_create_with_boolean
160
168
  assert_count_difference [Comfy::Cms::Page, Comfy::Cms::Fragment] do
161
- page = @site.pages.create!(new_params(
162
- parent: @page,
163
- fragments_attributes: [{
164
- identifier: "test",
165
- tag: "checkbox",
166
- boolean: "1"
167
- }]
168
- ))
169
+ page = @site.pages.create!(
170
+ new_params(
171
+ parent: @page,
172
+ fragments_attributes: [{
173
+ identifier: "test",
174
+ tag: "checkbox",
175
+ boolean: "1"
176
+ }]
177
+ )
178
+ )
169
179
  frag = page.fragments.first
170
180
  assert frag.boolean
171
181
  end
@@ -174,10 +184,10 @@ class CmsPageTest < ActiveSupport::TestCase
174
184
  def test_update
175
185
  frag = comfy_cms_fragments(:default)
176
186
  assert_count_no_difference [Comfy::Cms::Page, Comfy::Cms::Fragment] do
177
- @page.update_attributes!(fragments_attributes: [{
178
- identifier: frag.identifier,
179
- content: "updated content"
180
- }])
187
+ @page.update_attributes!(fragments_attributes: [
188
+ { identifier: frag.identifier,
189
+ content: "updated content" }
190
+ ])
181
191
  end
182
192
  frag.reload
183
193
  assert_equal "updated content", frag.content
@@ -211,12 +221,12 @@ class CmsPageTest < ActiveSupport::TestCase
211
221
  def test_update_with_date
212
222
  frag = comfy_cms_fragments(:datetime)
213
223
  string = "2020-01-01"
214
- date = DateTime.parse(string)
224
+ date = DateTime.parse(string)
215
225
  assert_count_no_difference [Comfy::Cms::Page, Comfy::Cms::Fragment] do
216
- @page.update_attributes!(fragments_attributes: [{
217
- identifier: frag.identifier,
218
- datetime: string
219
- }])
226
+ @page.update_attributes!(fragments_attributes: [
227
+ { identifier: frag.identifier,
228
+ datetime: string }
229
+ ])
220
230
  end
221
231
  frag.reload
222
232
  assert_equal date, frag.datetime
@@ -226,10 +236,10 @@ class CmsPageTest < ActiveSupport::TestCase
226
236
  frag = comfy_cms_fragments(:boolean)
227
237
  assert frag.boolean
228
238
  assert_count_no_difference [Comfy::Cms::Page, Comfy::Cms::Fragment] do
229
- @page.update_attributes!(fragments_attributes: [{
230
- identifier: frag.identifier,
231
- boolean: "0"
232
- }])
239
+ @page.update_attributes!(fragments_attributes: [
240
+ { identifier: frag.identifier,
241
+ boolean: "0" }
242
+ ])
233
243
  end
234
244
  frag.reload
235
245
  refute frag.boolean
@@ -239,8 +249,8 @@ class CmsPageTest < ActiveSupport::TestCase
239
249
  page_a = @page
240
250
  page_b = comfy_cms_pages(:child)
241
251
  page_c = @site.pages.create!(
242
- label: 'Test Page',
243
- slug: 'test-page',
252
+ label: "Test Page",
253
+ slug: "test-page",
244
254
  layout: @layout,
245
255
  parent: page_a
246
256
  )
@@ -251,7 +261,7 @@ class CmsPageTest < ActiveSupport::TestCase
251
261
 
252
262
  page_c.update_attributes!(parent_id: page_b)
253
263
 
254
- page_a.reload; page_b.reload; page_c.reload
264
+ [page_a, page_b, page_c].each(&:reload)
255
265
  assert_equal 1, page_a.children_count
256
266
  assert_equal 1, page_b.children_count
257
267
  assert_equal 0, page_c.children_count
@@ -259,7 +269,7 @@ class CmsPageTest < ActiveSupport::TestCase
259
269
 
260
270
  def test_initialization_of_full_path
261
271
  page = Comfy::Cms::Page.new
262
- assert_equal '/', page.full_path
272
+ assert_equal "/", page.full_path
263
273
 
264
274
  page = Comfy::Cms::Page.new(new_params)
265
275
  assert page.invalid?
@@ -267,67 +277,67 @@ class CmsPageTest < ActiveSupport::TestCase
267
277
 
268
278
  page = @site.pages.new(new_params(parent: @page))
269
279
  assert page.valid?
270
- assert_equal '/test-page', page.full_path
280
+ assert_equal "/test-page", page.full_path
271
281
 
272
282
  page = @site.pages.new(new_params(parent: comfy_cms_pages(:child)))
273
283
  assert page.valid?
274
- assert_equal '/child-page/test-page', page.full_path
284
+ assert_equal "/child-page/test-page", page.full_path
275
285
 
276
286
  Comfy::Cms::Page.destroy_all
277
287
  page = @site.pages.new(new_params)
278
288
  assert page.valid?
279
- assert_equal '/', page.full_path
289
+ assert_equal "/", page.full_path
280
290
  end
281
291
 
282
292
  def test_sync_child_pages
283
293
  page = comfy_cms_pages(:child)
284
- page_1 = @site.pages.create!(new_params(parent: page, slug: 'test-page-1'))
285
- page_2 = @site.pages.create!(new_params(parent: page, slug: 'test-page-2'))
286
- page_3 = @site.pages.create!(new_params(parent: page_2, slug: 'test-page-3'))
287
- page_4 = @site.pages.create!(new_params(parent: page_1, slug: 'test-page-4'))
288
-
289
- assert_equal '/child-page/test-page-1', page_1.full_path
290
- assert_equal '/child-page/test-page-2', page_2.full_path
291
- assert_equal '/child-page/test-page-2/test-page-3', page_3.full_path
292
- assert_equal '/child-page/test-page-1/test-page-4', page_4.full_path
293
-
294
- page.update_attributes!(slug: 'updated-page')
295
- assert_equal '/updated-page', page.full_path
296
- page_1.reload; page_2.reload; page_3.reload; page_4.reload
297
- assert_equal '/updated-page/test-page-1', page_1.full_path
298
- assert_equal '/updated-page/test-page-2', page_2.full_path
299
- assert_equal '/updated-page/test-page-2/test-page-3', page_3.full_path
300
- assert_equal '/updated-page/test-page-1/test-page-4', page_4.full_path
301
-
302
- page_2.update_attributes!(parent: page_1)
303
- page_1.reload; page_2.reload; page_3.reload; page_4.reload
304
- assert_equal '/updated-page/test-page-1', page_1.full_path
305
- assert_equal '/updated-page/test-page-1/test-page-2', page_2.full_path
306
- assert_equal '/updated-page/test-page-1/test-page-2/test-page-3', page_3.full_path
307
- assert_equal '/updated-page/test-page-1/test-page-4', page_4.full_path
294
+ page_a = @site.pages.create!(new_params(parent: page, slug: "test-page-1"))
295
+ page_b = @site.pages.create!(new_params(parent: page, slug: "test-page-2"))
296
+ page_c = @site.pages.create!(new_params(parent: page_b, slug: "test-page-3"))
297
+ page_d = @site.pages.create!(new_params(parent: page_a, slug: "test-page-4"))
298
+
299
+ assert_equal "/child-page/test-page-1", page_a.full_path
300
+ assert_equal "/child-page/test-page-2", page_b.full_path
301
+ assert_equal "/child-page/test-page-2/test-page-3", page_c.full_path
302
+ assert_equal "/child-page/test-page-1/test-page-4", page_d.full_path
303
+
304
+ page.update_attributes!(slug: "updated-page")
305
+ assert_equal "/updated-page", page.full_path
306
+ [page_a, page_b, page_c, page_d].each(&:reload)
307
+ assert_equal "/updated-page/test-page-1", page_a.full_path
308
+ assert_equal "/updated-page/test-page-2", page_b.full_path
309
+ assert_equal "/updated-page/test-page-2/test-page-3", page_c.full_path
310
+ assert_equal "/updated-page/test-page-1/test-page-4", page_d.full_path
311
+
312
+ page_b.update_attributes!(parent: page_a)
313
+ [page_a, page_b, page_c, page_d].each(&:reload)
314
+ assert_equal "/updated-page/test-page-1", page_a.full_path
315
+ assert_equal "/updated-page/test-page-1/test-page-2", page_b.full_path
316
+ assert_equal "/updated-page/test-page-1/test-page-2/test-page-3", page_c.full_path
317
+ assert_equal "/updated-page/test-page-1/test-page-4", page_d.full_path
308
318
  end
309
319
 
310
320
  def test_children_count_updating
311
- page_1 = @page
312
- page_2 = comfy_cms_pages(:child)
313
- assert_equal 1, page_1.children_count
314
- assert_equal 0, page_2.children_count
321
+ page_a = @page
322
+ page_b = comfy_cms_pages(:child)
323
+ assert_equal 1, page_a.children_count
324
+ assert_equal 0, page_b.children_count
315
325
 
316
- page_3 = @site.pages.create!(new_params(parent: page_2))
317
- page_1.reload; page_2.reload
318
- assert_equal 1, page_1.children_count
319
- assert_equal 1, page_2.children_count
320
- assert_equal 0, page_3.children_count
326
+ page_c = @site.pages.create!(new_params(parent: page_b))
327
+ [page_a, page_b].each(&:reload)
328
+ assert_equal 1, page_a.children_count
329
+ assert_equal 1, page_b.children_count
330
+ assert_equal 0, page_c.children_count
321
331
 
322
- page_3.update_attributes!(:parent => page_1)
323
- page_1.reload; page_2.reload
324
- assert_equal 2, page_1.children_count
325
- assert_equal 0, page_2.children_count
332
+ page_c.update_attributes!(parent: page_a)
333
+ [page_a, page_b].each(&:reload)
334
+ assert_equal 2, page_a.children_count
335
+ assert_equal 0, page_b.children_count
326
336
 
327
- page_3.destroy
328
- page_1.reload; page_2.reload
329
- assert_equal 1, page_1.children_count
330
- assert_equal 0, page_2.children_count
337
+ page_c.destroy
338
+ [page_a, page_b].each(&:reload)
339
+ assert_equal 1, page_a.children_count
340
+ assert_equal 0, page_b.children_count
331
341
  end
332
342
 
333
343
  def test_cascading_destroy
@@ -341,16 +351,16 @@ class CmsPageTest < ActiveSupport::TestCase
341
351
  end
342
352
 
343
353
  def test_options_for_select
344
- assert_equal ['Default Page', '. . Child Page'],
345
- Comfy::Cms::Page.options_for_select(@site).collect{|t| t.first }
346
- assert_equal ['Default Page'],
347
- Comfy::Cms::Page.options_for_select(@site, comfy_cms_pages(:child)).collect{|t| t.first }
354
+ assert_equal ["Default Page", ". . Child Page"],
355
+ Comfy::Cms::Page.options_for_select(site: @site).collect(&:first)
356
+ assert_equal ["Default Page"],
357
+ Comfy::Cms::Page.options_for_select(site: @site, page: comfy_cms_pages(:child)).collect(&:first)
348
358
  assert_equal [],
349
- Comfy::Cms::Page.options_for_select(@site, @page)
359
+ Comfy::Cms::Page.options_for_select(site: @site, page: @page)
350
360
 
351
361
  page = Comfy::Cms::Page.new(new_params(parent: @page))
352
- assert_equal ['Default Page', '. . Child Page'],
353
- Comfy::Cms::Page.options_for_select(@site, page).collect{|t| t.first }
362
+ assert_equal ["Default Page", ". . Child Page"],
363
+ Comfy::Cms::Page.options_for_select(site: @site, page: page).collect(&:first)
354
364
  end
355
365
 
356
366
  def test_fragments_attributes
@@ -440,7 +450,7 @@ class CmsPageTest < ActiveSupport::TestCase
440
450
  def test_content_caching
441
451
  assert_equal @page.content_cache, @page.render
442
452
 
443
- @page.update_columns(content_cache: 'Old Content')
453
+ @page.update_columns(content_cache: "Old Content")
444
454
  refute_equal @page.content_cache, @page.render
445
455
 
446
456
  @page.clear_content_cache!
@@ -448,7 +458,7 @@ class CmsPageTest < ActiveSupport::TestCase
448
458
  end
449
459
 
450
460
  def test_content_cache_clear_on_save
451
- old_content = 'Old Content'
461
+ old_content = "Old Content"
452
462
  @page.update_columns(content_cache: old_content)
453
463
 
454
464
  @page.save!
@@ -467,74 +477,74 @@ class CmsPageTest < ActiveSupport::TestCase
467
477
  end
468
478
 
469
479
  def test_url
470
- assert_equal '//test.host/', @page.url
471
- assert_equal '//test.host/child-page', comfy_cms_pages(:child).url
480
+ assert_equal "//test.host/", @page.url
481
+ assert_equal "//test.host/child-page", comfy_cms_pages(:child).url
472
482
 
473
- assert_equal '/', @page.url(relative: true)
474
- assert_equal '/child-page', comfy_cms_pages(:child).url(relative: true)
483
+ assert_equal "/", @page.url(relative: true)
484
+ assert_equal "/child-page", comfy_cms_pages(:child).url(relative: true)
475
485
 
476
- @site.update_columns(path: '/en/site')
486
+ @site.update_columns(path: "/en/site")
477
487
  @page.reload
478
488
  comfy_cms_pages(:child).reload
479
489
 
480
- assert_equal '//test.host/en/site/', @page.url
481
- assert_equal '//test.host/en/site/child-page', comfy_cms_pages(:child).url
490
+ assert_equal "//test.host/en/site/", @page.url
491
+ assert_equal "//test.host/en/site/child-page", comfy_cms_pages(:child).url
482
492
 
483
- assert_equal '/en/site/', @page.url(relative: true)
484
- assert_equal '/en/site/child-page', comfy_cms_pages(:child).url(relative: true)
493
+ assert_equal "/en/site/", @page.url(relative: true)
494
+ assert_equal "/en/site/child-page", comfy_cms_pages(:child).url(relative: true)
485
495
  end
486
496
 
487
497
  def test_url_with_public_cms_path
488
- ComfortableMexicanSofa.config.public_cms_path = '/custom'
489
- assert_equal '//test.host/custom/', @page.url
490
- assert_equal '//test.host/custom/child-page', comfy_cms_pages(:child).url
498
+ ComfortableMexicanSofa.config.public_cms_path = "/custom"
499
+ assert_equal "//test.host/custom/", @page.url
500
+ assert_equal "//test.host/custom/child-page", comfy_cms_pages(:child).url
491
501
 
492
- assert_equal '/custom/', @page.url(relative: true)
493
- assert_equal '/custom/child-page', comfy_cms_pages(:child).url(relative: true)
502
+ assert_equal "/custom/", @page.url(relative: true)
503
+ assert_equal "/custom/child-page", comfy_cms_pages(:child).url(relative: true)
494
504
  end
495
505
 
496
506
  def test_unicode_slug_escaping
497
507
  page = comfy_cms_pages(:child)
498
- page_1 = @site.pages.create!(new_params(parent: page, slug: 'tést-ünicode-slug'))
499
- assert_equal CGI::escape('tést-ünicode-slug'), page_1.slug
500
- assert_equal CGI::escape('/child-page/tést-ünicode-slug').gsub('%2F', '/'), page_1.full_path
508
+ page_a = @site.pages.create!(new_params(parent: page, slug: "tést-ünicode-slug"))
509
+ assert_equal CGI.escape("tést-ünicode-slug"), page_a.slug
510
+ assert_equal CGI.escape("/child-page/tést-ünicode-slug").gsub("%2F", "/"), page_a.full_path
501
511
  end
502
512
 
503
513
  def test_unicode_slug_unescaping
504
514
  page = comfy_cms_pages(:child)
505
- page_1 = @site.pages.create!(new_params(parent: page, slug: 'tést-ünicode-slug'))
506
- found_page = @site.pages.where(slug: CGI::escape('tést-ünicode-slug')).first
507
- assert_equal 'tést-ünicode-slug', found_page.slug
508
- assert_equal '/child-page/tést-ünicode-slug', found_page.full_path
515
+ @site.pages.create!(new_params(parent: page, slug: "tést-ünicode-slug"))
516
+ found_page = @site.pages.where(slug: CGI.escape("tést-ünicode-slug")).first
517
+ assert_equal "tést-ünicode-slug", found_page.slug
518
+ assert_equal "/child-page/tést-ünicode-slug", found_page.full_path
509
519
  end
510
520
 
511
521
  def test_identifier
512
- assert_equal 'index', @page.identifier
513
- assert_equal 'child-page', comfy_cms_pages(:child).identifier
522
+ assert_equal "index", @page.identifier
523
+ assert_equal "child-page", comfy_cms_pages(:child).identifier
514
524
 
515
- @page.update_column(:slug, 'index')
516
- assert_equal 'index', comfy_cms_pages(:default).identifier
525
+ @page.update_column(:slug, "index")
526
+ assert_equal "index", comfy_cms_pages(:default).identifier
517
527
  end
518
528
 
519
529
  def test_children_count_updating_on_move
520
- page_1 = @page
521
- page_2 = comfy_cms_pages(:child)
522
- page_3 = @site.pages.create!(new_params(parent: page_2))
530
+ page_a = @page
531
+ page_b = comfy_cms_pages(:child)
532
+ page_c = @site.pages.create!(new_params(parent: page_b))
523
533
 
524
- page_2.reload
534
+ page_b.reload
525
535
 
526
- assert_equal 1, page_1.children_count
527
- assert_equal 1, page_2.children_count
528
- assert_equal 0, page_3.children_count
536
+ assert_equal 1, page_a.children_count
537
+ assert_equal 1, page_b.children_count
538
+ assert_equal 0, page_c.children_count
529
539
 
530
- page_3.parent_id = page_1.id
531
- page_3.save!
540
+ page_c.parent_id = page_a.id
541
+ page_c.save!
532
542
 
533
- page_1.reload; page_2.reload; page_3.reload
543
+ [page_a, page_b, page_c].each(&:reload)
534
544
 
535
- assert_equal 2, page_1.children_count
536
- assert_equal 0, page_2.children_count
537
- assert_equal 0, page_3.children_count
545
+ assert_equal 2, page_a.children_count
546
+ assert_equal 0, page_b.children_count
547
+ assert_equal 0, page_c.children_count
538
548
  end
539
549
 
540
550
  def test_translate
@@ -545,8 +555,8 @@ class CmsPageTest < ActiveSupport::TestCase
545
555
  assert @page.readonly?
546
556
 
547
557
  assert_equal comfy_cms_layouts(:nested), @page.layout
548
- assert_equal 'Default Translation', @page.label
549
- assert_equal 'Translation Content', @page.content_cache
558
+ assert_equal "Default Translation", @page.label
559
+ assert_equal "Translation Content", @page.content_cache
550
560
  end
551
561
 
552
562
  def test_translate_with_unpublished
@@ -561,4 +571,5 @@ class CmsPageTest < ActiveSupport::TestCase
561
571
  @page.translate!(:es)
562
572
  end
563
573
  end
574
+
564
575
  end
@@ -15,7 +15,7 @@ class CmsSiteTest < ActiveSupport::TestCase
15
15
  def test_validation
16
16
  site = Comfy::Cms::Site.new
17
17
  assert site.invalid?
18
- assert_has_errors_on site, [:identifier, :label, :hostname]
18
+ assert_has_errors_on site, :identifier, :label, :hostname
19
19
 
20
20
  site = Comfy::Cms::Site.new(identifier: "test", hostname: "http://site.host")
21
21
  assert site.invalid?
@@ -140,24 +140,24 @@ class CmsSiteTest < ActiveSupport::TestCase
140
140
  end
141
141
 
142
142
  def test_find_site_with_public_cms_path
143
- ComfortableMexicanSofa.config.public_cms_path = '/custom'
144
- assert_equal '//test.host/custom', comfy_cms_sites(:default).url
143
+ ComfortableMexicanSofa.config.public_cms_path = "/custom"
144
+ assert_equal "//test.host/custom", comfy_cms_sites(:default).url
145
145
 
146
- site_a = Comfy::Cms::Site.create!(identifier: 'test_a', hostname: 'test2.host', path: 'en')
147
- site_b = Comfy::Cms::Site.create!(identifier: 'test_b', hostname: 'test2.host', path: 'fr')
146
+ site_a = Comfy::Cms::Site.create!(identifier: "test_a", hostname: "test2.host", path: "en")
147
+ site_b = Comfy::Cms::Site.create!(identifier: "test_b", hostname: "test2.host", path: "fr")
148
148
 
149
- assert_nil Comfy::Cms::Site.find_site('test2.host')
150
- assert_nil Comfy::Cms::Site.find_site('test2.host', '/custom/some/path')
151
- assert_equal site_a, Comfy::Cms::Site.find_site('test2.host', '/custom/en')
152
- assert_equal site_a, Comfy::Cms::Site.find_site('test2.host', '/custom/en?a=b')
153
- assert_equal site_a, Comfy::Cms::Site.find_site('test2.host', '/custom/en/some/path?a=b')
149
+ assert_nil Comfy::Cms::Site.find_site("test2.host")
150
+ assert_nil Comfy::Cms::Site.find_site("test2.host", "/custom/some/path")
151
+ assert_equal site_a, Comfy::Cms::Site.find_site("test2.host", "/custom/en")
152
+ assert_equal site_a, Comfy::Cms::Site.find_site("test2.host", "/custom/en?a=b")
153
+ assert_equal site_a, Comfy::Cms::Site.find_site("test2.host", "/custom/en/some/path?a=b")
154
154
 
155
- assert_nil Comfy::Cms::Site.find_site('test2.host', '/custom/english/some/path')
155
+ assert_nil Comfy::Cms::Site.find_site("test2.host", "/custom/english/some/path")
156
156
 
157
- assert_equal site_b, Comfy::Cms::Site.find_site('test2.host', '/custom/fr')
158
- assert_equal site_b, Comfy::Cms::Site.find_site('test2.host', '/custom/fr?a=b')
159
- assert_equal site_b, Comfy::Cms::Site.find_site('test2.host', '/custom/fr/some/path')
160
- assert_equal site_b, Comfy::Cms::Site.find_site('test2.host', '/custom/fr/some/path?a=b')
157
+ assert_equal site_b, Comfy::Cms::Site.find_site("test2.host", "/custom/fr")
158
+ assert_equal site_b, Comfy::Cms::Site.find_site("test2.host", "/custom/fr?a=b")
159
+ assert_equal site_b, Comfy::Cms::Site.find_site("test2.host", "/custom/fr/some/path")
160
+ assert_equal site_b, Comfy::Cms::Site.find_site("test2.host", "/custom/fr/some/path?a=b")
161
161
  end
162
162
 
163
163
  def test_find_site_with_site_alias
@@ -166,7 +166,7 @@ class CmsSiteTest < ActiveSupport::TestCase
166
166
 
167
167
  ComfortableMexicanSofa.config.hostname_aliases = {
168
168
  "test.host" => "alias_a.host",
169
- "test2.host" => %w(alias_b.host alias_c.host)
169
+ "test2.host" => %w[alias_b.host alias_c.host]
170
170
  }
171
171
 
172
172
  assert_equal site_a, Comfy::Cms::Site.find_site("alias_a.host")
@@ -186,4 +186,5 @@ class CmsSiteTest < ActiveSupport::TestCase
186
186
 
187
187
  assert_equal "/cms/site-path", @site.url(relative: true)
188
188
  end
189
+
189
190
  end
@@ -52,4 +52,5 @@ class CmsSnippetTest < ActiveSupport::TestCase
52
52
  page.reload
53
53
  assert_equal "new snippet content", page.content_cache
54
54
  end
55
+
55
56
  end
@@ -1,4 +1,4 @@
1
- require_relative '../test_helper'
1
+ require_relative "../test_helper"
2
2
 
3
3
  class CmsPageTest < ActiveSupport::TestCase
4
4
 
@@ -57,4 +57,5 @@ class CmsPageTest < ActiveSupport::TestCase
57
57
  comfy_cms_translations(:default).update_columns(is_published: false)
58
58
  assert_equal 0, Comfy::Cms::Translation.published.count
59
59
  end
60
+
60
61
  end
@@ -12,7 +12,7 @@ class CmsSeedsTaskTest < ActiveSupport::TestCase
12
12
  end
13
13
 
14
14
  def test_import
15
- importer = mock()
15
+ importer = mock
16
16
  ComfortableMexicanSofa::Seeds::Importer.expects(:new).with("from_folder", "to_site").returns(importer)
17
17
  importer.expects(:import!)
18
18
 
@@ -22,7 +22,7 @@ class CmsSeedsTaskTest < ActiveSupport::TestCase
22
22
  end
23
23
 
24
24
  def test_export
25
- exporter = mock()
25
+ exporter = mock
26
26
  ComfortableMexicanSofa::Seeds::Exporter.expects(:new).with("from_site", "to_folder").returns(exporter)
27
27
  exporter.expects(:export!)
28
28
 
@@ -30,4 +30,5 @@ class CmsSeedsTaskTest < ActiveSupport::TestCase
30
30
  @rake["comfy:cms_seeds:export"].invoke("from_site", "to_folder")
31
31
  end
32
32
  end
33
+
33
34
  end