comfortable_mexican_sofa 0.0.18 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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