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,25 +0,0 @@
1
- Feature: Install blank site
2
- As a developer installing BrowserCMS
3
- there should be an initial set of starting data
4
- so that there is a starting point for creating content.
5
-
6
- Background:
7
- Given the cms database is populated
8
-
9
- Scenario: A homepage should exist
10
- Given I am on the homepage
11
- Then I should see a page titled "Home"
12
-
13
- Scenario: An error page should exist
14
- Given I am at /system/server_error
15
- Then I should see a page titled "Server Error"
16
-
17
- Scenario: A 404 page should exist
18
- Given I am at /system/not_found
19
- Then I should see a page titled "Page Not Found"
20
-
21
-
22
-
23
-
24
-
25
-
@@ -1,12 +0,0 @@
1
- This file contains a manual test plan of areas of BrowserCMS that use Jquery/javascript and need to be tested manually (currently) when stuff is updated.
2
- Could be better done as a features file, with some additional investment time to automate it.
3
-
4
- Features:
5
- * Check all/Check none - Edit a section, verify the group's can be checked/unchecked using a single button.
6
- * Drag/Drop - On the sitemap, verify that Pages, Links, Sections can be moved via drag/drop. Refresh page to make sure they 'stick'.
7
- * Expanding Folders - On the sitemap, verify that sections can be opened/closed.
8
- * Hover over - On the sitemap, verify that 'hidden' sections can be hovered over and have a popup.
9
- * Remove Block - On a page, use the [-] to remove a block from the page. Refresh to verify it 'sticks'
10
- * Path Generator - Add a page, type in name. Verify the 'path' field is being generated based on value.
11
- * Dropdowns - Edit a page. Verify the 'section' selector works correctly.
12
- * Taglist - Add an Html Block. Add tags. Verify that it correctly autolooks up tags that exist already.
@@ -1,33 +0,0 @@
1
- Feature: Manage Groups
2
- CMS Admins should be able to create and manage groups and their permissions through the UI.
3
-
4
- Background:
5
- Given the cms database is populated
6
- And I am logged in as a Content Editor
7
-
8
- Scenario: Create a new content editor group
9
- Given I request /cms/groups
10
- Then I should see "List Groups"
11
- When I click on "Add Group"
12
- Then I should see a page titled "Add New Group"
13
- When I fill in "Name" with "Publisher's Group"
14
- And I select "CMS User" from "Type of User"
15
- And I check "Edit Content"
16
- And I check "Publish Content"
17
- And I check "My Site"
18
- And I press "Save"
19
- Then I should see "Publisher's Group"
20
- And the new group should have edit and publish permissions
21
- And I should see "1 of 2 Sections"
22
-
23
- Scenario: Create Public Group
24
- Given I request /cms/groups
25
- Then I should see "List Groups"
26
- When I click on "Add Group"
27
- Then I should see a page titled "Add New Group"
28
- When I fill in "Name" with "Authenticated Users"
29
- And I select "Registered Public User" from "Type of User"
30
- And I press "Save"
31
- Then I should see "Authenticated Users"
32
- Then I click on "Authenticated Users"
33
- And the new group should have neither edit nor publish permissions
@@ -1,72 +0,0 @@
1
- Feature: Manage Page Routes
2
- Admins should be able to see existing Rails routes, as well as add new 'dynamic' routes via the Admin.
3
- These routes will be used to handle custom portlet pages (like viewing a single 'News' article) using a
4
- nicely formatted path.
5
-
6
- Background:
7
- Given the cms database is populated
8
- And I am logged in as a Content Editor
9
-
10
- Scenario: Show Rails Routes
11
- When I request /cms/routes
12
- Then I should see a page titled "Rails Routes"
13
-
14
- Scenario: Match a path to a Controller
15
- When I request /cms/routes
16
- And I search for a path including "/cms/sample_blocks/1"
17
- Then I should see the following content:
18
- | {:action=>"show", :controller=>"cms/sample_blocks", :id=>"1"} |
19
-
20
- Scenario: Create Page Route
21
- When I request /cms/page_routes
22
- Then I should see a page titled "List Page Routes"
23
- When I click on "Add"
24
- Then I should see a page titled "New Page Route"
25
- When create a Page Route with the following:
26
- | name |
27
- | my_route |
28
- Then I should see a page titled "'my_route' Page Route"
29
- And I should see the following content:
30
- | my_route |
31
-
32
- Scenario: Edit Page Route
33
- Given a Page Route exists
34
- When I edit that page route
35
- Then I should see a page titled "Edit Page Route"
36
- When I fill in "Name" with "My Updated Route"
37
- And I click on "Save"
38
- Then I should see a page titled "'My Updated Route' Page Route"
39
- And I should see "My Updated Route"
40
-
41
- Scenario: A simple route to a CMS page
42
- Given a public page exists
43
- When there is a portlet that displays ":name" from the route
44
- When a page route with the pattern "/hello/:name" exists
45
- When I request /hello/World
46
- Then I should see "World"
47
-
48
-
49
- Scenario: Calling a route with valid segment constraints
50
- Given there is a dynamic page that looks up content by date
51
- And a page route with following exists:
52
- | pattern |
53
- | /content/:year |
54
- When I request /content/2011
55
- Then I should see content for that year only
56
-
57
- Scenario: Calling a route with invalid segment constraints
58
- Given there is a dynamic page that looks up content by date
59
- And a page route with following exists:
60
- | pattern | constraint |
61
- | /content/:year | d{4} |
62
- When I request /content/20
63
- Then I should see the CMS 404 page
64
-
65
- Scenario: Calling a route with invalid method
66
- Given there is a dynamic page that looks up content by date
67
- And a page route with following exists:
68
- | pattern | method |
69
- | /content/:year | GET |
70
- When I POST to /content/2011
71
- Then I should see the CMS 404 page
72
-
@@ -1,20 +0,0 @@
1
- Feature: Manage Redirects
2
- In order to avoid breaking links to old sites,
3
- admins should be able to create redirects between arbitrary paths in the CMS.
4
-
5
- Background:
6
- Given the cms database is populated
7
- And I am logged in as a Content Editor
8
-
9
- Scenario: Create Redirect
10
- When I view the Redirects page
11
- Then I should see a page titled "List Redirects"
12
- When I click on "Add"
13
- Then I should see a page titled "New Redirect"
14
- When create a Redirect with the following:
15
- | from | to |
16
- | /path-a | /path-b |
17
- Then I should see a page titled "List Redirects"
18
- And I should see the following content:
19
- | /path-a |
20
- | /path-b |
@@ -1,12 +0,0 @@
1
- Feature: Manage Sections
2
- Content Editors should be able to create sections from the sitemap in order to organize site content.
3
-
4
- Background:
5
- Given the cms database is populated
6
- And I am logged in as a Content Editor
7
-
8
- Scenario: Create Section
9
- Given I am adding a section to the root section
10
- When I create a public section
11
- Then I should see a page titled "Sitemap"
12
- And the new section should be accessible to everyone
@@ -1,25 +0,0 @@
1
- Feature: Manage Tasks
2
- Content Editors should be able to assign and complete tasks.
3
-
4
- Background:
5
- Given the cms database is populated
6
- And I am logged in as a Content Editor
7
-
8
- Scenario: Assign Home Page as a Task
9
- When I assign the home page as a task
10
- Then I should see a page titled "Assign Page 'Home'"
11
- When I select "CMS Administrator (cmsadmin)" from "Assign To"
12
- And I press "Save"
13
- Then I should see a page titled "Home"
14
- And I should not see the following content:
15
- | error |
16
- When I request /cms/dashboard
17
- Then I should see the following content:
18
- | Home |
19
- And I should not see the following content:
20
- | You currently have no assigned tasks. |
21
-
22
-
23
-
24
-
25
-
@@ -1,38 +0,0 @@
1
- Feature: Manage Users
2
- CMS Admins should be able to add/edit/disable users via the Admin UI.
3
-
4
- Background:
5
- Given the cms database is populated
6
- And I am logged in as a Content Editor
7
-
8
- Scenario: Add User
9
- Given I request /cms/users
10
- And I click on "ADD USER"
11
- Then I should see a page titled "New User"
12
- When fill valid fields for a new user named "testuser"
13
- Then I should see a page titled "User Browser"
14
- And I should see the following content:
15
- | testuser |
16
-
17
-
18
- Scenario: Change Password
19
- Given the following content editor exists:
20
- | username | password | first_name | last_name |
21
- | testuser | abc123 | Mr | Blank |
22
- When I request /cms/users
23
- And I click on "Mr Blank"
24
- And I click on "Change Password"
25
- And I fill in "Password" with "different"
26
- And I fill in "Confirm Password" with "different"
27
- And I press "Save"
28
- Then I should see a page titled "User Browser"
29
- When I login as:
30
- | login | password |
31
- | testuser | different |
32
- Then I should see a page titled "Home"
33
-
34
-
35
-
36
-
37
-
38
-
@@ -1,49 +0,0 @@
1
- Feature: Page Templates
2
- CMS Administrators should be able to create page and partial templates through the UI.
3
-
4
- Background:
5
- Given the cms database is populated
6
- And I am logged in as a Content Editor
7
-
8
- Scenario: Add a Page Template
9
- When I am at /cms/page_templates
10
- And I click on "Add"
11
- Then I should see "New Cms/Page Template"
12
- When I fill in the following:
13
- | Name | hello |
14
- | Body | World |
15
- And I press "Save"
16
- Then I should see a page titled "List Page Templates"
17
- Then I should see the following content:
18
- | Hello |
19
-
20
- Scenario: Multiple pages of templates
21
- Given there are 20 page templates
22
- When I am at /cms/page_templates
23
- Then I should see "Displaying 1 - 15 of 20"
24
- When I click on "next_page_link"
25
- Then I should see "Displaying 16 - 20 of 20"
26
-
27
- Scenario: Edit a template
28
- Given the following page template exists:
29
- | name |
30
- | hello |
31
- When I edit that page template
32
- Then the response should be 200
33
- And the page header should be "Edit 'hello' Cms/Page Template"
34
- When I fill in "Name" with "hello_world"
35
- And I press "Save"
36
- Then the response should be 200
37
- And the page header should be "List Page Templates"
38
- And I should see the following content:
39
- | hello_world |
40
-
41
-
42
- Scenario: Delete a template
43
- Given the following page template exists:
44
- | name |
45
- | hello |
46
- When I delete that page template
47
- Then the response should be 200
48
- And the page header should be "List Page Templates"
49
- And I should not see the "hello" template in the table
@@ -1,29 +0,0 @@
1
- Feature: Email a Friend Portlet
2
- Allows users to email a page to a friend by clicking on a link and filling out a form. An email will be generated with
3
- a link to whatever page the portlet is embedded into.
4
-
5
- Background:
6
- Given the cms database is populated
7
- And I am logged in as a Content Editor
8
-
9
- Scenario: Add New Portlet
10
- Given I visit /cms/portlets
11
- When I click on "add new content"
12
- And I click on "Email Page Portlet"
13
- Then I should see a page titled "Add New Portlet"
14
- When I fill in "Name" with "Hello"
15
- And I click on "Save"
16
- Then I should not see "ERROR"
17
- Then I should see the following content:
18
- | Recipients |
19
- | Body |
20
- When I fill in "Recipients" with "test@example.com"
21
- And I fill in "Body" with "Testing"
22
- And I press "Send Email"
23
- Then I should not see the following content:
24
- | error |
25
-
26
-
27
-
28
-
29
-
@@ -1,100 +0,0 @@
1
- Feature: Portlets
2
- In order to support dynamic content on my site
3
- As a content editor
4
- I want to be able to dynamically display content.
5
-
6
- Background:
7
- Given the cms database is populated
8
- And I am logged in as a Content Editor
9
-
10
- Scenario: List Portlets
11
- When I visit /cms/portlets
12
- Then "Portlets" should be selected as the current Content Type
13
-
14
- Scenario: Login portlet when logged in
15
- And there is a LoginPortlet on the homepage
16
- And I am on the homepage
17
- Then I should see Welcome, cmsadmin
18
-
19
- Scenario: Login portlet when logged out
20
- Given there is a LoginPortlet on the homepage
21
- And I am not logged in
22
- And I am on the homepage
23
- Then I should see the following content:
24
- | Login |
25
- | Password |
26
- | Remember me |
27
-
28
- Scenario: Viewing a portlet
29
- Given there is a "Portlet" with:
30
- | name | template |
31
- | A new portlet | Hello World |
32
- When I request /cms/content_library
33
- And follow "Portlet"
34
- Then I should see the following content:
35
- | A new portlet |
36
-
37
- Scenario: Deleting a portlet
38
- Given there is a "Portlet" with:
39
- | name | template |
40
- | A new portlet | Hello World |
41
- When I delete that portlet
42
- And I request /cms/content_library
43
- And I click on "Portlet"
44
- And I should not see "A new portlet"
45
- When I view that portlet
46
- Then I should see the following content:
47
- | has been deleted |
48
-
49
- Scenario: Editing a portlet
50
- Given there is a "Portlet" with:
51
- | name | template |
52
- | A new portlet | Hello World |
53
- When I edit that portlet
54
- And fill in "Name" with "New Name"
55
- And fill in "Template" with "New World"
56
- And I click on "Save"
57
- Then I should see the following content:
58
- | View Portlet 'New Name' |
59
- | New World |
60
- And I should not see the following content:
61
- | A new portlet |
62
- | Hello World |
63
-
64
- Scenario: Page with portlet on it
65
- Given I am not logged in
66
- And a page with a portlet that display "Hello World" exists
67
- When I visit that page
68
- Then I should see the following content:
69
- | Hello World |
70
-
71
- Scenario: Portlet throws a 404 Error
72
- Given I am not logged in
73
- And a page with a portlet that raises a Not Found exception exists
74
- When I visit that page
75
- Then I should see the CMS 404 page
76
-
77
- Scenario: Portlet throws an 403 Error
78
- Given I am not logged in
79
- And a page with a portlet that raises an Access Denied exception exists
80
- When I visit that page
81
- Then I should see the CMS :forbidden page
82
-
83
- Scenario: Portlet throws 404 and 403 errors
84
- Given I am not logged in
85
- And a page with a portlet that raises both a 404 and 403 error exists
86
- When I visit that page
87
- Then I should see the CMS 404 page
88
-
89
- Scenario: Portlet throws 403 and any other error
90
- Given I am not logged in
91
- And a page with a portlet that raises both a 403 and any other error exists
92
- When I visit that page
93
- Then I should see the CMS :forbidden page
94
-
95
- Scenario: View Usages
96
- Given portlet named "Hello World" has been added to a page
97
- When I view that portlet
98
- Then the response should be 200
99
- And the page header should be "View Portlet 'Hello World'"
100
- And I should see "Used on: 1 page"
@@ -1,28 +0,0 @@
1
- Feature: Tag Cloud Portlet
2
- Show a tag cloud
3
-
4
- Background:
5
- Given the cms database is populated
6
- And I am logged in as a Content Editor
7
-
8
- Scenario: Add New Portlet
9
- Given I visit /cms/portlets
10
- And the following tags exist:
11
- | name |
12
- | Red |
13
- | Green |
14
- And the a block exist that are tagged with "Green"
15
- When I click on "add new content"
16
- And I click on "Tag Cloud Portlet"
17
- Then I should see a page titled "Add New Portlet"
18
- When I fill in "Name" with "My Cloud"
19
- And I click on "Save"
20
- Then I should not see "Red"
21
- And I should see the following content:
22
- | Green |
23
-
24
-
25
-
26
-
27
-
28
-