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.
- data/README.markdown +1 -0
- data/app/assets/images/cms/file-uploading.gif +0 -0
- data/app/assets/javascripts/cms/application.js +1 -0
- data/app/assets/javascripts/cms/attachment_manager.js.erb +87 -0
- data/app/assets/javascripts/cms/core_library.js.erb +38 -25
- data/app/assets/stylesheets/cms/application.css.erb +1 -0
- data/app/assets/stylesheets/cms/attachment_manager.css.scss +28 -0
- data/app/controllers/cms/application_controller.rb +1 -1
- data/app/controllers/cms/attachments_controller.rb +45 -10
- data/app/controllers/cms/cache_controller.rb +1 -1
- data/app/controllers/cms/content_block_controller.rb +134 -122
- data/app/controllers/cms/content_controller.rb +143 -155
- data/app/controllers/cms/dashboard_controller.rb +11 -9
- data/app/controllers/cms/error_handling.rb +19 -7
- data/app/controllers/cms/file_blocks_controller.rb +2 -2
- data/app/controllers/cms/home_controller.rb +3 -0
- data/app/controllers/cms/section_nodes_controller.rb +52 -44
- data/app/controllers/cms/sections_controller.rb +4 -2
- data/app/controllers/cms/toolbar_controller.rb +14 -10
- data/app/helpers/cms/application_helper.rb +23 -19
- data/app/helpers/cms/form_builder.rb +65 -18
- data/app/helpers/cms/mobile_helper.rb +19 -0
- data/app/helpers/cms/path_helper.rb +30 -4
- data/app/helpers/cms/rendering_helper.rb +9 -1
- data/app/models/cms/abstract_file_block.rb +6 -6
- data/app/models/cms/attachment.rb +196 -107
- data/app/models/cms/category.rb +3 -0
- data/app/models/cms/category_type.rb +2 -0
- data/app/models/cms/connector.rb +3 -0
- data/app/models/cms/content_type.rb +3 -0
- data/app/models/cms/content_type_group.rb +2 -0
- data/app/models/cms/dynamic_view.rb +4 -0
- data/app/models/cms/email_message.rb +2 -0
- data/app/models/cms/file_block.rb +9 -2
- data/app/models/cms/group.rb +5 -2
- data/app/models/cms/group_permission.rb +2 -0
- data/app/models/cms/group_section.rb +3 -0
- data/app/models/cms/group_type.rb +2 -0
- data/app/models/cms/group_type_permission.rb +2 -0
- data/app/models/cms/html_block.rb +3 -2
- data/app/models/cms/image_block.rb +13 -2
- data/app/models/cms/page.rb +14 -3
- data/app/models/cms/page_route.rb +4 -0
- data/app/models/cms/page_route_condition.rb +1 -0
- data/app/models/cms/page_route_option.rb +2 -0
- data/app/models/cms/page_route_requirement.rb +1 -0
- data/app/models/cms/permission.rb +3 -0
- data/app/models/cms/portlet.rb +2 -2
- data/app/models/cms/redirect.rb +2 -0
- data/app/models/cms/section.rb +15 -1
- data/app/models/cms/section_node.rb +1 -0
- data/app/models/cms/site.rb +3 -0
- data/app/models/cms/tag.rb +2 -0
- data/app/models/cms/tagging.rb +3 -0
- data/app/models/cms/task.rb +5 -1
- data/app/models/cms/user.rb +1 -1
- data/app/models/cms/user_group_membership.rb +3 -0
- data/app/views/cms/attachments/_attachment.html.erb +14 -0
- data/app/views/cms/attachments/_attachment_table.html.erb +17 -0
- data/app/views/cms/attachments/_attachment_wrapper.html.erb +4 -0
- data/app/views/cms/blocks/index.html.erb +2 -3
- data/app/views/cms/blocks/show.html.erb +1 -1
- data/app/views/cms/dynamic_views/index.html.erb +1 -1
- data/app/views/cms/email_messages/index.html.erb +1 -1
- data/app/views/cms/file_blocks/_form.html.erb +1 -27
- data/app/views/cms/file_blocks/_section_selector.html.erb +13 -0
- data/app/views/cms/file_blocks/render.html.erb +3 -3
- data/app/views/cms/form_builder/_cms_attachment_manager.html.erb +26 -0
- data/app/views/cms/form_builder/_cms_file_field.html.erb +27 -35
- data/app/views/cms/groups/index.html.erb +1 -1
- data/app/views/cms/image_blocks/_form.html.erb +1 -27
- data/app/views/cms/image_blocks/render.html.erb +4 -1
- data/app/views/cms/page_routes/index.html.erb +3 -0
- data/app/views/cms/shared/error.xml.erb +8 -0
- data/app/views/cms/tags/render.html.erb +1 -1
- data/app/views/cms/toolbar/_mobile_toggle.html.erb +33 -0
- data/app/views/cms/users/index.html.erb +1 -1
- data/app/views/layouts/_page_toolbar.html.erb +2 -1
- data/bin/bcms +21 -26
- data/config/routes.rb +3 -2
- data/db/browsercms.seeds.rb +2 -1
- data/db/migrate/20111130221145_browsercms340.rb +5 -4
- data/db/migrate/20120329144406_browsercms350.rb +32 -0
- data/{test/dummy/db → db}/schema.rb +97 -128
- data/{performance_tuning_notes.md → doc/performance_tuning_notes.md} +0 -0
- data/doc/release_notes.md +74 -0
- data/lib/browsercms.rb +3 -0
- data/lib/cms/acts/content_block.rb +10 -2
- data/lib/cms/addressable.rb +8 -0
- data/lib/cms/attachments/attachment_serving.rb +59 -0
- data/lib/cms/attachments/configuration.rb +88 -0
- data/lib/cms/behaviors/attaching.rb +305 -136
- data/lib/cms/behaviors/connecting.rb +3 -4
- data/lib/cms/behaviors/dynamic_attributes.rb +121 -118
- data/lib/cms/behaviors/flush_cache_on_change.rb +1 -3
- data/lib/cms/behaviors/naming.rb +16 -0
- data/lib/cms/behaviors/pagination.rb +4 -1
- data/lib/cms/behaviors/publishing.rb +9 -3
- data/lib/cms/behaviors/searching.rb +3 -8
- data/lib/cms/behaviors/soft_deleting.rb +1 -0
- data/lib/cms/behaviors/taggable.rb +2 -0
- data/lib/cms/behaviors/versioning.rb +73 -120
- data/lib/cms/caching.rb +53 -11
- data/lib/cms/commands/actions.rb +19 -2
- data/lib/cms/configuration.rb +44 -0
- data/lib/cms/content_rendering_support.rb +9 -6
- data/lib/cms/default_accessible.rb +13 -0
- data/lib/cms/domain_support.rb +22 -0
- data/lib/cms/engine.rb +40 -19
- data/lib/cms/engine_helper.rb +54 -0
- data/lib/cms/extensions/active_record/connection_adapters/abstract/schema_statements.rb +14 -2
- data/lib/cms/mobile_aware.rb +67 -0
- data/lib/cms/route_extensions.rb +3 -0
- data/lib/cms/upgrades/v3_5_0.rb +155 -0
- data/lib/cms/version.rb +6 -1
- data/lib/generators/cms/content_block/content_block_generator.rb +14 -9
- data/lib/generators/cms/content_block/templates/_form.html.erb +17 -6
- data/lib/generators/cms/content_block/templates/render.html.erb +12 -5
- data/lib/generators/cms/template/template_generator.rb +11 -2
- data/lib/tasks/cms.rake +23 -0
- data/lib/templates/active_record/model/model.rb +6 -0
- metadata +127 -517
- data/.gitignore +0 -24
- data/.rvmrc +0 -2
- data/Gemfile +0 -29
- data/Gemfile.lock +0 -196
- data/Rakefile +0 -97
- data/app/assets/images/browsercms/.gitkeep +0 -0
- data/app/controllers/browsercms/application_controller.rb +0 -4
- data/browsercms.gemspec +0 -35
- data/config/cucumber.yml +0 -8
- data/config/database.jdbcmysql.yml +0 -30
- data/config/database.mysql.yml +0 -27
- data/config/database.postgres.yml +0 -25
- data/config/database.sqlite3.yml +0 -11
- data/config/environment.rb +0 -6
- data/config/initializers/query_reviewer_patch.rb +0 -12
- data/config/initializers/rack_1_2_1_patch.rb +0 -12
- data/config/locales/en.yml +0 -5
- data/features/acts_as_content_page.feature +0 -62
- data/features/add_content_to_pages.feature +0 -45
- data/features/caching.feature +0 -13
- data/features/ckeditor.feature +0 -11
- data/features/commands/confirm_aruba_works.feature +0 -24
- data/features/commands/generate_module.feature +0 -54
- data/features/commands/install_browsercms.feature +0 -21
- data/features/commands/new_demo_project.feature +0 -30
- data/features/commands/new_projects.feature +0 -50
- data/features/commands/upgrade_modules_to_3_4_0_from_3_1_x.feature +0 -19
- data/features/commands/upgrade_project_to_3_4_0_from_3_3_x.feature +0 -52
- data/features/commands/upgrading_modules.feature +0 -67
- data/features/content_blocks/manage_custom_blocks.feature +0 -67
- data/features/content_blocks/manage_html_blocks.feature +0 -48
- data/features/content_blocks/manage_image_blocks.feature +0 -41
- data/features/content_files.feature +0 -37
- data/features/content_pages.feature +0 -21
- data/features/generators/content_blocks_for_modules.feature +0 -58
- data/features/generators/content_blocks_for_projects.feature +0 -109
- data/features/install_content.feature +0 -25
- data/features/jquery-testplan.txt +0 -12
- data/features/manage_groups.feature +0 -33
- data/features/manage_page_routes.feature +0 -72
- data/features/manage_redirects.feature +0 -20
- data/features/manage_sections.feature +0 -12
- data/features/manage_tasks.feature +0 -25
- data/features/manage_users.feature +0 -38
- data/features/page_templates.feature +0 -49
- data/features/portlets/email_friend_portlet.feature +0 -29
- data/features/portlets/portlets.feature +0 -100
- data/features/portlets/tag_cloud_portlet.feature +0 -28
- data/features/sitemap/create_pages.feature +0 -15
- data/features/sitemap/manage_links.feature +0 -29
- data/features/sitemap/sitemap.feature +0 -18
- data/features/step_definitions/acts_as_content_page_steps.rb.rb +0 -3
- data/features/step_definitions/ckeditor_steps.rb +0 -13
- data/features/step_definitions/command_line_steps.rb +0 -212
- data/features/step_definitions/content_pages_steps.rb +0 -170
- data/features/step_definitions/data_steps.rb +0 -48
- data/features/step_definitions/edit_page_templates_steps.rb +0 -21
- data/features/step_definitions/html_blocks_steps.rb +0 -9
- data/features/step_definitions/install_content_steps.rb +0 -4
- data/features/step_definitions/manage_content_blocks_steps.rb +0 -26
- data/features/step_definitions/manage_image_blocks_steps.rb +0 -31
- data/features/step_definitions/manage_sections_steps.rb +0 -18
- data/features/step_definitions/manage_user_steps.rb +0 -22
- data/features/step_definitions/more_custom_block_steps.rb +0 -34
- data/features/step_definitions/page_route_steps.rb +0 -65
- data/features/step_definitions/page_template_steps.rb +0 -5
- data/features/step_definitions/permissions_steps.rb +0 -13
- data/features/step_definitions/portlets_steps.rb +0 -64
- data/features/step_definitions/redirect_steps.rb +0 -12
- data/features/step_definitions/sitemap_steps.rb +0 -18
- data/features/step_definitions/tag_cloud_steps.rb +0 -11
- data/features/step_definitions/task_steps.rb +0 -4
- data/features/step_definitions/taxonomy_steps.rb +0 -16
- data/features/step_definitions/upgrade_module_steps.rb +0 -76
- data/features/step_definitions/web_steps.rb +0 -211
- data/features/support/async_support.rb +0 -17
- data/features/support/command_line_helpers.rb +0 -63
- data/features/support/debug_formatter.rb +0 -7
- data/features/support/debugging.rb +0 -28
- data/features/support/env.rb +0 -73
- data/features/support/git_api.rb +0 -9
- data/features/support/open_on_first_failure.rb +0 -25
- data/features/support/paths.rb +0 -32
- data/features/support/rails_api.rb +0 -8
- data/features/support/selectors.rb +0 -39
- data/features/support/transforms.rb +0 -7
- data/features/taxonomy/add_content_with_category.feature +0 -30
- data/features/taxonomy/manage_categories.feature +0 -20
- data/features/taxonomy/manage_category_types.feature +0 -16
- data/lib/cms/init.rb +0 -105
- data/lib/tasks/data.rake +0 -43
- data/lib/tasks/db.rake +0 -82
- data/public/styled_file_field/index.html +0 -72
- data/script/cucumber +0 -10
- data/script/rails +0 -6
- data/test/console_helper.rb +0 -5
- data/test/custom_assertions.rb +0 -84
- data/test/dummy/Rakefile +0 -7
- data/test/dummy/app/assets/javascripts/application.js +0 -9
- data/test/dummy/app/assets/javascripts/content_page.js +0 -2
- data/test/dummy/app/assets/stylesheets/application.css +0 -7
- data/test/dummy/app/assets/stylesheets/content_page.css +0 -4
- data/test/dummy/app/controllers/application_controller.rb +0 -3
- data/test/dummy/app/controllers/cms/products_controller.rb +0 -2
- data/test/dummy/app/controllers/cms/sample_blocks_controller.rb +0 -3
- data/test/dummy/app/controllers/content_page_controller.rb +0 -13
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/helpers/content_page_helper.rb +0 -2
- data/test/dummy/app/mailers/.gitkeep +0 -0
- data/test/dummy/app/models/.gitkeep +0 -0
- data/test/dummy/app/models/cms/sample_block.rb +0 -22
- data/test/dummy/app/models/product.rb +0 -5
- data/test/dummy/app/views/cms/products/_form.html.erb +0 -7
- data/test/dummy/app/views/cms/products/render.html.erb +0 -3
- data/test/dummy/app/views/content_page/custom_page.html.erb +0 -3
- data/test/dummy/app/views/content_page/index.html.erb +0 -2
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/app/views/layouts/templates/default.html.erb +0 -17
- data/test/dummy/app/views/layouts/templates/subpage.html.erb +0 -16
- data/test/dummy/app/views/test_route/index.html.erb +0 -14
- data/test/dummy/config.ru +0 -4
- data/test/dummy/config/application.rb +0 -45
- data/test/dummy/config/boot.rb +0 -10
- data/test/dummy/config/database.yml +0 -27
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -32
- data/test/dummy/config/environments/production.rb +0 -60
- data/test/dummy/config/environments/test.rb +0 -46
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/browsercms.rb +0 -7
- data/test/dummy/config/initializers/inflections.rb +0 -10
- data/test/dummy/config/initializers/mime_types.rb +0 -5
- data/test/dummy/config/initializers/quiet_sprocket_assets.rb +0 -13
- data/test/dummy/config/initializers/secret_token.rb +0 -7
- data/test/dummy/config/initializers/session_store.rb +0 -8
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/locales/en.yml +0 -5
- data/test/dummy/config/routes.rb +0 -23
- data/test/dummy/db/migrate/20111228141250_create_products.rb +0 -16
- data/test/dummy/db/seeds.rb +0 -1
- data/test/dummy/lib/assets/.gitkeep +0 -0
- data/test/dummy/public/404.html +0 -26
- data/test/dummy/public/422.html +0 -26
- data/test/dummy/public/500.html +0 -26
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +0 -6
- data/test/dummy/test/functional/content_page_controller_test.rb +0 -9
- data/test/dummy/test/unit/helpers/content_page_helper_test.rb +0 -4
- data/test/factories.rb +0 -235
- data/test/fixtures/multipart/foo.jpg +0 -0
- data/test/fixtures/multipart/sample_upload.txt +0 -1
- data/test/fixtures/multipart/second_upload.txt +0 -1
- data/test/fixtures/multipart/test.jpg +0 -0
- data/test/fixtures/multipart/version1.txt +0 -1
- data/test/fixtures/multipart/version2.txt +0 -1
- data/test/functional/cms/cache_controller_test.rb +0 -16
- data/test/functional/cms/categories_controller_test.rb +0 -28
- data/test/functional/cms/connectors_controller_test.rb +0 -64
- data/test/functional/cms/content_block_controller_test.rb +0 -127
- data/test/functional/cms/content_controller_test.rb +0 -351
- data/test/functional/cms/dashboard_controller_test.rb +0 -20
- data/test/functional/cms/file_blocks_controller_test.rb +0 -55
- data/test/functional/cms/home_controller_test.rb +0 -160
- data/test/functional/cms/html_blocks_controller_test.rb +0 -159
- data/test/functional/cms/image_blocks_controller_test.rb +0 -78
- data/test/functional/cms/links_controller_test.rb +0 -92
- data/test/functional/cms/log/test.log +0 -0
- data/test/functional/cms/pages_controller_test.rb +0 -233
- data/test/functional/cms/portlets_controller_test.rb +0 -57
- data/test/functional/cms/sections_controller_test.rb +0 -234
- data/test/functional/cms/sessions_controller_test.rb +0 -80
- data/test/functional/cms/tasks_controller_test.rb +0 -64
- data/test/functional/cms/toolbar_controller_test.rb +0 -76
- data/test/functional/cms/users_controller_test.rb +0 -218
- data/test/integration/cms/password_management_test.rb +0 -66
- data/test/integration/sitemap_performance_test.rb +0 -26
- data/test/mock_file.rb +0 -33
- data/test/performance/browsing_test.rb +0 -9
- data/test/support/engine_controller_hacks.rb +0 -34
- data/test/support/factory_helpers.rb +0 -57
- data/test/support/rails_3_1_routes_hack.rb +0 -70
- data/test/test_helper.rb +0 -199
- data/test/test_logging.rb +0 -67
- data/test/unit/active_record_callbacks.rb +0 -50
- data/test/unit/behaviors/attaching_test.rb +0 -370
- data/test/unit/behaviors/cms_user_test.rb +0 -67
- data/test/unit/behaviors/connectable_test.rb +0 -32
- data/test/unit/behaviors/connecting_test.rb +0 -56
- data/test/unit/behaviors/dynamic_attributes_test.rb +0 -74
- data/test/unit/behaviors/namespacing_test.rb +0 -76
- data/test/unit/behaviors/publishable_test.rb +0 -83
- data/test/unit/behaviors/rendering_test.rb +0 -68
- data/test/unit/behaviors/searching_test.rb +0 -102
- data/test/unit/behaviors/taggable_test.rb +0 -110
- data/test/unit/behaviors/userstamping_test.rb +0 -27
- data/test/unit/behaviors/versioning_test.rb +0 -102
- data/test/unit/extensions/active_record/base_test.rb +0 -25
- data/test/unit/extensions/hash_test.rb +0 -26
- data/test/unit/extensions/integer_test.rb +0 -10
- data/test/unit/extensions/string_test.rb +0 -14
- data/test/unit/factories_test.rb +0 -50
- data/test/unit/generators/install_generator_test.rb +0 -15
- data/test/unit/helpers/application_helper_test.rb +0 -104
- data/test/unit/helpers/date_picker_test.rb +0 -17
- data/test/unit/helpers/menu_helper_test.rb +0 -240
- data/test/unit/helpers/page_helper_test.rb +0 -69
- data/test/unit/helpers/path_helper_test.rb +0 -38
- data/test/unit/helpers/rendering_helper_test.rb +0 -8
- data/test/unit/lib/acts_as_content_page_test.rb +0 -72
- data/test/unit/lib/cms/authentication/controller_test.rb +0 -20
- data/test/unit/lib/cms/engine_helper_test.rb +0 -119
- data/test/unit/lib/cms/sitemap_test.rb +0 -210
- data/test/unit/lib/cms_domain_support_test.rb +0 -44
- data/test/unit/lib/command_line_test.rb +0 -70
- data/test/unit/lib/content_block_test.rb +0 -304
- data/test/unit/lib/content_rendering_support_test.rb +0 -40
- data/test/unit/lib/generators_test.rb +0 -40
- data/test/unit/lib/routes_test.rb +0 -98
- data/test/unit/mock_file_test.rb +0 -19
- data/test/unit/models/attachment_test.rb +0 -160
- data/test/unit/models/category_test.rb +0 -40
- data/test/unit/models/category_type_test.rb +0 -8
- data/test/unit/models/connector_test.rb +0 -152
- data/test/unit/models/content_type_group_test.rb +0 -26
- data/test/unit/models/content_type_test.rb +0 -177
- data/test/unit/models/dynamic_views_test.rb +0 -36
- data/test/unit/models/email_page_portlet_test.rb +0 -20
- data/test/unit/models/file_block_test.rb +0 -246
- data/test/unit/models/group_test.rb +0 -29
- data/test/unit/models/html_block_test.rb +0 -121
- data/test/unit/models/image_block_test.rb +0 -35
- data/test/unit/models/link_test.rb +0 -52
- data/test/unit/models/namespaces_test.rb +0 -57
- data/test/unit/models/page_partial_test.rb +0 -37
- data/test/unit/models/page_route_test.rb +0 -113
- data/test/unit/models/page_template_test.rb +0 -50
- data/test/unit/models/page_test.rb +0 -879
- data/test/unit/models/permission_test.rb +0 -10
- data/test/unit/models/portlet_test.rb +0 -99
- data/test/unit/models/sections_test.rb +0 -278
- data/test/unit/models/site_test.rb +0 -50
- data/test/unit/models/task_test.rb +0 -150
- data/test/unit/models/user_test.rb +0 -358
- data/test/unit/schema_statements_test.rb +0 -137
- 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
|
-
|