browsercms 3.4.2 → 3.5.0.rc1

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 (367) hide show
  1. data/README.markdown +1 -0
  2. data/app/assets/images/cms/file-uploading.gif +0 -0
  3. data/app/assets/javascripts/cms/application.js +1 -0
  4. data/app/assets/javascripts/cms/attachment_manager.js.erb +87 -0
  5. data/app/assets/javascripts/cms/core_library.js.erb +38 -25
  6. data/app/assets/stylesheets/cms/application.css.erb +1 -0
  7. data/app/assets/stylesheets/cms/attachment_manager.css.scss +28 -0
  8. data/app/controllers/cms/application_controller.rb +1 -1
  9. data/app/controllers/cms/attachments_controller.rb +45 -10
  10. data/app/controllers/cms/cache_controller.rb +1 -1
  11. data/app/controllers/cms/content_block_controller.rb +134 -122
  12. data/app/controllers/cms/content_controller.rb +143 -155
  13. data/app/controllers/cms/dashboard_controller.rb +11 -9
  14. data/app/controllers/cms/error_handling.rb +19 -7
  15. data/app/controllers/cms/file_blocks_controller.rb +2 -2
  16. data/app/controllers/cms/home_controller.rb +3 -0
  17. data/app/controllers/cms/section_nodes_controller.rb +52 -44
  18. data/app/controllers/cms/sections_controller.rb +4 -2
  19. data/app/controllers/cms/toolbar_controller.rb +14 -10
  20. data/app/helpers/cms/application_helper.rb +23 -19
  21. data/app/helpers/cms/form_builder.rb +65 -18
  22. data/app/helpers/cms/mobile_helper.rb +19 -0
  23. data/app/helpers/cms/path_helper.rb +30 -4
  24. data/app/helpers/cms/rendering_helper.rb +9 -1
  25. data/app/models/cms/abstract_file_block.rb +6 -6
  26. data/app/models/cms/attachment.rb +196 -107
  27. data/app/models/cms/category.rb +3 -0
  28. data/app/models/cms/category_type.rb +2 -0
  29. data/app/models/cms/connector.rb +3 -0
  30. data/app/models/cms/content_type.rb +3 -0
  31. data/app/models/cms/content_type_group.rb +2 -0
  32. data/app/models/cms/dynamic_view.rb +4 -0
  33. data/app/models/cms/email_message.rb +2 -0
  34. data/app/models/cms/file_block.rb +9 -2
  35. data/app/models/cms/group.rb +5 -2
  36. data/app/models/cms/group_permission.rb +2 -0
  37. data/app/models/cms/group_section.rb +3 -0
  38. data/app/models/cms/group_type.rb +2 -0
  39. data/app/models/cms/group_type_permission.rb +2 -0
  40. data/app/models/cms/html_block.rb +3 -2
  41. data/app/models/cms/image_block.rb +13 -2
  42. data/app/models/cms/page.rb +14 -3
  43. data/app/models/cms/page_route.rb +4 -0
  44. data/app/models/cms/page_route_condition.rb +1 -0
  45. data/app/models/cms/page_route_option.rb +2 -0
  46. data/app/models/cms/page_route_requirement.rb +1 -0
  47. data/app/models/cms/permission.rb +3 -0
  48. data/app/models/cms/portlet.rb +2 -2
  49. data/app/models/cms/redirect.rb +2 -0
  50. data/app/models/cms/section.rb +15 -1
  51. data/app/models/cms/section_node.rb +1 -0
  52. data/app/models/cms/site.rb +3 -0
  53. data/app/models/cms/tag.rb +2 -0
  54. data/app/models/cms/tagging.rb +3 -0
  55. data/app/models/cms/task.rb +5 -1
  56. data/app/models/cms/user.rb +1 -1
  57. data/app/models/cms/user_group_membership.rb +3 -0
  58. data/app/views/cms/attachments/_attachment.html.erb +14 -0
  59. data/app/views/cms/attachments/_attachment_table.html.erb +17 -0
  60. data/app/views/cms/attachments/_attachment_wrapper.html.erb +4 -0
  61. data/app/views/cms/blocks/index.html.erb +2 -3
  62. data/app/views/cms/blocks/show.html.erb +1 -1
  63. data/app/views/cms/dynamic_views/index.html.erb +1 -1
  64. data/app/views/cms/email_messages/index.html.erb +1 -1
  65. data/app/views/cms/file_blocks/_form.html.erb +1 -27
  66. data/app/views/cms/file_blocks/_section_selector.html.erb +13 -0
  67. data/app/views/cms/file_blocks/render.html.erb +3 -3
  68. data/app/views/cms/form_builder/_cms_attachment_manager.html.erb +26 -0
  69. data/app/views/cms/form_builder/_cms_file_field.html.erb +27 -35
  70. data/app/views/cms/groups/index.html.erb +1 -1
  71. data/app/views/cms/image_blocks/_form.html.erb +1 -27
  72. data/app/views/cms/image_blocks/render.html.erb +4 -1
  73. data/app/views/cms/page_routes/index.html.erb +3 -0
  74. data/app/views/cms/shared/error.xml.erb +8 -0
  75. data/app/views/cms/tags/render.html.erb +1 -1
  76. data/app/views/cms/toolbar/_mobile_toggle.html.erb +33 -0
  77. data/app/views/cms/users/index.html.erb +1 -1
  78. data/app/views/layouts/_page_toolbar.html.erb +2 -1
  79. data/bin/bcms +21 -26
  80. data/config/routes.rb +3 -2
  81. data/db/browsercms.seeds.rb +2 -1
  82. data/db/migrate/20111130221145_browsercms340.rb +5 -4
  83. data/db/migrate/20120329144406_browsercms350.rb +32 -0
  84. data/{test/dummy/db → db}/schema.rb +97 -128
  85. data/{performance_tuning_notes.md → doc/performance_tuning_notes.md} +0 -0
  86. data/doc/release_notes.md +74 -0
  87. data/lib/browsercms.rb +3 -0
  88. data/lib/cms/acts/content_block.rb +10 -2
  89. data/lib/cms/addressable.rb +8 -0
  90. data/lib/cms/attachments/attachment_serving.rb +59 -0
  91. data/lib/cms/attachments/configuration.rb +88 -0
  92. data/lib/cms/behaviors/attaching.rb +305 -136
  93. data/lib/cms/behaviors/connecting.rb +3 -4
  94. data/lib/cms/behaviors/dynamic_attributes.rb +121 -118
  95. data/lib/cms/behaviors/flush_cache_on_change.rb +1 -3
  96. data/lib/cms/behaviors/naming.rb +16 -0
  97. data/lib/cms/behaviors/pagination.rb +4 -1
  98. data/lib/cms/behaviors/publishing.rb +9 -3
  99. data/lib/cms/behaviors/searching.rb +3 -8
  100. data/lib/cms/behaviors/soft_deleting.rb +1 -0
  101. data/lib/cms/behaviors/taggable.rb +2 -0
  102. data/lib/cms/behaviors/versioning.rb +73 -120
  103. data/lib/cms/caching.rb +53 -11
  104. data/lib/cms/commands/actions.rb +19 -2
  105. data/lib/cms/configuration.rb +44 -0
  106. data/lib/cms/content_rendering_support.rb +9 -6
  107. data/lib/cms/default_accessible.rb +13 -0
  108. data/lib/cms/domain_support.rb +22 -0
  109. data/lib/cms/engine.rb +40 -19
  110. data/lib/cms/engine_helper.rb +54 -0
  111. data/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements.rb +14 -2
  112. data/lib/cms/mobile_aware.rb +67 -0
  113. data/lib/cms/route_extensions.rb +3 -0
  114. data/lib/cms/upgrades/v3_5_0.rb +155 -0
  115. data/lib/cms/version.rb +6 -1
  116. data/lib/generators/cms/content_block/content_block_generator.rb +14 -9
  117. data/lib/generators/cms/content_block/templates/_form.html.erb +17 -6
  118. data/lib/generators/cms/content_block/templates/render.html.erb +12 -5
  119. data/lib/generators/cms/template/template_generator.rb +11 -2
  120. data/lib/tasks/cms.rake +23 -0
  121. data/lib/templates/active_record/model/model.rb +6 -0
  122. metadata +127 -517
  123. data/.gitignore +0 -24
  124. data/.rvmrc +0 -2
  125. data/Gemfile +0 -29
  126. data/Gemfile.lock +0 -196
  127. data/Rakefile +0 -97
  128. data/app/assets/images/browsercms/.gitkeep +0 -0
  129. data/app/controllers/browsercms/application_controller.rb +0 -4
  130. data/browsercms.gemspec +0 -35
  131. data/config/cucumber.yml +0 -8
  132. data/config/database.jdbcmysql.yml +0 -30
  133. data/config/database.mysql.yml +0 -27
  134. data/config/database.postgres.yml +0 -25
  135. data/config/database.sqlite3.yml +0 -11
  136. data/config/environment.rb +0 -6
  137. data/config/initializers/query_reviewer_patch.rb +0 -12
  138. data/config/initializers/rack_1_2_1_patch.rb +0 -12
  139. data/config/locales/en.yml +0 -5
  140. data/features/acts_as_content_page.feature +0 -62
  141. data/features/add_content_to_pages.feature +0 -45
  142. data/features/caching.feature +0 -13
  143. data/features/ckeditor.feature +0 -11
  144. data/features/commands/confirm_aruba_works.feature +0 -24
  145. data/features/commands/generate_module.feature +0 -54
  146. data/features/commands/install_browsercms.feature +0 -21
  147. data/features/commands/new_demo_project.feature +0 -30
  148. data/features/commands/new_projects.feature +0 -50
  149. data/features/commands/upgrade_modules_to_3_4_0_from_3_1_x.feature +0 -19
  150. data/features/commands/upgrade_project_to_3_4_0_from_3_3_x.feature +0 -52
  151. data/features/commands/upgrading_modules.feature +0 -67
  152. data/features/content_blocks/manage_custom_blocks.feature +0 -67
  153. data/features/content_blocks/manage_html_blocks.feature +0 -48
  154. data/features/content_blocks/manage_image_blocks.feature +0 -41
  155. data/features/content_files.feature +0 -37
  156. data/features/content_pages.feature +0 -21
  157. data/features/generators/content_blocks_for_modules.feature +0 -58
  158. data/features/generators/content_blocks_for_projects.feature +0 -109
  159. data/features/install_content.feature +0 -25
  160. data/features/jquery-testplan.txt +0 -12
  161. data/features/manage_groups.feature +0 -33
  162. data/features/manage_page_routes.feature +0 -72
  163. data/features/manage_redirects.feature +0 -20
  164. data/features/manage_sections.feature +0 -12
  165. data/features/manage_tasks.feature +0 -25
  166. data/features/manage_users.feature +0 -38
  167. data/features/page_templates.feature +0 -49
  168. data/features/portlets/email_friend_portlet.feature +0 -29
  169. data/features/portlets/portlets.feature +0 -100
  170. data/features/portlets/tag_cloud_portlet.feature +0 -28
  171. data/features/sitemap/create_pages.feature +0 -15
  172. data/features/sitemap/manage_links.feature +0 -29
  173. data/features/sitemap/sitemap.feature +0 -18
  174. data/features/step_definitions/acts_as_content_page_steps.rb.rb +0 -3
  175. data/features/step_definitions/ckeditor_steps.rb +0 -13
  176. data/features/step_definitions/command_line_steps.rb +0 -212
  177. data/features/step_definitions/content_pages_steps.rb +0 -170
  178. data/features/step_definitions/data_steps.rb +0 -48
  179. data/features/step_definitions/edit_page_templates_steps.rb +0 -21
  180. data/features/step_definitions/html_blocks_steps.rb +0 -9
  181. data/features/step_definitions/install_content_steps.rb +0 -4
  182. data/features/step_definitions/manage_content_blocks_steps.rb +0 -26
  183. data/features/step_definitions/manage_image_blocks_steps.rb +0 -31
  184. data/features/step_definitions/manage_sections_steps.rb +0 -18
  185. data/features/step_definitions/manage_user_steps.rb +0 -22
  186. data/features/step_definitions/more_custom_block_steps.rb +0 -34
  187. data/features/step_definitions/page_route_steps.rb +0 -65
  188. data/features/step_definitions/page_template_steps.rb +0 -5
  189. data/features/step_definitions/permissions_steps.rb +0 -13
  190. data/features/step_definitions/portlets_steps.rb +0 -64
  191. data/features/step_definitions/redirect_steps.rb +0 -12
  192. data/features/step_definitions/sitemap_steps.rb +0 -18
  193. data/features/step_definitions/tag_cloud_steps.rb +0 -11
  194. data/features/step_definitions/task_steps.rb +0 -4
  195. data/features/step_definitions/taxonomy_steps.rb +0 -16
  196. data/features/step_definitions/upgrade_module_steps.rb +0 -76
  197. data/features/step_definitions/web_steps.rb +0 -211
  198. data/features/support/async_support.rb +0 -17
  199. data/features/support/command_line_helpers.rb +0 -63
  200. data/features/support/debug_formatter.rb +0 -7
  201. data/features/support/debugging.rb +0 -28
  202. data/features/support/env.rb +0 -73
  203. data/features/support/git_api.rb +0 -9
  204. data/features/support/open_on_first_failure.rb +0 -25
  205. data/features/support/paths.rb +0 -32
  206. data/features/support/rails_api.rb +0 -8
  207. data/features/support/selectors.rb +0 -39
  208. data/features/support/transforms.rb +0 -7
  209. data/features/taxonomy/add_content_with_category.feature +0 -30
  210. data/features/taxonomy/manage_categories.feature +0 -20
  211. data/features/taxonomy/manage_category_types.feature +0 -16
  212. data/lib/cms/init.rb +0 -105
  213. data/lib/tasks/data.rake +0 -43
  214. data/lib/tasks/db.rake +0 -82
  215. data/public/styled_file_field/index.html +0 -72
  216. data/script/cucumber +0 -10
  217. data/script/rails +0 -6
  218. data/test/console_helper.rb +0 -5
  219. data/test/custom_assertions.rb +0 -84
  220. data/test/dummy/Rakefile +0 -7
  221. data/test/dummy/app/assets/javascripts/application.js +0 -9
  222. data/test/dummy/app/assets/javascripts/content_page.js +0 -2
  223. data/test/dummy/app/assets/stylesheets/application.css +0 -7
  224. data/test/dummy/app/assets/stylesheets/content_page.css +0 -4
  225. data/test/dummy/app/controllers/application_controller.rb +0 -3
  226. data/test/dummy/app/controllers/cms/products_controller.rb +0 -2
  227. data/test/dummy/app/controllers/cms/sample_blocks_controller.rb +0 -3
  228. data/test/dummy/app/controllers/content_page_controller.rb +0 -13
  229. data/test/dummy/app/helpers/application_helper.rb +0 -2
  230. data/test/dummy/app/helpers/content_page_helper.rb +0 -2
  231. data/test/dummy/app/mailers/.gitkeep +0 -0
  232. data/test/dummy/app/models/.gitkeep +0 -0
  233. data/test/dummy/app/models/cms/sample_block.rb +0 -22
  234. data/test/dummy/app/models/product.rb +0 -5
  235. data/test/dummy/app/views/cms/products/_form.html.erb +0 -7
  236. data/test/dummy/app/views/cms/products/render.html.erb +0 -3
  237. data/test/dummy/app/views/content_page/custom_page.html.erb +0 -3
  238. data/test/dummy/app/views/content_page/index.html.erb +0 -2
  239. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  240. data/test/dummy/app/views/layouts/templates/default.html.erb +0 -17
  241. data/test/dummy/app/views/layouts/templates/subpage.html.erb +0 -16
  242. data/test/dummy/app/views/test_route/index.html.erb +0 -14
  243. data/test/dummy/config.ru +0 -4
  244. data/test/dummy/config/application.rb +0 -45
  245. data/test/dummy/config/boot.rb +0 -10
  246. data/test/dummy/config/database.yml +0 -27
  247. data/test/dummy/config/environment.rb +0 -5
  248. data/test/dummy/config/environments/development.rb +0 -32
  249. data/test/dummy/config/environments/production.rb +0 -60
  250. data/test/dummy/config/environments/test.rb +0 -46
  251. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  252. data/test/dummy/config/initializers/browsercms.rb +0 -7
  253. data/test/dummy/config/initializers/inflections.rb +0 -10
  254. data/test/dummy/config/initializers/mime_types.rb +0 -5
  255. data/test/dummy/config/initializers/quiet_sprocket_assets.rb +0 -13
  256. data/test/dummy/config/initializers/secret_token.rb +0 -7
  257. data/test/dummy/config/initializers/session_store.rb +0 -8
  258. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  259. data/test/dummy/config/locales/en.yml +0 -5
  260. data/test/dummy/config/routes.rb +0 -23
  261. data/test/dummy/db/migrate/20111228141250_create_products.rb +0 -16
  262. data/test/dummy/db/seeds.rb +0 -1
  263. data/test/dummy/lib/assets/.gitkeep +0 -0
  264. data/test/dummy/public/404.html +0 -26
  265. data/test/dummy/public/422.html +0 -26
  266. data/test/dummy/public/500.html +0 -26
  267. data/test/dummy/public/favicon.ico +0 -0
  268. data/test/dummy/script/rails +0 -6
  269. data/test/dummy/test/functional/content_page_controller_test.rb +0 -9
  270. data/test/dummy/test/unit/helpers/content_page_helper_test.rb +0 -4
  271. data/test/factories.rb +0 -235
  272. data/test/fixtures/multipart/foo.jpg +0 -0
  273. data/test/fixtures/multipart/sample_upload.txt +0 -1
  274. data/test/fixtures/multipart/second_upload.txt +0 -1
  275. data/test/fixtures/multipart/test.jpg +0 -0
  276. data/test/fixtures/multipart/version1.txt +0 -1
  277. data/test/fixtures/multipart/version2.txt +0 -1
  278. data/test/functional/cms/cache_controller_test.rb +0 -16
  279. data/test/functional/cms/categories_controller_test.rb +0 -28
  280. data/test/functional/cms/connectors_controller_test.rb +0 -64
  281. data/test/functional/cms/content_block_controller_test.rb +0 -127
  282. data/test/functional/cms/content_controller_test.rb +0 -351
  283. data/test/functional/cms/dashboard_controller_test.rb +0 -20
  284. data/test/functional/cms/file_blocks_controller_test.rb +0 -55
  285. data/test/functional/cms/home_controller_test.rb +0 -160
  286. data/test/functional/cms/html_blocks_controller_test.rb +0 -159
  287. data/test/functional/cms/image_blocks_controller_test.rb +0 -78
  288. data/test/functional/cms/links_controller_test.rb +0 -92
  289. data/test/functional/cms/log/test.log +0 -0
  290. data/test/functional/cms/pages_controller_test.rb +0 -233
  291. data/test/functional/cms/portlets_controller_test.rb +0 -57
  292. data/test/functional/cms/sections_controller_test.rb +0 -234
  293. data/test/functional/cms/sessions_controller_test.rb +0 -80
  294. data/test/functional/cms/tasks_controller_test.rb +0 -64
  295. data/test/functional/cms/toolbar_controller_test.rb +0 -76
  296. data/test/functional/cms/users_controller_test.rb +0 -218
  297. data/test/integration/cms/password_management_test.rb +0 -66
  298. data/test/integration/sitemap_performance_test.rb +0 -26
  299. data/test/mock_file.rb +0 -33
  300. data/test/performance/browsing_test.rb +0 -9
  301. data/test/support/engine_controller_hacks.rb +0 -34
  302. data/test/support/factory_helpers.rb +0 -57
  303. data/test/support/rails_3_1_routes_hack.rb +0 -70
  304. data/test/test_helper.rb +0 -199
  305. data/test/test_logging.rb +0 -67
  306. data/test/unit/active_record_callbacks.rb +0 -50
  307. data/test/unit/behaviors/attaching_test.rb +0 -370
  308. data/test/unit/behaviors/cms_user_test.rb +0 -67
  309. data/test/unit/behaviors/connectable_test.rb +0 -32
  310. data/test/unit/behaviors/connecting_test.rb +0 -56
  311. data/test/unit/behaviors/dynamic_attributes_test.rb +0 -74
  312. data/test/unit/behaviors/namespacing_test.rb +0 -76
  313. data/test/unit/behaviors/publishable_test.rb +0 -83
  314. data/test/unit/behaviors/rendering_test.rb +0 -68
  315. data/test/unit/behaviors/searching_test.rb +0 -102
  316. data/test/unit/behaviors/taggable_test.rb +0 -110
  317. data/test/unit/behaviors/userstamping_test.rb +0 -27
  318. data/test/unit/behaviors/versioning_test.rb +0 -102
  319. data/test/unit/extensions/active_record/base_test.rb +0 -25
  320. data/test/unit/extensions/hash_test.rb +0 -26
  321. data/test/unit/extensions/integer_test.rb +0 -10
  322. data/test/unit/extensions/string_test.rb +0 -14
  323. data/test/unit/factories_test.rb +0 -50
  324. data/test/unit/generators/install_generator_test.rb +0 -15
  325. data/test/unit/helpers/application_helper_test.rb +0 -104
  326. data/test/unit/helpers/date_picker_test.rb +0 -17
  327. data/test/unit/helpers/menu_helper_test.rb +0 -240
  328. data/test/unit/helpers/page_helper_test.rb +0 -69
  329. data/test/unit/helpers/path_helper_test.rb +0 -38
  330. data/test/unit/helpers/rendering_helper_test.rb +0 -8
  331. data/test/unit/lib/acts_as_content_page_test.rb +0 -72
  332. data/test/unit/lib/cms/authentication/controller_test.rb +0 -20
  333. data/test/unit/lib/cms/engine_helper_test.rb +0 -119
  334. data/test/unit/lib/cms/sitemap_test.rb +0 -210
  335. data/test/unit/lib/cms_domain_support_test.rb +0 -44
  336. data/test/unit/lib/command_line_test.rb +0 -70
  337. data/test/unit/lib/content_block_test.rb +0 -304
  338. data/test/unit/lib/content_rendering_support_test.rb +0 -40
  339. data/test/unit/lib/generators_test.rb +0 -40
  340. data/test/unit/lib/routes_test.rb +0 -98
  341. data/test/unit/mock_file_test.rb +0 -19
  342. data/test/unit/models/attachment_test.rb +0 -160
  343. data/test/unit/models/category_test.rb +0 -40
  344. data/test/unit/models/category_type_test.rb +0 -8
  345. data/test/unit/models/connector_test.rb +0 -152
  346. data/test/unit/models/content_type_group_test.rb +0 -26
  347. data/test/unit/models/content_type_test.rb +0 -177
  348. data/test/unit/models/dynamic_views_test.rb +0 -36
  349. data/test/unit/models/email_page_portlet_test.rb +0 -20
  350. data/test/unit/models/file_block_test.rb +0 -246
  351. data/test/unit/models/group_test.rb +0 -29
  352. data/test/unit/models/html_block_test.rb +0 -121
  353. data/test/unit/models/image_block_test.rb +0 -35
  354. data/test/unit/models/link_test.rb +0 -52
  355. data/test/unit/models/namespaces_test.rb +0 -57
  356. data/test/unit/models/page_partial_test.rb +0 -37
  357. data/test/unit/models/page_route_test.rb +0 -113
  358. data/test/unit/models/page_template_test.rb +0 -50
  359. data/test/unit/models/page_test.rb +0 -879
  360. data/test/unit/models/permission_test.rb +0 -10
  361. data/test/unit/models/portlet_test.rb +0 -99
  362. data/test/unit/models/sections_test.rb +0 -278
  363. data/test/unit/models/site_test.rb +0 -50
  364. data/test/unit/models/task_test.rb +0 -150
  365. data/test/unit/models/user_test.rb +0 -358
  366. data/test/unit/schema_statements_test.rb +0 -137
  367. data/todo_list.markdown +0 -50
@@ -1,20 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Cms
4
- class DashboardControllerTest < ActionController::TestCase
5
- include Cms::ControllerTestHelper
6
-
7
- def setup
8
- login_as_cms_admin
9
- end
10
-
11
- def test_index
12
- get :index
13
-
14
- assert_response :success
15
- assert_select "title", "Dashboard"
16
- end
17
-
18
-
19
- end
20
- end
@@ -1,55 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Cms
4
- class FileBlocksControllerTest < ActionController::TestCase
5
- include Cms::ControllerTestHelper
6
-
7
- def setup
8
- given_a_site_exists
9
- login_as_cms_admin
10
- given_there_is_a_content_type(Cms::FileBlock)
11
- end
12
-
13
- def test_file_block_search
14
- @file = mock_file()
15
- @file_block = Factory(:file_block, :attachment_section => root_section,
16
- :attachment_file => @file,
17
- :attachment_file_path => "/test.txt",
18
- :name => "Test File",
19
- :publish_on_save => true)
20
- @foo_section = Factory(:section, :name => "Foo", :parent => root_section)
21
-
22
- get :index, :section_id => root_section.id
23
- assert_response :success
24
- assert_select "td", "Test File"
25
-
26
- get :index, :section_id => @foo_section.id
27
- assert_response :success
28
- assert_select "td", {:count => 0, :text => "Test File"}
29
-
30
- get :index, :section_id => 'all'
31
- assert_response :success
32
- assert_select "td", "Test File"
33
- end
34
-
35
- #
36
- # Fix for #33
37
- #
38
- def test_view_file_block_doesnt_have_view_error
39
- @file = mock_file()
40
- @file_block = Factory(:file_block, :attachment_section => root_section,
41
- :attachment_file => @file,
42
- :attachment_file_path => "/test.txt",
43
- :name => "Test File",
44
- :publish_on_save => true)
45
- @foo_section = Factory(:section, :name => "Foo", :parent => root_section)
46
-
47
- get :show, :id => @file_block.id
48
-
49
- assert_response :success
50
- assert_select "div#file_block_#{@file_block.id}", true, "Should render the file_blocks/render.html.erb partial correctly."
51
-
52
- end
53
-
54
- end
55
- end
@@ -1,160 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Cms
4
- class HomeControllerTest < ActionController::TestCase
5
- include Cms::ControllerTestHelper
6
-
7
- test "behavior of request" do
8
- @request.host = "www.browsercms.org"
9
- @request.path = "/something"
10
- assert_equal @request.url, "http://www.browsercms.org/something"
11
- end
12
- def test_cms_site_with_public_site
13
- @request.host = "foo.com"
14
- assert !@controller.send(:cms_site?)
15
- end
16
-
17
- def test_cms_site_with_public_site_www
18
- @request.host = "www.foo.com"
19
- assert !@controller.send(:cms_site?)
20
- end
21
-
22
- def test_cms_site_with_cms_site
23
- @request.host = "cms.foo.com"
24
- assert @controller.send(:cms_site?)
25
- end
26
-
27
- def test_cms_site_with_cms_site_www
28
- @request.host = "www.cms.foo.com"
29
- assert @controller.send(:cms_site?)
30
- end
31
-
32
- def test_url_with_cms_domain_prefix_with_public_site
33
- @request.host = "foo.com"
34
- @request.path = "/cms"
35
- assert_equal "http://cms.foo.com/cms",
36
- @controller.send(:url_with_cms_domain_prefix)
37
- end
38
-
39
- def test_url_with_cms_domain_prefix_with_public_site_www
40
- @request.host = "www.foo.com"
41
- @request.path = "/cms"
42
- assert_equal "http://cms.foo.com/cms", @controller.send(:url_with_cms_domain_prefix)
43
- end
44
-
45
- def test_url_with_cms_domain_prefix_with_cms_site
46
- @request.host = "cms.foo.com"
47
- @request.path = "/cms"
48
-
49
- assert_equal "http://cms.foo.com/cms", @controller.send(:url_with_cms_domain_prefix)
50
- end
51
-
52
- def test_url_with_cms_domain_prefix_with_cms_site_www
53
- @request.host = "www.cms.foo.com"
54
- @request.path = "/cms"
55
- assert_equal "http://www.cms.foo.com/cms", @controller.send(:url_with_cms_domain_prefix)
56
- end
57
-
58
- def test_redirected_to_cms_site_if_public_site
59
- @request.host = "foo.com"
60
- get :index
61
- assert_redirected_to "http://foo.com/cms/login"
62
- end
63
-
64
- def test_redirected_to_cms_site_if_public_site_and_logged_in
65
- login_as_cms_admin
66
- @request.host = "foo.com"
67
- get :index
68
- assert_redirected_to "http://foo.com/"
69
- end
70
-
71
- def test_success_if_cms_site_and_logged_in
72
- login_as_cms_admin
73
- @request.host = "cms.foo.com"
74
- get :index
75
- assert_redirected_to "http://cms.foo.com/"
76
- end
77
-
78
- end
79
-
80
- class HomeControllerCachingEnabledTest < ActionController::TestCase
81
- include Cms::ControllerTestHelper
82
- tests Cms::HomeController
83
-
84
- def setup
85
- @controller.perform_caching = true
86
- end
87
-
88
- def teardown
89
- @controller.perform_caching = false
90
- end
91
-
92
- def test_cms_site_with_public_site
93
- @request.host = "foo.com"
94
- assert !@controller.send(:cms_site?)
95
- end
96
-
97
- def test_cms_site_with_public_site_www
98
- @request.host = "www.foo.com"
99
- assert !@controller.send(:cms_site?)
100
- end
101
-
102
- def test_cms_site_with_cms_site
103
- @request.host = "cms.foo.com"
104
- assert @controller.send(:cms_site?)
105
- end
106
-
107
- def test_cms_site_with_cms_site_www
108
- @request.host = "www.cms.foo.com"
109
- assert @controller.send(:cms_site?)
110
- end
111
-
112
- def test_url_with_cms_domain_prefix_with_public_site
113
- @request.host = "foo.com"
114
- @request.path = "/cms"
115
- assert_equal "http://cms.foo.com/cms",
116
- @controller.send(:url_with_cms_domain_prefix)
117
- end
118
-
119
- test "url_with_cms_domain_prefix_with_public_site_www" do
120
- @request.host = "www.foo.com"
121
- @request.path = "/cms"
122
- assert_equal "http://cms.foo.com/cms", @controller.send(:url_with_cms_domain_prefix)
123
- end
124
-
125
- def test_url_with_cms_domain_prefix_with_cms_site
126
- @request.host = "cms.foo.com"
127
- @request.path = "/cms"
128
- assert_equal "http://cms.foo.com/cms",
129
- @controller.send(:url_with_cms_domain_prefix)
130
- end
131
-
132
- def test_url_with_cms_domain_prefix_with_cms_site_www
133
- @request.host = "www.cms.foo.com"
134
- @request.path = "/cms"
135
- assert_equal "http://www.cms.foo.com/cms",
136
- @controller.send(:url_with_cms_domain_prefix)
137
- end
138
-
139
- def test_redirected_to_cms_site_if_public_site
140
- @request.host = "foo.com"
141
- get :index
142
- assert_redirected_to "http://cms.foo.com/cms"
143
- end
144
-
145
- def test_redirected_to_cms_site_if_public_site_and_logged_in
146
- login_as_cms_admin
147
- @request.host = "foo.com"
148
- get :index
149
- assert_redirected_to "http://cms.foo.com/cms"
150
- end
151
-
152
- def test_success_if_cms_site_and_logged_in
153
- login_as_cms_admin
154
- @request.host = "cms.foo.com"
155
- get :index
156
- assert_redirected_to "http://cms.foo.com/"
157
- end
158
-
159
- end
160
- end
@@ -1,159 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Cms
4
- class HtmlBlocksControllerTest < ActionController::TestCase
5
- include Cms::ControllerTestHelper
6
-
7
- def setup
8
- given_a_site_exists
9
- login_as_cms_admin
10
- given_there_is_a_content_type(Cms::HtmlBlock)
11
- @block = Factory(:html_block, :name => "Test", :content => "I worked.", :publish_on_save => true)
12
- end
13
-
14
- def test_new
15
- get :new
16
- assert_response :success
17
- assert_select "h1", "Add New Text"
18
- end
19
-
20
- def test_add_to_page
21
- @page = Factory(:page, :path => "/test", :section => root_section)
22
- get :new, :html_block => {:connect_to_page_id => @page.id, :connect_to_container => "test"}
23
- assert_response :success
24
- assert_select "input[name=?][value=?]", "html_block[connect_to_page_id]", @page.id.to_s
25
- assert_select "input[name=?][value=?]", "html_block[connect_to_container]", "test"
26
- end
27
-
28
- def test_show
29
- get :show, :id => @block.id, :format => "html"
30
-
31
- assert_response :success
32
- log @response.body
33
- assert_select "div.content", "I worked."
34
- assert_select "a.disabled span", "Publish"
35
- assert_select ".block_published_status", "published"
36
- end
37
-
38
- def test_show_draft
39
- @block.update_attributes(:content => "Something Different")
40
-
41
- get :show, :id => @block.id, :format => "html"
42
-
43
- assert_response :success
44
- log @response.body
45
- assert_select "div.content", "Something Different"
46
- assert_select "a.disabled span", :text => "Publish", :count => 0
47
- assert_select "a.button span", :text => "Publish", :count => 1
48
- assert_select ".block_published_status", "draft"
49
- end
50
-
51
- def test_creating_a_block_that_should_be_connected_to_a_page
52
- @page = Factory(:page, :path => "/test", :section => root_section)
53
- html_block_count = HtmlBlock.count
54
-
55
- post :create, :html_block => Factory.attributes_for(:html_block).merge(
56
- :connect_to_page_id => @page.id, :connect_to_container => "test")
57
-
58
- assert_incremented html_block_count, HtmlBlock.count
59
- assert_equal "test", @page.reload.connectors.first.container
60
- assert_redirected_to @page.path
61
- end
62
-
63
- def test_search
64
- get :index, :search => {:term => 'test'}
65
- assert_response :success
66
- assert_select "td", "Test"
67
-
68
- get :index, :search => {:term => 'worked', :include_body => true }
69
- assert_response :success
70
- assert_select "td", "Test"
71
-
72
- get :index, :search => {:term => 'invalid'}
73
- assert_response :success
74
- assert_select "td", {:count=>0, :text=>"Test"}
75
- end
76
-
77
- def test_edit
78
- get :edit, :id => @block.id
79
- assert_response :success
80
- assert_select "input[id=?][value=?]", "html_block_name", "Test"
81
- end
82
-
83
-
84
- def test_update
85
- html_block_count = HtmlBlock.count
86
- html_block_version_count = HtmlBlock::Version.count
87
-
88
- put :update, :id => @block.id, :html_block => {:name => "Test V2"}
89
- reset(:block)
90
-
91
- assert_redirected_to @block
92
- assert_equal html_block_count, HtmlBlock.count
93
- assert_incremented html_block_version_count, HtmlBlock::Version.count
94
- assert_equal "Test V2", @block.draft.name
95
- assert_equal "Html Block 'Test V2' was updated", flash[:notice]
96
- end
97
-
98
- def test_publish
99
- @block.update_attributes(:content => "Something Different")
100
-
101
- assert !@block.live?
102
-
103
- put :publish, :id => @block.id
104
- reset(:block)
105
-
106
- assert_redirected_to @block
107
- assert @block.reload.live?
108
- end
109
-
110
- def test_versions
111
- get :versions, :id => @block.id
112
- assert_response :success
113
- assert_equal @block, assigns(:block)
114
- end
115
-
116
- def test_revert_to
117
- @block.update_attributes(:name => "Test V2")
118
- reset(:block)
119
-
120
- put :revert_to, :id => @block.id, :version => "1"
121
- reset(:block)
122
-
123
- assert_equal 3, @block.draft.version
124
- assert_equal "Test", @block.reload.name
125
- assert_equal "Html Block 'Test' was reverted to version 1", flash[:notice]
126
- assert_redirected_to @block
127
- end
128
-
129
- def test_revert_to_with_invalid_version_parameter
130
- @block.update_attributes(:name => "Test V2", :publish_on_save => true)
131
- reset(:block)
132
-
133
- html_block_version_count = HtmlBlock::Version.count
134
-
135
- put :revert_to, :id => @block.id, :version => 99
136
- reset(:block)
137
-
138
- assert_equal html_block_version_count, HtmlBlock::Version.count
139
- assert_equal "Html Block 'Test V2' could not be reverted to version 99", flash[:error]
140
- assert_redirected_to @block
141
- end
142
-
143
- def test_usages
144
- @page = Factory(:page, :section => root_section, :name => "Included")
145
- @page2 = Factory(:page, :section => root_section, :path => "/other_path", :name => "Excluded")
146
- @block = Factory(:html_block, :connect_to_page_id => @page.id, :connect_to_container => "main")
147
- @page.publish! # usages are only relevant when page is published
148
-
149
- get :usages, :id => @block.id
150
-
151
- assert_response :success
152
- assert_select "h1", "Pages Using Text '#{@block.name}'"
153
- assert_select "td.page_name", "Included"
154
- assert_select "td.page_name", {:count => 0, :text => "Excluded"}
155
- assert_select "h3", "Content Types"
156
- end
157
-
158
- end
159
- end
@@ -1,78 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Cms
4
-
5
- # As these tests break, move them to features/content_blocks/manage_image_blocks.feature
6
- class ImageBlocksControllerTest < ActionController::TestCase
7
- include Cms::ControllerTestHelper
8
-
9
- def setup
10
- given_a_site_exists
11
- login_as_cms_admin
12
- given_there_is_a_sitemap
13
- given_there_is_a_content_type(Cms::ImageBlock)
14
- end
15
-
16
- def test_edit
17
- @image = Factory(:image_block,
18
- :attachment_section => root_section,
19
- :attachment_file => mock_file,
20
- :attachment_file_path => "test.jpg")
21
-
22
- get :edit, :id => @image.id
23
-
24
- assert_response :success
25
- assert_equal root_section.id, assigns(:block).attachment_section_id
26
- assert_select "title", "Content Library / Edit Image"
27
- assert_select "h1", "Edit Image '#{@image.name}'"
28
- assert_select "select[name=?]", "image_block[attachment_section_id]" do
29
- assert_select "option[value=?][selected=?]", root_section.id, "selected"
30
- end
31
- end
32
-
33
- def test_update_image
34
- @image = Factory(:image_block,
35
- :attachment_section => root_section,
36
- :attachment_file => mock_file,
37
- :attachment_file_path => "test.jpg")
38
- @other_section = Factory(:section, :parent => root_section, :name => "Other")
39
-
40
- put :update, :id => @image.id, :image_block => {:attachment_section_id => @other_section.id}
41
- reset(:image)
42
-
43
-
44
- assert_redirected_to @image
45
- assert_equal @other_section, @image.attachment_section
46
- end
47
-
48
- def test_revert_to
49
- @image = Factory(:image_block,
50
- :attachment_section => root_section,
51
- :attachment_file => mock_file(:original_filename => "version1.txt"),
52
- :attachment_file_path => "test.jpg",
53
- :publish_on_save => true)
54
- @image.update_attributes(:attachment_file => mock_file(:original_filename => "version2.txt"), :publish_on_save => true)
55
- reset(:image)
56
-
57
- assert @image.live?
58
- assert_equal 2, @image.version
59
- assert_equal 2, @image.attachment_version
60
- assert_equal "v2", File.read(@image.attachment.full_file_location)
61
-
62
- put :revert_to, :id => @image.id, :version => "1"
63
- reset(:image)
64
-
65
- assert_redirected_to @image
66
- assert !@image.live?
67
- @draft_image = @image.as_of_draft_version
68
- assert_equal 2, @image.version
69
- assert_equal 2, @image.attachment_version
70
- assert_equal 3, @draft_image.version
71
- assert_equal 3, @draft_image.attachment_version
72
- assert_equal "v2", File.read(@image.attachment.full_file_location)
73
- assert_equal "v1", File.read(@draft_image.attachment.full_file_location)
74
- end
75
-
76
- end
77
-
78
- end