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,5 +0,0 @@
1
- = form.text_field :bar
2
-
3
- = form.form_actions do
4
- = form.submit class: "btn btn-primary"
5
- = link_to 'Cancel', admin_foos_path, class: "btn btn-link"
@@ -1,5 +0,0 @@
1
- .page-header
2
- %h2 Edit Foo
3
-
4
- = comfy_form_for [:admin, @foo] do |form|
5
- = render form
@@ -1,21 +0,0 @@
1
- .page-header
2
- = link_to 'New Foo', new_admin_foo_path, class: 'btn btn-secondary float-right'
3
- %h2= 'Foos'
4
-
5
- = paginate @foos, theme: 'comfy'
6
-
7
- %ul.list
8
- - @foos.each do |foo|
9
- %li
10
- .row
11
- .col-md-8.item
12
- .item-content
13
- .item-title
14
- = foo.bar
15
-
16
- .col-md-4.d-flex.align-items-center.justify-content-md-end
17
- .btn-group.btn-group-sm
18
- = link_to 'Edit', edit_admin_foo_path(foo), class: 'btn btn-outline-secondary'
19
- = link_to 'Delete', admin_foo_path(foo), method: :delete, data: {confirm: 'Are you sure?'}, class: 'btn btn-danger'
20
-
21
- = paginate @foos, theme: 'comfy'
@@ -1,5 +0,0 @@
1
- .page-header
2
- %h2 New Foo
3
-
4
- = comfy_form_for [:admin, @foo] do |form|
5
- = render form
@@ -1,4 +0,0 @@
1
- .page-header
2
- %h2 Foo
3
-
4
- = debug @foo
@@ -1 +0,0 @@
1
- hook_content
@@ -1 +0,0 @@
1
- <hook_content_2>
@@ -1 +0,0 @@
1
- TestPartial <%= @test_value %>
@@ -1 +0,0 @@
1
- Can render CMS layout and specify action
@@ -1 +0,0 @@
1
- TestTemplate <%= @test_value %>
@@ -1,19 +0,0 @@
1
- source 'http://rubygems.org'
2
-
3
- gemspec path: "../../"
4
-
5
- group :development, :test do
6
- gem "byebug", platforms: %i[mri mingw x64_mingw]
7
- gem "capybara"
8
- gem "kaminari"
9
- gem "puma"
10
- gem "rubocop", require: false
11
- gem "selenium-webdriver"
12
- gem "sqlite3"
13
- end
14
-
15
- group :test do
16
- gem "coveralls", require: false
17
- gem "mocha", require: false
18
- gem "rails-controller-testing"
19
- end
@@ -1,14 +0,0 @@
1
- require_relative "../test_helper"
2
- require_relative "../../lib/generators/comfy/cms/assets_generator"
3
-
4
- class CmsAssetsGeneratorTest < Rails::Generators::TestCase
5
-
6
- tests Comfy::Generators::Cms::AssetsGenerator
7
-
8
- def test_generator
9
- run_generator
10
- assert_directory "app/assets/javascripts/comfy/admin/cms"
11
- assert_directory "app/assets/stylesheets/comfy/admin/cms"
12
- end
13
-
14
- end
@@ -1,14 +0,0 @@
1
- require_relative "../test_helper"
2
- require_relative "../../lib/generators/comfy/cms/controllers_generator"
3
-
4
- class CmsControllersGeneratorTest < Rails::Generators::TestCase
5
-
6
- tests Comfy::Generators::Cms::ControllersGenerator
7
-
8
- def test_generator
9
- run_generator
10
- assert_directory "app/controllers/comfy"
11
- assert_file "app/controllers/comfy/admin/cms/base_controller.rb"
12
- end
13
-
14
- end
@@ -1,26 +0,0 @@
1
- require_relative "../test_helper"
2
- require_relative "../../lib/generators/comfy/cms/cms_generator"
3
-
4
- class CmsGeneratorTest < Rails::Generators::TestCase
5
-
6
- tests Comfy::Generators::CmsGenerator
7
-
8
- def test_generator
9
- run_generator
10
-
11
- assert_migration "db/migrate/create_cms.rb"
12
-
13
- assert_file "config/initializers/comfortable_mexican_sofa.rb"
14
-
15
- assert_file "config/routes.rb", read_file("cms/routes.rb")
16
-
17
- assert_file "config/application.rb", read_file("cms/application.rb")
18
-
19
- assert_directory "db/cms_seeds"
20
-
21
- assert_file "app/assets/javascripts/comfy/admin/cms/custom.js.coffee"
22
-
23
- assert_file "app/assets/stylesheets/comfy/admin/cms/custom.sass"
24
- end
25
-
26
- end
@@ -1,14 +0,0 @@
1
- require_relative "../test_helper"
2
- require_relative "../../lib/generators/comfy/cms/models_generator"
3
-
4
- class CmsModelsGeneratorTest < Rails::Generators::TestCase
5
-
6
- tests Comfy::Generators::Cms::ModelsGenerator
7
-
8
- def test_generator
9
- run_generator
10
- assert_directory "app/models/comfy"
11
- assert_file "app/models/comfy/cms/page.rb"
12
- end
13
-
14
- end
@@ -1,14 +0,0 @@
1
- require_relative "../test_helper"
2
- require_relative "../../lib/generators/comfy/cms/views_generator"
3
-
4
- class CmsViewsGeneratorTest < Rails::Generators::TestCase
5
-
6
- tests Comfy::Generators::Cms::ViewsGenerator
7
-
8
- def test_generator
9
- run_generator
10
- assert_directory "app/views/comfy"
11
- assert_file "app/views/comfy/admin/cms/pages/index.html.haml"
12
- end
13
-
14
- end
@@ -1,32 +0,0 @@
1
- require_relative "../test_helper"
2
- require_relative "../../lib/generators/comfy/scaffold/scaffold_generator"
3
-
4
- class ScaffoldGeneratorTest < Rails::Generators::TestCase
5
-
6
- tests Comfy::Generators::ScaffoldGenerator
7
-
8
- def test_generator
9
- run_generator %w[Foo bar:string]
10
-
11
- assert_migration "db/migrate/create_foos.rb", read_file("scaffold/migration.rb")
12
- assert_file "app/models/foo.rb", read_file("scaffold/model.rb")
13
- assert_file "test/models/foo_test.rb", read_file("scaffold/tests/model.rb")
14
- assert_file "test/fixtures/foos.yml", read_file("scaffold/tests/fixture")
15
-
16
- assert_file "app/controllers/admin/foos_controller.rb", read_file("scaffold/controller.rb")
17
- assert_file "test/controllers/admin/foos_controller_test.rb", read_file("scaffold/tests/controller.rb")
18
-
19
- assert_file "app/views/admin/foos/index.html.haml", read_file("scaffold/views/index.haml")
20
- assert_file "app/views/admin/foos/show.html.haml", read_file("scaffold/views/show.haml")
21
- assert_file "app/views/admin/foos/new.html.haml", read_file("scaffold/views/new.haml")
22
- assert_file "app/views/admin/foos/edit.html.haml", read_file("scaffold/views/edit.haml")
23
- assert_file "app/views/admin/foos/_form.html.haml", read_file("scaffold/views/_form.haml")
24
-
25
- assert_file "config/routes.rb", read_file("scaffold/routes.rb")
26
-
27
- assert_file "app/views/comfy/admin/cms/partials/_navigation_inner.html.haml" do |file|
28
- assert_match "%li.nav-item\n = active_link_to 'Foos', admin_foos_path, class: 'nav-link'", file
29
- end
30
- end
31
-
32
- end
@@ -1,106 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class ViewMethodsTest < ActionView::TestCase
4
-
5
- include Comfy::CmsHelper
6
-
7
- module TestViewHelpers
8
-
9
- def hello
10
- "hello"
11
- end
12
-
13
- end
14
- ActionView::Base.send :include, TestViewHelpers
15
-
16
- setup do
17
- # we're simulating instance variables that are present on the view/controller
18
- @cms_site = comfy_cms_sites(:default)
19
- @cms_page = comfy_cms_pages(:default)
20
- end
21
-
22
- def test_cms_fragment_content
23
- assert_equal "content", cms_fragment_content(:content)
24
- assert_equal "content", cms_fragment_content(:content, @cms_page)
25
- assert_equal "", cms_fragment_content(:invalid)
26
- end
27
-
28
- def test_cms_fragment_content_with_datetime
29
- frag = comfy_cms_fragments(:datetime)
30
- assert_equal "datetime", frag.tag
31
- assert_equal "1981-10-04 12:34:56 UTC", cms_fragment_content(frag.identifier).to_s
32
- end
33
-
34
- def test_cms_fragment_content_with_date
35
- frag = comfy_cms_fragments(:datetime)
36
- frag.update_columns(tag: "date", datetime: "2017-01-01")
37
- assert_equal "2017-01-01 00:00:00 UTC", cms_fragment_content(frag.identifier).to_s
38
- end
39
-
40
- def test_cms_fragment_content_with_boolean
41
- frag = comfy_cms_fragments(:boolean)
42
- assert_equal true, cms_fragment_content(frag.identifier)
43
- end
44
-
45
- def test_cms_fragment_content_with_files
46
- frag = comfy_cms_fragments(:file)
47
- assert_equal frag.attachments.to_a, cms_fragment_content(frag.identifier).to_a
48
- end
49
-
50
- def test_cms_fragment_render
51
- assert_equal "content", cms_fragment_render(:content)
52
- assert_equal "", cms_fragment_render(:invalid)
53
- end
54
-
55
- def test_cms_fragment_render_with_tags
56
- comfy_cms_fragments(:default).update_column(:content, "a {{cms:helper hello }} b")
57
- assert_equal "a hello b", cms_fragment_render(:content)
58
- end
59
-
60
- def test_cms_fragment_render_with_erb
61
- comfy_cms_fragments(:default).update_column(:content, "<%= 1 + 1 %>")
62
- assert_equal "&lt;%= 1 + 1 %&gt;", cms_fragment_render(:content)
63
- end
64
-
65
- def test_cms_fragment_render_with_datetime
66
- comfy_cms_layouts(:default).update_column(:content, "{{cms:datetime datetime}}")
67
- assert_equal "1981-10-04 12:34:56 UTC", cms_fragment_render(:datetime)
68
- end
69
-
70
- def test_cms_fragment_render_with_boolean
71
- comfy_cms_layouts(:default).update_column(:content, "{{cms:checkbox boolean}}")
72
- assert_equal "true", cms_fragment_render(:boolean)
73
- end
74
-
75
- def test_cms_fragment_render_with_files
76
- frag = comfy_cms_fragments(:file)
77
- comfy_cms_layouts(:default).update_column(:content, "{{cms:file file}}")
78
- assert_equal url_for(frag.attachments.first), cms_fragment_render(:file)
79
- end
80
-
81
- def test_cms_snippet_content
82
- assert_equal "snippet content", cms_snippet_content(:default)
83
- assert_equal "snippet content", cms_snippet_content(:default, @cms_site)
84
- assert_equal "", cms_snippet_content(:invalid)
85
- end
86
-
87
- def test_cms_snippet_content_with_site_loading
88
- @cms_site = nil
89
- assert_equal "snippet content", cms_snippet_content(:default)
90
- end
91
-
92
- def test_cms_snippet_render
93
- assert_equal "snippet content", cms_snippet_render(:default)
94
- end
95
-
96
- def test_cms_snippet_with_erb
97
- comfy_cms_snippets(:default).update_column(:content, "<%= 1 + 1 %>")
98
- assert_equal "&lt;%= 1 + 1 %&gt;", cms_snippet_render(:default)
99
- end
100
-
101
- def test_cms_snippet_render_with_tags
102
- comfy_cms_snippets(:default).update_column(:content, "a {{cms:helper hello}} b")
103
- assert_equal "a hello b", cms_snippet_render(:default)
104
- end
105
-
106
- end
@@ -1,179 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class AccessControlTest < ActionDispatch::IntegrationTest
4
-
5
- module TestAuthentication
6
-
7
- module Authenticate
8
-
9
- def authenticate
10
- render plain: "Test Login Denied", status: :unauthorized
11
- end
12
-
13
- end
14
-
15
- # faking ComfortableMexicanSofa.config.admin_auth = 'AccessControlTest::TestAuthentication'
16
- # faking ComfortableMexicanSofa.config.public_auth = 'AccessControlTest::TestAuthentication'
17
- class SitesController < Comfy::Admin::Cms::SitesController; include Authenticate; end
18
- class ContentController < Comfy::Cms::ContentController; include Authenticate; end
19
-
20
- end
21
-
22
- module TestAuthorization
23
-
24
- module Authorize
25
-
26
- def authorize
27
- @authorization_vars = instance_variables
28
- render plain: "Test Access Denied", status: :forbidden
29
- end
30
-
31
- end
32
-
33
- # faking ComfortableMexicanSofa.config.admin_authorization = 'AccessControlTest::TestAuthorization'
34
- # faking ComfortableMexicanSofa.config.public_authorization = 'AccessControlTest::TestAuthorization'
35
- class SitesController < Comfy::Admin::Cms::SitesController; include Authorize; end
36
- class LayoutsController < Comfy::Admin::Cms::LayoutsController; include Authorize; end
37
- class PagesController < Comfy::Admin::Cms::PagesController; include Authorize; end
38
- class SnippetsController < Comfy::Admin::Cms::SnippetsController; include Authorize; end
39
- class FilesController < Comfy::Admin::Cms::FilesController; include Authorize; end
40
- class CategoriesController < Comfy::Admin::Cms::CategoriesController; include Authorize; end
41
- class RevisionsController < Comfy::Admin::Cms::Revisions::LayoutController; include Authorize; end
42
- class TranslationsController < Comfy::Admin::Cms::TranslationsController; include Authorize; end
43
- class ContentController < Comfy::Cms::ContentController; include Authorize; end
44
-
45
- end
46
-
47
- # -- Tests -------------------------------------------------------------------
48
- def test_admin_authentication_default
49
- assert_equal "ComfortableMexicanSofa::AccessControl::AdminAuthentication",
50
- ComfortableMexicanSofa.config.admin_auth
51
-
52
- get comfy_admin_cms_sites_path
53
- assert_response :unauthorized
54
-
55
- r :get, comfy_admin_cms_sites_path
56
- assert_response :success
57
- end
58
-
59
- def test_admin_authentication_custom
60
- with_routing do |routes|
61
- routes.draw do
62
- get "/admin/sites" => "access_control_test/test_authentication/sites#index"
63
- end
64
-
65
- get "/admin/sites"
66
- assert_response :unauthorized
67
- assert_equal "Test Login Denied", response.body
68
- end
69
- end
70
-
71
- def test_admin_authorization_default
72
- assert_equal "ComfortableMexicanSofa::AccessControl::AdminAuthorization",
73
- ComfortableMexicanSofa.config.admin_authorization
74
-
75
- Comfy::Admin::Cms::BaseController.send(:include, ComfortableMexicanSofa::AccessControl::AdminAuthorization)
76
- r :get, "/admin/sites/#{comfy_cms_sites(:default).to_param}/edit"
77
- assert_response :success, response.body
78
- end
79
-
80
- def test_admin_authorization_custom
81
- site = comfy_cms_sites(:default)
82
- with_routing do |routes|
83
- routes.draw do
84
- s = "/admin/sites"
85
- ns = "access_control_test/test_authorization"
86
- get "#{s}/:id/edit" => "#{ns}/sites#edit"
87
- get "#{s}/:site_id/layouts/:id/edit" => "#{ns}/layouts#edit"
88
- get "#{s}/:site_id/layouts/:layout_id/revisions/:id" => "#{ns}/revisions#show"
89
- get "#{s}/:site_id/pages/:id/edit" => "#{ns}/pages#edit"
90
- get "#{s}/:site_id/pages/:page_id/translations/:id/edit" => "#{ns}/pages#edit"
91
- get "#{s}/:site_id/snippets/:id/edit" => "#{ns}/snippets#edit"
92
- get "#{s}/:site_id/files/:id/edit" => "#{ns}/files#edit"
93
- get "#{s}/:site_id/categories/:id/edit" => "#{ns}/categories#edit"
94
- end
95
-
96
- r :get, "/admin/sites/#{site.id}/edit"
97
- assert_response :forbidden
98
- assert_equal "Test Access Denied", response.body
99
- assert assigns(:authorization_vars)
100
- assert assigns(:authorization_vars).member?(:@site)
101
-
102
- layout = comfy_cms_layouts(:default)
103
- r :get, "/admin/sites/#{site.id}/layouts/#{layout.id}/edit"
104
- assert assigns(:authorization_vars).member?(:@site)
105
- assert assigns(:authorization_vars).member?(:@layout)
106
-
107
- revision = comfy_cms_revisions(:layout)
108
- r :get, "/admin/sites/#{site.id}/layouts/#{layout.id}/revisions/#{revision.id}"
109
- assert assigns(:authorization_vars).member?(:@site)
110
- assert assigns(:authorization_vars).member?(:@record)
111
-
112
- page = comfy_cms_pages(:default)
113
- r :get, "/admin/sites/#{site.id}/pages/#{page.id}/edit"
114
- assert assigns(:authorization_vars).member?(:@site)
115
- assert assigns(:authorization_vars).member?(:@page)
116
-
117
- translation = comfy_cms_translations(:default)
118
- r :get, "/admin/sites/#{site.id}/pages/#{page.id}/translations/#{translation.id}/edit"
119
- assert assigns(:authorization_vars).member?(:@site)
120
- assert assigns(:authorization_vars).member?(:@page)
121
-
122
- snippet = comfy_cms_snippets(:default)
123
- r :get, "/admin/sites/#{site.id}/snippets/#{snippet.id}/edit"
124
- assert assigns(:authorization_vars).member?(:@site)
125
- assert assigns(:authorization_vars).member?(:@snippet)
126
-
127
- file = comfy_cms_files(:default)
128
- r :get, "/admin/sites/#{site.id}/files/#{file.id}/edit"
129
- assert assigns(:authorization_vars).member?(:@site)
130
- assert assigns(:authorization_vars).member?(:@file)
131
-
132
- category = comfy_cms_categories(:default)
133
- r :get, "/admin/sites/#{site.id}/categories/#{category.id}/edit"
134
- assert assigns(:authorization_vars).member?(:@site)
135
- assert assigns(:authorization_vars).member?(:@category)
136
- end
137
- end
138
-
139
- def test_public_authentication_default
140
- assert_equal "ComfortableMexicanSofa::AccessControl::PublicAuthentication",
141
- ComfortableMexicanSofa.config.public_auth
142
-
143
- get "/"
144
- assert_response :success, response.body
145
- end
146
-
147
- def test_public_authorization_default
148
- assert_equal "ComfortableMexicanSofa::AccessControl::PublicAuthorization",
149
- ComfortableMexicanSofa.config.public_authorization
150
-
151
- get "/"
152
- assert_response :success, response.body
153
- end
154
-
155
- def test_public_authentication_custom
156
- with_routing do |routes|
157
- routes.draw do
158
- get "(*cms_path)" => "access_control_test/test_authentication/content#show"
159
- end
160
-
161
- get "/"
162
- assert_response :unauthorized
163
- assert_equal "Test Login Denied", response.body
164
- end
165
- end
166
-
167
- def test_public_authorization_custom
168
- with_routing do |routes|
169
- routes.draw do
170
- get "(*cms_path)" => "access_control_test/test_authorization/content#show"
171
- end
172
-
173
- get "/"
174
- assert_response :forbidden
175
- assert_equal "Test Access Denied", response.body
176
- end
177
- end
178
-
179
- end