comfortable_mexican_sofa 0.0.18 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. data/.gitignore +8 -8
  2. data/Gemfile +11 -0
  3. data/Gemfile.lock +91 -0
  4. data/README.md +4 -0
  5. data/Rakefile +28 -57
  6. data/VERSION +1 -1
  7. data/app/controllers/application_controller.rb +5 -0
  8. data/app/controllers/cms_admin/base_controller.rb +1 -21
  9. data/app/controllers/cms_admin/layouts_controller.rb +23 -38
  10. data/app/controllers/cms_admin/pages_controller.rb +24 -40
  11. data/app/controllers/cms_admin/snippets_controller.rb +26 -34
  12. data/app/controllers/cms_admin/uploads_controller.rb +27 -0
  13. data/app/controllers/cms_content_controller.rb +22 -19
  14. data/app/models/cms_block.rb +20 -6
  15. data/app/models/cms_layout.rb +34 -80
  16. data/app/models/cms_page.rb +44 -102
  17. data/app/models/cms_snippet.rb +12 -7
  18. data/app/models/cms_upload.rb +36 -0
  19. data/app/views/cms_admin/layouts/_form.html.erb +6 -0
  20. data/app/views/cms_admin/layouts/_index_branch.html.erb +24 -0
  21. data/app/views/cms_admin/layouts/edit.html.erb +6 -0
  22. data/app/views/cms_admin/layouts/index.html.erb +6 -0
  23. data/app/views/cms_admin/layouts/new.html.erb +6 -0
  24. data/app/views/cms_admin/pages/_form.html.erb +14 -0
  25. data/app/views/cms_admin/pages/_form_blocks.html.erb +7 -0
  26. data/app/views/cms_admin/pages/_index_branch.html.erb +27 -0
  27. data/app/views/cms_admin/pages/edit.html.erb +6 -0
  28. data/app/views/cms_admin/pages/form_blocks.js.erb +1 -0
  29. data/app/views/cms_admin/pages/index.html.erb +6 -0
  30. data/app/views/cms_admin/pages/new.html.erb +6 -0
  31. data/app/views/cms_admin/snippets/_form.html.erb +2 -0
  32. data/app/views/cms_admin/snippets/edit.html.erb +6 -0
  33. data/app/views/cms_admin/snippets/index.html.erb +3 -0
  34. data/app/views/cms_admin/snippets/new.html.erb +6 -0
  35. data/app/views/cms_admin/uploads/_index.html.erb +8 -0
  36. data/app/views/cms_admin/uploads/_upload.html.erb +11 -0
  37. data/app/views/cms_admin/uploads/destroy.js.erb +3 -0
  38. data/app/views/cms_admin/uploads/index.html.erb +2 -0
  39. data/app/views/layouts/cms_admin.html.erb +36 -0
  40. data/comfortable_mexican_sofa.gemspec +141 -197
  41. data/config.ru +4 -0
  42. data/config/application.rb +44 -0
  43. data/config/boot.rb +13 -0
  44. data/{test/rails_root/config → config}/database.yml +0 -0
  45. data/config/environment.rb +5 -0
  46. data/config/environments/development.rb +22 -0
  47. data/config/environments/production.rb +49 -0
  48. data/config/environments/test.rb +35 -0
  49. data/{test/rails_root/config → config}/initializers/backtrace_silencers.rb +2 -2
  50. data/{test/rails_root/config → config}/initializers/inflections.rb +1 -1
  51. data/{test/rails_root/config → config}/initializers/mime_types.rb +0 -0
  52. data/config/initializers/paperclip.rb +3 -0
  53. data/config/initializers/secret_token.rb +7 -0
  54. data/config/initializers/session_store.rb +8 -0
  55. data/{test/rails_root/config → config}/locales/en.yml +1 -1
  56. data/config/routes.rb +20 -0
  57. data/db/migrate/01_create_cms.rb +73 -0
  58. data/db/seeds.rb +7 -0
  59. data/doc/README_FOR_APP +95 -0
  60. data/lib/comfortable_mexican_sofa.rb +34 -39
  61. data/lib/comfortable_mexican_sofa/cms_acts_as_tree.rb +42 -49
  62. data/lib/comfortable_mexican_sofa/cms_form_builder.rb +107 -0
  63. data/lib/comfortable_mexican_sofa/cms_rails_extensions.rb +25 -5
  64. data/lib/comfortable_mexican_sofa/cms_tag.rb +90 -85
  65. data/lib/comfortable_mexican_sofa/cms_tag/field_datetime.rb +26 -0
  66. data/lib/comfortable_mexican_sofa/cms_tag/field_integer.rb +26 -0
  67. data/lib/comfortable_mexican_sofa/cms_tag/field_string.rb +26 -0
  68. data/lib/comfortable_mexican_sofa/cms_tag/field_text.rb +26 -0
  69. data/lib/comfortable_mexican_sofa/cms_tag/page_datetime.rb +22 -0
  70. data/lib/comfortable_mexican_sofa/cms_tag/page_integer.rb +22 -0
  71. data/lib/comfortable_mexican_sofa/cms_tag/page_string.rb +22 -0
  72. data/lib/comfortable_mexican_sofa/cms_tag/page_text.rb +22 -0
  73. data/lib/comfortable_mexican_sofa/cms_tag/partial.rb +20 -0
  74. data/lib/comfortable_mexican_sofa/cms_tag/snippet.rb +18 -0
  75. data/{generators/cms/templates → lib/generators}/README +0 -20
  76. data/lib/generators/cms_generator.rb +28 -0
  77. data/public/404.html +26 -0
  78. data/public/422.html +26 -0
  79. data/public/500.html +26 -0
  80. data/{test/rails_root/public → public}/favicon.ico +0 -0
  81. data/public/images/comfortable_mexican_sofa/body_bg.jpg +0 -0
  82. data/{generators/cms/templates/images → public/images/comfortable_mexican_sofa}/icon_regular.gif +0 -0
  83. data/public/javascripts/comfortable_mexican_sofa/cms.js +53 -0
  84. data/public/javascripts/comfortable_mexican_sofa/jquery-ui.js +325 -0
  85. data/public/javascripts/comfortable_mexican_sofa/jquery.js +154 -0
  86. data/public/javascripts/comfortable_mexican_sofa/plupload/plupload.full.min.js +1 -0
  87. data/public/javascripts/comfortable_mexican_sofa/plupload/plupload.html4.min.js +1 -0
  88. data/public/javascripts/comfortable_mexican_sofa/plupload/plupload.html5.min.js +1 -0
  89. data/public/javascripts/comfortable_mexican_sofa/rails.js +132 -0
  90. data/public/javascripts/comfortable_mexican_sofa/uploader.js +47 -0
  91. data/{test/rails_root/public → public}/robots.txt +0 -0
  92. data/public/stylesheets/comfortable_mexican_sofa/jquery-ui.css +305 -0
  93. data/public/stylesheets/comfortable_mexican_sofa/reset.css +1 -0
  94. data/public/stylesheets/comfortable_mexican_sofa/structure.css +194 -0
  95. data/public/stylesheets/comfortable_mexican_sofa/typography.css +20 -0
  96. data/script/rails +6 -0
  97. data/test/fixtures/README.md +22 -0
  98. data/test/fixtures/cms_blocks.yml +10 -34
  99. data/test/fixtures/cms_layouts.yml +37 -33
  100. data/test/fixtures/cms_pages.yml +11 -32
  101. data/test/fixtures/cms_snippets.yml +2 -6
  102. data/test/fixtures/cms_uploads.yml +4 -0
  103. data/test/fixtures/files/invalid_file.gif +9 -0
  104. data/test/fixtures/files/valid_image.jpg +0 -0
  105. data/test/functional/cms_admin/base_controller_test.rb +9 -0
  106. data/test/functional/cms_admin/layouts_controller_test.rb +61 -46
  107. data/test/functional/cms_admin/pages_controller_test.rb +201 -102
  108. data/test/functional/cms_admin/snippets_controller_test.rb +46 -39
  109. data/test/functional/cms_admin/uploads_controller_test.rb +32 -0
  110. data/test/functional/cms_content_controller_test.rb +37 -32
  111. data/test/test_helper.rb +29 -9
  112. data/test/unit/cms_block_test.rb +60 -0
  113. data/test/unit/cms_layout_test.rb +48 -0
  114. data/test/unit/cms_page_test.rb +122 -0
  115. data/test/unit/cms_snippet_test.rb +23 -0
  116. data/test/unit/cms_tag_test.rb +149 -0
  117. data/test/unit/cms_tags/field_datetime_test.rb +36 -0
  118. data/test/unit/cms_tags/field_integer_test.rb +35 -0
  119. data/test/unit/cms_tags/field_string_test.rb +35 -0
  120. data/test/unit/cms_tags/field_text_test.rb +34 -0
  121. data/test/unit/cms_tags/page_datetime_test.rb +36 -0
  122. data/test/unit/cms_tags/page_integer_test.rb +35 -0
  123. data/test/unit/cms_tags/page_string_test.rb +35 -0
  124. data/test/unit/cms_tags/page_text_test.rb +36 -0
  125. data/test/unit/cms_tags/partial_test.rb +30 -0
  126. data/test/unit/cms_tags/snippet_test.rb +34 -0
  127. data/test/unit/cms_upload_test.rb +30 -0
  128. metadata +176 -215
  129. data/CHANGELOG.rdoc +0 -2
  130. data/LICENSE +0 -20
  131. data/README.rdoc +0 -55
  132. data/app/controllers/cms_admin/attachments_controller.rb +0 -55
  133. data/app/controllers/cms_admin/categories_controller.rb +0 -69
  134. data/app/controllers/cms_admin/sections_controller.rb +0 -17
  135. data/app/controllers/cms_common/render_page.rb +0 -47
  136. data/app/helpers/cms_helper.rb +0 -12
  137. data/app/models/cms_attachment.rb +0 -17
  138. data/app/models/cms_attachment_categorization.rb +0 -5
  139. data/app/models/cms_category.rb +0 -36
  140. data/app/models/cms_page_categorization.rb +0 -6
  141. data/app/views/cms_admin/attachments/_details.html.haml +0 -27
  142. data/app/views/cms_admin/attachments/_form.html.haml +0 -24
  143. data/app/views/cms_admin/attachments/edit.html.haml +0 -10
  144. data/app/views/cms_admin/attachments/index.html.haml +0 -36
  145. data/app/views/cms_admin/attachments/new.html.haml +0 -8
  146. data/app/views/cms_admin/categories/_category.html.haml +0 -21
  147. data/app/views/cms_admin/categories/_category_subform.html.haml +0 -12
  148. data/app/views/cms_admin/categories/_form.html.haml +0 -18
  149. data/app/views/cms_admin/categories/_new.html.haml +0 -7
  150. data/app/views/cms_admin/categories/_toggle_link.html.haml +0 -9
  151. data/app/views/cms_admin/categories/_tree_branch.html.haml +0 -36
  152. data/app/views/cms_admin/categories/children.js.rjs +0 -10
  153. data/app/views/cms_admin/categories/create.js.rjs +0 -9
  154. data/app/views/cms_admin/categories/edit.html.haml +0 -10
  155. data/app/views/cms_admin/categories/index.html.haml +0 -7
  156. data/app/views/cms_admin/categories/new.html.haml +0 -8
  157. data/app/views/cms_admin/categories/show.html.haml +0 -17
  158. data/app/views/cms_admin/layouts/_details.html.haml +0 -6
  159. data/app/views/cms_admin/layouts/_form.html.haml +0 -19
  160. data/app/views/cms_admin/layouts/_toggle_link.html.haml +0 -9
  161. data/app/views/cms_admin/layouts/_tree_branch.html.haml +0 -39
  162. data/app/views/cms_admin/layouts/children.js.rjs +0 -10
  163. data/app/views/cms_admin/layouts/edit.html.haml +0 -10
  164. data/app/views/cms_admin/layouts/index.html.haml +0 -7
  165. data/app/views/cms_admin/layouts/new.html.haml +0 -8
  166. data/app/views/cms_admin/pages/_details.html.haml +0 -25
  167. data/app/views/cms_admin/pages/_form.html.haml +0 -45
  168. data/app/views/cms_admin/pages/_form_blocks.html.haml +0 -48
  169. data/app/views/cms_admin/pages/_toggle_link.html.haml +0 -10
  170. data/app/views/cms_admin/pages/_tree_branch.html.haml +0 -41
  171. data/app/views/cms_admin/pages/children.js.rjs +0 -10
  172. data/app/views/cms_admin/pages/edit.html.haml +0 -11
  173. data/app/views/cms_admin/pages/form_blocks.js.rjs +0 -1
  174. data/app/views/cms_admin/pages/index.html.haml +0 -6
  175. data/app/views/cms_admin/pages/new.html.haml +0 -9
  176. data/app/views/cms_admin/sections/show.html.haml +0 -23
  177. data/app/views/cms_admin/snippets/_form.html.haml +0 -10
  178. data/app/views/cms_admin/snippets/edit.html.haml +0 -10
  179. data/app/views/cms_admin/snippets/index.html.haml +0 -26
  180. data/app/views/cms_admin/snippets/new.html.haml +0 -8
  181. data/app/views/cms_content/show.xml.rxml +0 -27
  182. data/app/views/cms_content/sitemap.xml.rxml +0 -16
  183. data/app/views/layouts/cms_admin.html.haml +0 -44
  184. data/config/cms_routes.rb +0 -25
  185. data/generators/cms/cms_generator.rb +0 -55
  186. data/generators/cms/templates/images/arrow_bottom.gif +0 -0
  187. data/generators/cms/templates/images/arrow_right.gif +0 -0
  188. data/generators/cms/templates/images/icon_attachment.gif +0 -0
  189. data/generators/cms/templates/images/icon_category.gif +0 -0
  190. data/generators/cms/templates/images/icon_draft.gif +0 -0
  191. data/generators/cms/templates/images/icon_layout.gif +0 -0
  192. data/generators/cms/templates/images/icon_move.gif +0 -0
  193. data/generators/cms/templates/images/icon_snippet.gif +0 -0
  194. data/generators/cms/templates/images/logo.png +0 -0
  195. data/generators/cms/templates/initializers/cms.rb +0 -14
  196. data/generators/cms/templates/initializers/paperclip.rb +0 -14
  197. data/generators/cms/templates/javascripts/codemirror_init.js +0 -16
  198. data/generators/cms/templates/javascripts/mce_init.js +0 -17
  199. data/generators/cms/templates/javascripts/utilities.js +0 -27
  200. data/generators/cms/templates/migrations/create_cms.rb +0 -113
  201. data/generators/cms/templates/stylesheets/cms_master.sass +0 -414
  202. data/init.rb +0 -1
  203. data/lib/comfortable_mexican_sofa/acts_as_categorized.rb +0 -87
  204. data/lib/comfortable_mexican_sofa/acts_as_published.rb +0 -60
  205. data/lib/comfortable_mexican_sofa/cms_tags/attachment.rb +0 -3
  206. data/lib/comfortable_mexican_sofa/cms_tags/block.rb +0 -117
  207. data/lib/comfortable_mexican_sofa/cms_tags/helper.rb +0 -3
  208. data/lib/comfortable_mexican_sofa/cms_tags/page_block.rb +0 -119
  209. data/lib/comfortable_mexican_sofa/cms_tags/partial.rb +0 -19
  210. data/lib/comfortable_mexican_sofa/cms_tags/snippet.rb +0 -19
  211. data/rails/init.rb +0 -1
  212. data/test/fixtures/cms_attachment_categorizations.yml +0 -7
  213. data/test/fixtures/cms_attachments.yml +0 -6
  214. data/test/fixtures/cms_categories.yml +0 -19
  215. data/test/fixtures/cms_page_categorizations.yml +0 -15
  216. data/test/fixtures/files/upload_file.txt +0 -1
  217. data/test/functional/cms_admin/attachments_controller_test.rb +0 -63
  218. data/test/functional/cms_admin/categories_controller_test.rb +0 -86
  219. data/test/functional/cms_admin/sections_controller_test.rb +0 -9
  220. data/test/models/cms_attachment_test.rb +0 -16
  221. data/test/models/cms_block_test.rb +0 -11
  222. data/test/models/cms_categorization_test.rb +0 -39
  223. data/test/models/cms_category_test.rb +0 -71
  224. data/test/models/cms_layout_test.rb +0 -44
  225. data/test/models/cms_page_test.rb +0 -55
  226. data/test/models/cms_snippet_test.rb +0 -16
  227. data/test/models/cms_tag_test.rb +0 -70
  228. data/test/rails_root/README +0 -243
  229. data/test/rails_root/Rakefile +0 -10
  230. data/test/rails_root/app/controllers/application_controller.rb +0 -10
  231. data/test/rails_root/app/helpers/application_helper.rb +0 -3
  232. data/test/rails_root/app/views/cms/under-development.html.haml +0 -1
  233. data/test/rails_root/app/views/complex_page/_example.html.erb +0 -1
  234. data/test/rails_root/config/boot.rb +0 -110
  235. data/test/rails_root/config/environment.rb +0 -48
  236. data/test/rails_root/config/environments/development.rb +0 -17
  237. data/test/rails_root/config/environments/production.rb +0 -28
  238. data/test/rails_root/config/environments/test.rb +0 -28
  239. data/test/rails_root/config/initializers/new_rails_defaults.rb +0 -19
  240. data/test/rails_root/config/initializers/session_store.rb +0 -15
  241. data/test/rails_root/config/routes.rb +0 -43
  242. data/test/rails_root/doc/README_FOR_APP +0 -2
  243. data/test/rails_root/public/404.html +0 -30
  244. data/test/rails_root/public/422.html +0 -30
  245. data/test/rails_root/public/500.html +0 -30
  246. data/test/rails_root/public/images/rails.png +0 -0
  247. data/test/rails_root/public/index.html +0 -275
  248. data/test/rails_root/public/javascripts/application.js +0 -2
  249. data/test/rails_root/public/javascripts/controls.js +0 -963
  250. data/test/rails_root/public/javascripts/dragdrop.js +0 -973
  251. data/test/rails_root/public/javascripts/effects.js +0 -1128
  252. data/test/rails_root/public/javascripts/prototype.js +0 -4320
  253. data/test/rails_root/public/stylesheets/sass/cms_master.sass +0 -414
  254. data/test/rails_root/script/about +0 -4
  255. data/test/rails_root/script/console +0 -3
  256. data/test/rails_root/script/dbconsole +0 -3
  257. data/test/rails_root/script/destroy +0 -3
  258. data/test/rails_root/script/generate +0 -3
  259. data/test/rails_root/script/performance/benchmarker +0 -3
  260. data/test/rails_root/script/performance/profiler +0 -3
  261. data/test/rails_root/script/plugin +0 -3
  262. data/test/rails_root/script/runner +0 -3
  263. data/test/rails_root/script/server +0 -3
@@ -1,6 +0,0 @@
1
- default:
2
- file_file_name: sample.txt
3
- file_content_type: text/plain
4
- file_file_size: 9999
5
- label: My awesome file
6
- description: This file has a lot of information within
@@ -1,19 +0,0 @@
1
- category_1: &category
2
- label: Category 1
3
- slug: category_1
4
- parent_id:
5
- description: Some Category Description
6
-
7
- category_2:
8
- label: Category 2
9
- slug: category_2
10
-
11
- category_2_1:
12
- label: Category 2.1
13
- slug: category_2_1
14
- parent: category_2
15
-
16
- category_2_2:
17
- label: Category 2.2
18
- slug: category_2_2
19
- parent: category_2
@@ -1,15 +0,0 @@
1
- page_category_1:
2
- cms_page: default
3
- cms_category: category_2
4
-
5
- page_category_2:
6
- cms_page: default
7
- cms_category: category_2_1
8
-
9
- page_category_3:
10
- cms_page: default
11
- cms_category: category_2_2
12
-
13
- page_category_4:
14
- cms_page: complex
15
- cms_category: category_2
@@ -1 +0,0 @@
1
- This is a file
@@ -1,63 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CmsAdmin::AttachmentsControllerTest < ActionController::TestCase
4
-
5
- def setup
6
- http_auth
7
- end
8
-
9
- def test_get_index
10
- get :index
11
- assert_response :success
12
- assert assigns(:cms_attachments)
13
- end
14
-
15
- def test_get_new
16
- get :new
17
- assert_response :success
18
- end
19
-
20
- def test_get_edit
21
- get :edit, :id => cms_attachments(:default)
22
- assert_response :success
23
- assert assigns(:cms_attachment)
24
- end
25
-
26
- def test_create
27
- assert_difference 'CmsAttachment.count', 1 do
28
- post :create, :cms_attachment => {
29
- :label => 'Test File',
30
- :description => 'This is a file',
31
- :file => fixture_file_upload('files/upload_file.txt', 'text/plain')
32
- }
33
- assert_response :redirect
34
- assert_redirected_to :action => :edit
35
- assert_equal 'Attachment created', flash[:notice]
36
- end
37
- end
38
-
39
- def test_update
40
- attachment = cms_attachments(:default)
41
- put :update, :id => attachment, :cms_attachment => {
42
- :label => 'New Label',
43
- :description => 'New Description'
44
- }
45
- attachment.reload
46
- assert_equal 'New Label', attachment.label
47
- assert_equal 'New Description', attachment.description
48
-
49
- assert_response :redirect
50
- assert_redirected_to :action => :edit
51
- assert_equal 'Attachment updated', flash[:notice]
52
- end
53
-
54
- def test_destroy
55
- assert_difference 'CmsAttachment.count', -1 do
56
- delete :destroy, :id => cms_attachments(:default)
57
- assert_response :redirect
58
- assert_redirected_to :action => :index
59
- assert_equal 'Attachment removed', flash[:notice]
60
- end
61
- end
62
-
63
- end
@@ -1,86 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CmsAdmin::CategoriesControllerTest < ActionController::TestCase
4
-
5
- def setup
6
- http_auth
7
- end
8
-
9
- def test_get_index
10
- get :index
11
- assert_response :success
12
- assert assigns(:cms_categories)
13
- end
14
-
15
- def test_get_new
16
- get :new
17
- assert_response :success
18
- end
19
-
20
- def test_get_show
21
- get :show, :id => cms_categories(:category_2)
22
- assert_response :success
23
- assert assigns(:cms_category)
24
- end
25
-
26
- def test_get_edit
27
- get :edit, :id => cms_categories(:category_1)
28
- assert_response :success
29
- assert assigns(:cms_category)
30
- end
31
-
32
- def test_create
33
- assert_difference 'CmsCategory.count', 1 do
34
- post :create, :cms_category => {
35
- :label => 'Category 1',
36
- :description => 'This is a category',
37
- }
38
- end
39
- assert_redirected_to :action => :edit
40
- assert_equal 'Category created', flash[:notice]
41
- end
42
-
43
- def test_create_fail
44
- assert_no_difference 'CmsCategory.count' do
45
- post :create, :cms_category => {
46
- :label => '',
47
- :description => 'This is a category',
48
- }
49
- end
50
- assert_response :success
51
- assert_template 'new'
52
- assert assigns(:cms_category).errors.on(:label)
53
- end
54
-
55
- def test_update
56
- category = cms_categories(:category_1)
57
- put :update, :id => category, :cms_category => {
58
- :label => 'Category 2',
59
- :description => 'New Description'
60
- }
61
- assert_redirected_to :action => :edit
62
- category.reload
63
- assert_equal 'Category 2', category.label
64
- assert_equal 'New Description', category.description
65
- assert_equal 'Category updated', flash[:notice]
66
- end
67
-
68
- def test_update_fail
69
- category = cms_categories(:category_1)
70
- put :update, :id => category, :cms_category => {
71
- :label => '',
72
- :description => 'New Description'
73
- }
74
- assert_response :success
75
- assert_template 'edit'
76
- assert assigns(:cms_category).errors.on(:label)
77
- end
78
-
79
- def test_destroy
80
- assert_difference 'CmsCategory.count', -1 do
81
- delete :destroy, :id => cms_categories(:category_1)
82
- assert_redirected_to cms_admin_categories_path
83
- assert_equal 'Category deleted', flash[:notice]
84
- end
85
- end
86
- end
@@ -1,9 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CmsAdmin::SectionsControllerTest < ActionController::TestCase
4
-
5
- def setup
6
- http_auth
7
- end
8
-
9
- end
@@ -1,16 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CmsAttachmentTest < ActiveSupport::TestCase
4
-
5
- def test_fixtures_validity
6
- CmsAttachment.all.each do |attachment|
7
- assert attachment.valid?
8
- end
9
- end
10
-
11
- def test_named_scope_in_category
12
- assert_equal 1, CmsAttachment.in_category(cms_categories(:category_2)).size
13
- assert_equal 1, CmsAttachment.in_category(cms_categories(:category_2).id).size
14
- end
15
-
16
- end
@@ -1,11 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CmsBlockTest < ActiveSupport::TestCase
4
-
5
- def test_fixtures_validity
6
- CmsBlock.all.each do |block|
7
- assert block.valid?
8
- end
9
- end
10
-
11
- end
@@ -1,39 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CmsCategorizationTest < ActiveSupport::TestCase
4
-
5
- def test_fixtures_validity
6
- CmsPageCategorization.all.each do |categorization|
7
- assert categorization.valid?, categorization.errors.full_messages
8
- end
9
- CmsAttachmentCategorization.all.each do |categorization|
10
- assert categorization.valid?, categorization.errors.full_messages
11
- end
12
- end
13
-
14
- def test_creation
15
- assert_difference 'CmsPageCategorization.count' do
16
- CmsPageCategorization.create(
17
- :cms_page => cms_pages(:complex),
18
- :cms_category => cms_categories(:category_1)
19
- )
20
- end
21
- end
22
-
23
- def test_cascading_creation
24
- assert_difference 'CmsPageCategorization.count', 2 do
25
- CmsPageCategorization.create(
26
- :cms_page => cms_pages(:unpublished),
27
- :cms_category => cms_categories(:category_2_1)
28
- )
29
- end
30
- end
31
-
32
- def test_cascading_removal
33
- categorization = cms_page_categorizations(:page_category_1)
34
- assert_difference 'CmsPageCategorization.count', -3 do
35
- categorization.destroy
36
- end
37
- end
38
-
39
- end
@@ -1,71 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CmsCategoryTest < ActiveSupport::TestCase
4
-
5
- def test_fixtures_validity
6
- CmsCategory.all.each do |category|
7
- assert category.valid?, category.errors.full_messages
8
- end
9
- end
10
-
11
- def test_should_create_category
12
- assert_difference 'CmsCategory.count', 1 do
13
- CmsCategory.create(
14
- :label => 'Test Category',
15
- :slug => 'test_category',
16
- :description => 'Test Description'
17
- )
18
- end
19
- end
20
-
21
- def test_validation_on_blank
22
- assert_no_difference 'CmsCategory.count' do
23
- c = CmsCategory.create(
24
- :label =>'',
25
- :slug =>''
26
- )
27
- assert c.errors.on(:label)
28
- assert c.errors.on(:slug)
29
- end
30
- end
31
-
32
- def test_validation_on_existing_slug
33
- assert_no_difference 'CmsCategory.count' do
34
- c = CmsCategory.create(
35
- :label => 'Test Category',
36
- :slug => cms_categories(:category_1).slug
37
- )
38
- assert c.errors.on(:slug)
39
- end
40
- end
41
-
42
- def test_removing_category_blows_away_children_and_categorizations
43
- category = cms_categories(:category_2)
44
-
45
- assert_equal 2, category.children.count
46
-
47
- assert_equal 2, category.cms_page_categorizations.count
48
- assert_equal 2, category.cms_pages.count
49
-
50
- assert_equal 1, category.cms_attachment_categorizations.count
51
- assert_equal 1, category.cms_attachments.count
52
-
53
- assert_no_difference ['CmsPage.count', 'CmsAttachment.count'] do
54
- assert_difference ['CmsCategory.count'], -3 do
55
- assert_difference ['CmsPageCategorization.count'], -4 do # -2 from child categories
56
- assert_difference ['CmsAttachmentCategorization.count'], -2 do # -1 from child category
57
- category.destroy
58
- end
59
- end
60
- end
61
- end
62
- end
63
-
64
- def test_should_set_slug_if_blank
65
- c = CmsCategory.new(
66
- :label => 'Test Category'
67
- )
68
- assert c.valid?
69
- assert_equal 'test-category', c.slug
70
- end
71
- end
@@ -1,44 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CmsLayoutTest < ActiveSupport::TestCase
4
-
5
- def test_fixtures_validity
6
- CmsLayout.all.each do |layout|
7
- assert layout.valid?, layout.errors.full_messages
8
- end
9
- end
10
-
11
- def test_nested_layouts
12
- parent_layout = cms_layouts(:default)
13
- child_layout = cms_layouts(:nested)
14
- assert_equal parent_layout, child_layout.parent
15
- assert parent_layout.is_extendable?
16
-
17
- assert_not_equal child_layout.content, child_layout.read_attribute(:content)
18
- parent_layout_content = '{{ cms_block:header:string }}{{ cms_page_block:default:text }}{{ cms_page_block:footer:text }}'
19
- child_layout_content = '{{ cms_block:header:string }}{{ cms_page_block:left_column:text }}{{ cms_page_block:right_column:text }}{{ cms_snippet:complex_snippet }}{{ cms_page_block:footer:text }}'
20
-
21
- assert_equal parent_layout_content, parent_layout.content
22
- assert_equal child_layout_content, child_layout.content
23
- end
24
-
25
- def test_adding_new_block_tag_updates_associated_pages
26
- layout = cms_layouts(:default)
27
- page = cms_pages(:default)
28
- assert_equal layout, page.cms_layout
29
- assert_equal 3, layout.tags.size
30
- assert_equal 3, layout.tags.select{|t| ['cms_block', 'cms_page_block'].member?(t.tag_type)}.size
31
- assert_equal 3, page.cms_blocks.count
32
-
33
- assert_difference ['layout.tags.size', 'page.cms_blocks.count'] do
34
- layout.content += "{{cms_block:new_block:string}}"
35
- layout.save!
36
- layout.reload
37
- page.reload
38
-
39
- assert layout.tags.collect{|t| t.tag_signature}.member?('cms_block:new_block:string')
40
- assert page.cms_blocks.with_label('new_block')
41
- end
42
- end
43
-
44
- end
@@ -1,55 +0,0 @@
1
- require 'test_helper'
2
-
3
- class CmsPageTest < ActiveSupport::TestCase
4
-
5
- def test_fixtures_validity
6
- CmsPage.all.each do |page|
7
- assert page.valid?, page.errors.full_messages
8
- end
9
- end
10
-
11
- def test_page_finder_helper
12
- page = cms_pages(:default)
13
- assert_equal page, CmsPage[page.slug]
14
- end
15
-
16
- def test_page_rendering
17
- page = cms_pages(:default)
18
- assert_equal 3, page.cms_blocks.count
19
- assert_equal '/page_block:default//page_block:footer/', page.render_content
20
- end
21
-
22
- def test_complex_nested_rendering
23
- page = cms_pages(:complex)
24
- assert_equal 4, page.cms_blocks.count
25
- assert_equal "/page_block:left_column/ /complex snippet//page_block:right_column/ <%= render :partial => 'complex_page/example' %>/complex snippet//page_block:footer/", page.render_content
26
- end
27
-
28
- def test_page_content
29
- page = cms_pages(:default)
30
- assert_equal page.content, page.render_content
31
- end
32
-
33
- def test_cms_block_content_method
34
- page = cms_pages(:default)
35
- assert !page.cms_block_content(:header, :content_string).blank?
36
- assert page.cms_block_content(:bogus_label, :content_string).blank?
37
- end
38
-
39
- def test_publishing
40
- page = cms_pages(:default)
41
- assert page.published_at < Time.now.utc
42
- assert page.unpublished_at.nil?
43
- assert page.is_published?
44
-
45
- page.update_attribute(:published_at, 5.days.from_now)
46
- assert !page.is_published?
47
-
48
- page.publish!
49
- assert page.is_published?
50
-
51
- page.unpublish!
52
- assert !page.is_published?
53
- end
54
-
55
- end