atrium 0.0.1.alpha

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 (212) hide show
  1. data/.gitignore +13 -0
  2. data/.gitmodules +3 -0
  3. data/.rvmrc +32 -0
  4. data/GETTING_STARTED.textile +109 -0
  5. data/Gemfile +4 -0
  6. data/Gemfile.lock +320 -0
  7. data/Guardfile +10 -0
  8. data/README.mkd +56 -0
  9. data/Rakefile +6 -0
  10. data/app/assets/images/atrium/ajax-loader.gif +0 -0
  11. data/app/assets/images/atrium/lightbox-ico-loading.gif +0 -0
  12. data/app/assets/images/atrium/logo.png +0 -0
  13. data/app/assets/javascripts/atrium/atrium.js +281 -0
  14. data/app/assets/javascripts/chosen.jquery.js +899 -0
  15. data/app/assets/javascripts/ckeditor.warning.js +65 -0
  16. data/app/assets/javascripts/ckeditor/config.js.coffee +6 -0
  17. data/app/assets/javascripts/ckeditor/jquery.generateId.js +13 -0
  18. data/app/assets/javascripts/ckeditor/jquery.jeditable.ckeditor.js +59 -0
  19. data/app/assets/javascripts/ckeditor/plugins/linkItem/application_link.png +0 -0
  20. data/app/assets/javascripts/ckeditor/plugins/linkItem/dialogs/linkItem.js +1470 -0
  21. data/app/assets/javascripts/ckeditor/plugins/linkItem/plugin.js +16 -0
  22. data/app/assets/javascripts/ckeditor/plugins/linkItem/ui_toolbar_pencil.png +0 -0
  23. data/app/assets/javascripts/jquery.colorbox.js +864 -0
  24. data/app/assets/javascripts/jquery.jeditable.js +543 -0
  25. data/app/assets/stylesheets/atrium/atrium.css +216 -0
  26. data/app/assets/stylesheets/atrium/chosen-sprite.png +0 -0
  27. data/app/assets/stylesheets/atrium/chosen.css +367 -0
  28. data/app/assets/stylesheets/colorbox.css +42 -0
  29. data/app/assets/stylesheets/controls.png +0 -0
  30. data/app/assets/stylesheets/loading.gif +0 -0
  31. data/app/controllers/atrium/base_controller.rb +25 -0
  32. data/app/controllers/atrium/collection_exhibit_order_controller.rb +21 -0
  33. data/app/controllers/atrium/collections_controller.rb +165 -0
  34. data/app/controllers/atrium/customization_controller.rb +41 -0
  35. data/app/controllers/atrium/descriptions_controller.rb +177 -0
  36. data/app/controllers/atrium/exhibit_facet_order_controller.rb +19 -0
  37. data/app/controllers/atrium/exhibits_controller.rb +108 -0
  38. data/app/controllers/atrium/showcases_controller.rb +193 -0
  39. data/app/helpers/atrium/base_helper.rb +6 -0
  40. data/app/models/ability.rb +14 -0
  41. data/app/models/atrium/browse_level.rb +41 -0
  42. data/app/models/atrium/collection.rb +121 -0
  43. data/app/models/atrium/description.rb +128 -0
  44. data/app/models/atrium/essay.rb +21 -0
  45. data/app/models/atrium/exhibit.rb +58 -0
  46. data/app/models/atrium/search/facet.rb +29 -0
  47. data/app/models/atrium/search/facet_selection.rb +17 -0
  48. data/app/models/atrium/showcase.rb +173 -0
  49. data/app/models/atrium/showcase/facet_selection.rb +21 -0
  50. data/app/models/atrium/showcase/item.rb +19 -0
  51. data/app/models/role_mapper.rb +23 -0
  52. data/app/views/_user_util_links.html.erb +25 -0
  53. data/app/views/atrium/collections/_bookmark_control.html.erb +25 -0
  54. data/app/views/atrium/collections/_browse_index.html.erb +20 -0
  55. data/app/views/atrium/collections/_collection_items_index.html.erb +10 -0
  56. data/app/views/atrium/collections/_document.html.erb +24 -0
  57. data/app/views/atrium/collections/_document_list.html.erb +6 -0
  58. data/app/views/atrium/collections/_edit_navigation.html.erb +20 -0
  59. data/app/views/atrium/collections/_folder_control.html.erb +12 -0
  60. data/app/views/atrium/collections/_form.html.erb +93 -0
  61. data/app/views/atrium/collections/_listing.html.erb +18 -0
  62. data/app/views/atrium/collections/_navigation.html.erb +45 -0
  63. data/app/views/atrium/collections/_results_pagination.html.erb +9 -0
  64. data/app/views/atrium/collections/_sort_and_per_page.html.erb +23 -0
  65. data/app/views/atrium/collections/edit.html.erb +5 -0
  66. data/app/views/atrium/collections/new.html.erb +6 -0
  67. data/app/views/atrium/collections/show.html.erb +22 -0
  68. data/app/views/atrium/descriptions/_form.html.erb +64 -0
  69. data/app/views/atrium/descriptions/edit.html.erb +4 -0
  70. data/app/views/atrium/descriptions/index.html.erb +4 -0
  71. data/app/views/atrium/descriptions/new.html.erb +2 -0
  72. data/app/views/atrium/descriptions/show.html.erb +20 -0
  73. data/app/views/atrium/exhibits/_bookmark_control.html.erb +25 -0
  74. data/app/views/atrium/exhibits/_folder_control.html.erb +12 -0
  75. data/app/views/atrium/exhibits/_form.html.erb +108 -0
  76. data/app/views/atrium/exhibits/edit.html.erb +9 -0
  77. data/app/views/atrium/exhibits/new.html.erb +6 -0
  78. data/app/views/atrium/exhibits/show.html.erb +26 -0
  79. data/app/views/atrium/showcases/_showcase_navigation.html.erb +23 -0
  80. data/app/views/atrium/showcases/show.html.erb +1 -0
  81. data/app/views/catalog/_collection_home_text.html.erb +6 -0
  82. data/app/views/catalog/_constraints.html.erb +9 -0
  83. data/app/views/catalog/_default_collection_text.html.erb +18 -0
  84. data/app/views/catalog/_default_home_text.html.erb +6 -0
  85. data/app/views/catalog/_home_text.html.erb +6 -0
  86. data/app/views/catalog/_index_partials/_description.html.erb +8 -0
  87. data/app/views/catalog/_search_form.html.erb +66 -0
  88. data/app/views/catalog/_show_partials/_description.html.erb +15 -0
  89. data/app/views/catalog/browse_show.html.erb +18 -0
  90. data/app/views/catalog/index.html.erb +35 -0
  91. data/app/views/catalog/list_description.html.erb +24 -0
  92. data/app/views/catalog/list_item.html.erb +3 -0
  93. data/app/views/layouts/atrium.html.erb +86 -0
  94. data/app/views/layouts/atrium_themes/default.html.erb +4 -0
  95. data/app/views/layouts/item_listing.html.erb +36 -0
  96. data/app/views/listing/_document.html.erb +27 -0
  97. data/app/views/listing/_document_list.html.erb +3 -0
  98. data/app/views/listing/_item_search.html.erb +27 -0
  99. data/app/views/shared/_banner.html.erb +5 -0
  100. data/app/views/shared/_collection_complete_list.html.erb +33 -0
  101. data/app/views/shared/_collection_search_form.html.erb +12 -0
  102. data/app/views/shared/_collection_title_header.html.erb +3 -0
  103. data/app/views/shared/_featured_sources.html.erb +20 -0
  104. data/app/views/shared/_list_descriptions.html.erb +38 -0
  105. data/app/views/shared/_navigation_browse_levels.html.erb +34 -0
  106. data/app/views/shared/_showcase_configure_menu.html.erb +22 -0
  107. data/app/views/shared/_top_navigation.html.erb +9 -0
  108. data/atrium.gemspec +76 -0
  109. data/config/routes.rb +12 -0
  110. data/init.rb +3 -0
  111. data/lib/application_controller.rb +24 -0
  112. data/lib/atrium.rb +42 -0
  113. data/lib/atrium/application_helper.rb +24 -0
  114. data/lib/atrium/atrium_helper_behavior.rb +162 -0
  115. data/lib/atrium/catalog.rb +203 -0
  116. data/lib/atrium/collections_helper.rb +139 -0
  117. data/lib/atrium/controller.rb +10 -0
  118. data/lib/atrium/descriptions_helper.rb +23 -0
  119. data/lib/atrium/engine.rb +12 -0
  120. data/lib/atrium/layout_helper.rb +13 -0
  121. data/lib/atrium/routes.rb +99 -0
  122. data/lib/atrium/solr_helper.rb +440 -0
  123. data/lib/atrium/version.rb +3 -0
  124. data/lib/generators/atrium/assets_generator.rb +44 -0
  125. data/lib/generators/atrium/atrium_generator.rb +149 -0
  126. data/lib/generators/atrium/cucumber_support_generator.rb +29 -0
  127. data/lib/generators/atrium/templates/config/role_map_cucumber.yml +2 -0
  128. data/lib/generators/atrium/templates/config/role_map_development.yml +2 -0
  129. data/lib/generators/atrium/templates/config/role_map_production.yml +2 -0
  130. data/lib/generators/atrium/templates/config/role_map_test.yml +2 -0
  131. data/lib/generators/atrium/templates/config/solr.yml +10 -0
  132. data/lib/generators/atrium/templates/db/seeds.rb +87 -0
  133. data/lib/generators/atrium/templates/migrations/create_atrium_browse_levels.rb +18 -0
  134. data/lib/generators/atrium/templates/migrations/create_atrium_collections.rb +20 -0
  135. data/lib/generators/atrium/templates/migrations/create_atrium_descriptions.rb +16 -0
  136. data/lib/generators/atrium/templates/migrations/create_atrium_essays.rb +15 -0
  137. data/lib/generators/atrium/templates/migrations/create_atrium_exhibits.rb +16 -0
  138. data/lib/generators/atrium/templates/migrations/create_atrium_search_facets.rb +14 -0
  139. data/lib/generators/atrium/templates/migrations/create_atrium_showcase_facet_selections.rb +15 -0
  140. data/lib/generators/atrium/templates/migrations/create_atrium_showcase_items.rb +17 -0
  141. data/lib/generators/atrium/templates/migrations/create_atrium_showcases.rb +16 -0
  142. data/lib/generators/atrium/templates/themes/example.html.erb +21 -0
  143. data/lib/railties/all_tests.rake +23 -0
  144. data/lib/railties/atrium_cucumber.rake +121 -0
  145. data/lib/railties/index.rake +37 -0
  146. data/tasks/atrium.rake +268 -0
  147. data/tasks/atrium_rspec.rake +91 -0
  148. data/test_support/etc/Gemfile +33 -0
  149. data/test_support/etc/bundle_config +3 -0
  150. data/test_support/etc/rvmrc +32 -0
  151. data/test_support/features/atrium_collections.feature +162 -0
  152. data/test_support/features/atrium_exhibits.feature +164 -0
  153. data/test_support/features/step_definitions/atrium_collection_steps.rb +102 -0
  154. data/test_support/features/step_definitions/atrium_exhibit_steps.rb +53 -0
  155. data/test_support/features/step_definitions/bookmarks_steps.rb +6 -0
  156. data/test_support/features/step_definitions/error_steps.rb +5 -0
  157. data/test_support/features/step_definitions/folder_steps.rb +27 -0
  158. data/test_support/features/step_definitions/general_steps.rb +50 -0
  159. data/test_support/features/step_definitions/record_view_steps.rb +12 -0
  160. data/test_support/features/step_definitions/saved_searches_steps.rb +22 -0
  161. data/test_support/features/step_definitions/search_facets_steps.rb +29 -0
  162. data/test_support/features/step_definitions/search_history_steps.rb +9 -0
  163. data/test_support/features/step_definitions/search_result_steps.rb +114 -0
  164. data/test_support/features/step_definitions/search_steps.rb +103 -0
  165. data/test_support/features/step_definitions/user_steps.rb +5 -0
  166. data/test_support/features/step_definitions/web_steps.rb +213 -0
  167. data/test_support/features/support/env.rb +67 -0
  168. data/test_support/features/support/paths.rb +76 -0
  169. data/test_support/features/support/selectors.rb +40 -0
  170. data/test_support/fixtures/atrium_exhibits.yml +3 -0
  171. data/test_support/spec/controllers/atrium/base_controller_spec.rb +13 -0
  172. data/test_support/spec/controllers/atrium/collection_exhibit_order_controller_spec.rb +29 -0
  173. data/test_support/spec/controllers/atrium/collections_controller_spec.rb +185 -0
  174. data/test_support/spec/controllers/atrium/customization_controller_spec.rb +38 -0
  175. data/test_support/spec/controllers/atrium/descriptions_controller_spec.rb +150 -0
  176. data/test_support/spec/controllers/atrium/exhibit_facet_order_controller_spec.rb +36 -0
  177. data/test_support/spec/controllers/atrium/exhibits_controller_spec.rb +192 -0
  178. data/test_support/spec/controllers/atrium/showcases_controller_spec.rb +185 -0
  179. data/test_support/spec/helpers/atrium_collections_helper_spec.rb +147 -0
  180. data/test_support/spec/helpers/atrium_description_helper_spec.rb +47 -0
  181. data/test_support/spec/helpers/atrium_solr_helper_spec.rb +512 -0
  182. data/test_support/spec/models/atrium/browse_level_spec.rb +31 -0
  183. data/test_support/spec/models/atrium/collection_spec.rb +30 -0
  184. data/test_support/spec/models/atrium/description_spec.rb +67 -0
  185. data/test_support/spec/models/atrium/essay_spec.rb +12 -0
  186. data/test_support/spec/models/atrium/exhibit_spec.rb +76 -0
  187. data/test_support/spec/models/atrium/search/facet_selection_spec.rb +24 -0
  188. data/test_support/spec/models/atrium/search/facet_spec.rb +11 -0
  189. data/test_support/spec/models/atrium/search_facet_spec.rb +54 -0
  190. data/test_support/spec/models/atrium/showcase/facet_selection_spec.rb +15 -0
  191. data/test_support/spec/models/atrium/showcase/item_spec.rb +12 -0
  192. data/test_support/spec/models/atrium/showcase_facet_selection_spec.rb +65 -0
  193. data/test_support/spec/models/atrium/showcase_spec.rb +134 -0
  194. data/test_support/spec/rcov.opts +3 -0
  195. data/test_support/spec/routing/atrium/collections_routing_spec.rb +33 -0
  196. data/test_support/spec/spec.opts +4 -0
  197. data/test_support/spec/spec_helper.rb +47 -0
  198. data/test_support/spec/support/be_accessible_matcher.rb +8 -0
  199. data/test_support/spec/support/be_routed_mixin.rb +7 -0
  200. data/test_support/tmp/step_definitions/catalog_index_steps.rb +14 -0
  201. data/test_support/tmp/step_definitions/edit_document_steps.rb +67 -0
  202. data/test_support/tmp/step_definitions/hydra_metadata_steps.rb +3 -0
  203. data/test_support/tmp/step_definitions/hydra_steps.rb +8 -0
  204. data/test_support/tmp/step_definitions/search_steps.rb +86 -0
  205. data/test_support/tmp/step_definitions/searching_steps.rb +22 -0
  206. data/test_support/tmp/step_definitions/select_steps.rb +8 -0
  207. data/test_support/tmp/step_definitions/show_document_steps.rb +73 -0
  208. data/test_support/tmp/step_definitions/user_steps.rb +15 -0
  209. data/test_support/tmp/step_definitions/web_steps.rb +273 -0
  210. data/test_support/tmp/support/env.rb +54 -0
  211. data/test_support/tmp/support/paths.rb +57 -0
  212. metadata +1047 -0
@@ -0,0 +1,91 @@
1
+ # Atrium customization of the Rake tasks that come with rspec-2, to run
2
+ # specs located in alternate location (inside the Atrium plugin), and to provide
3
+ # rake tasks for jetty/solr wrapping.
4
+ #
5
+ # Same tasks as in ordinary rspec, but prefixed with atrium:.
6
+ #
7
+ # rspec2 keeps it's rake tasks inside it's own code, it doesn't generate them.
8
+ # We had to copy them from there and modify, may have to be done again
9
+ # if rspec2 changes a lot, but this code looks relatively cleanish.
10
+ begin
11
+ require 'rspec/core'
12
+ require 'rspec/core/rake_task'
13
+ if default = Rake.application.instance_variable_get('@tasks')['default']
14
+ default.prerequisites.delete('test')
15
+ end
16
+
17
+ spec_prereq = "atrium:test:prepare"
18
+ atrium_spec = File.expand_path("../test_support/spec",File.dirname(__FILE__))
19
+ directories_to_test = [
20
+ :controllers,
21
+ # :generators,
22
+ :helpers,
23
+ # :integration,
24
+ # :lib,
25
+ # :mailers,
26
+ :models,
27
+ # :requests,
28
+ :routing,
29
+ # :unit,
30
+ # :utilities,
31
+ # :views
32
+ ]
33
+
34
+ # Set env variable to tell our spec/spec_helper.rb where we really are,
35
+ # so it doesn't have to guess with relative path, which will be wrong
36
+ # since we allow spec_dir to be in a remote location. spec_helper.rb
37
+ # needs it before Rails.root is defined there, even though we can
38
+ # oddly get it here, i dunno.
39
+ #ENV['RAILS_ROOT'] = Rails.root.to_s
40
+
41
+ namespace :atrium do
42
+ desc "Run all specs in spec directory (excluding plugin specs)"
43
+ RSpec::Core::RakeTask.new(:spec => spec_prereq) do |t|
44
+ # the user might not have run rspec generator because they don't
45
+ # actually need it, but without an ./.rspec they won't get color,
46
+ # let's insist.
47
+ t.rspec_opts = "--colour"
48
+
49
+ # pattern directory name defaults to ./**/*_spec.rb, but has a more concise command line echo
50
+ t.pattern = "#{atrium_spec}"
51
+ end
52
+
53
+ # Don't understand what this does or how to make it use our remote stats_directory
54
+ #task :stats => "spec:statsetup"
55
+ namespace :spec do
56
+ directories_to_test.each do |sub|
57
+ desc "Run the code examples in spec/#{sub}"
58
+ RSpec::Core::RakeTask.new(sub => spec_prereq) do |t|
59
+ #RSpec::Core::RakeTask.new(sub) do |t|
60
+ # the user might not have run rspec generator because they don't
61
+ # actually need it, but without an ./.rspec they won't get color,
62
+ # let's insist.
63
+ t.rspec_opts = "--colour"
64
+
65
+ # pattern directory name defaults to ./**/*_spec.rb, but has a more concise command line echo
66
+ t.pattern = "#{atrium_spec}/#{sub}"
67
+ end
68
+ end
69
+ end
70
+
71
+ desc "Run all atrium:spec:* tasks"
72
+ task :spec => directories_to_test.collect{|sym| "atrium:spec:#{sym}"}
73
+
74
+ desc "Generate code coverage via rcov"
75
+ RSpec::Core::RakeTask.new('rcov' => [spec_prereq, 'atrium:setup_test_app'].flatten.compact) do |t|
76
+ t.rcov = true
77
+ t.rcov_opts = %w{--rails --exclude osx\/objc,gems\/,spec\/}
78
+ t.pattern = "#{atrium_spec}/**/*spec.rb"
79
+ end
80
+
81
+ end
82
+ rescue LoadError
83
+ # This rescue pattern stolen from cucumber; rspec didn't need it before since
84
+ # tasks only lived in rspec gem itself, but for Atrium since we're copying
85
+ # these tasks into Atrium, we use the rescue so you can still run Atrium (without
86
+ # these tasks) even if you don't have rspec installed.
87
+ desc 'rspec rake tasks not available (rspec not installed)'
88
+ task :spec do
89
+ abort 'Rspec rake tasks not available. Be sure to install rspec gems. '
90
+ end
91
+ end
@@ -0,0 +1,33 @@
1
+ # This Gemfile comes from hydra-head/test_support/etc/Gemfile
2
+ # It's copied into the atrium test app by the rake atrium:setup_test_app task
3
+
4
+ source 'http://rubygems.org'
5
+
6
+ gem 'rails', '~> 3.2'
7
+ gem 'blacklight', '~> 3.3'
8
+ gem 'atrium', :path => '../../'
9
+
10
+ gem 'cancan'
11
+ gem 'jquery-rails'
12
+ gem 'json'
13
+
14
+ group :assets do
15
+ gem 'coffee-rails', '~> 3.2.1'
16
+ gem 'sass-rails', '~> 3.2.3'
17
+ gem 'therubyracer', :platforms => :ruby
18
+ gem 'uglifier', '>= 1.0.3'
19
+ end
20
+
21
+ # For testing
22
+ group :development, :test do
23
+ gem 'bcrypt-ruby'
24
+ gem 'capybara'
25
+ gem 'cucumber-rails'
26
+ gem 'database_cleaner'
27
+ gem 'factory_girl', '~> 1.1'
28
+ gem 'mocha'
29
+ gem 'rspec'
30
+ gem 'rspec-rails', '>=2.5.0'
31
+ gem 'ruby-debug'
32
+ gem 'sqlite3'
33
+ end
@@ -0,0 +1,3 @@
1
+ ---
2
+ BUNDLE_DISABLE_SHARED_GEMS: "1"
3
+ BUNDLE_PATH: ../../vendor/cache/
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # This is an RVM Project .rvmrc file, used to automatically load the ruby
4
+ # development environment upon cd'ing into the directory
5
+
6
+ ruby_string="ree-1.8.7"
7
+ gemset_name="atrium-testapp"
8
+
9
+ # Install rubies when used instead of only displaying a warning and exiting
10
+ rvm_install_on_use_flag=1
11
+
12
+ # Specify our desired <ruby>[@<gemset>], the @gemset name is optional.
13
+ environment_id="${ruby_string}@${gemset_name}"
14
+
15
+ # First, attempt to load the desired environment directly from the environment
16
+ # file. This is very fast and efficient compared to running through the entire
17
+ # CLI and selector. If you want feedback on which environment was used then
18
+ # insert the word 'use' after --create as this triggers verbose mode.
19
+ #
20
+ if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
21
+ && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] ; then
22
+ \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
23
+ else
24
+ # If the environment file has not yet been created, use the RVM CLI to select.
25
+ rvm --create "$environment_id"
26
+ fi
27
+
28
+ # Ensure that Bundler is installed, install it if it is not.
29
+ if ! (command -v bundle > /dev/null) ; then
30
+ printf "The rubygem 'bundler' is not installed, installing it now.\n"
31
+ gem install bundler
32
+ fi
@@ -0,0 +1,162 @@
1
+ @atrium_collections,@atrium_showcase
2
+
3
+ Feature: Collections
4
+ In order to create a custom browse of a collection
5
+ As as user
6
+ I want to create and configure an collection
7
+
8
+ Scenario: Listing collections in home page
9
+ Given User exists with a login of "test"
10
+ Given I am on the home page
11
+ #TODO how to handle if we have seeded collection
12
+ Then I should see "Unnamed Collection"
13
+
14
+ Scenario: Editor views the search results page and sees the add collection button
15
+ Given User exists with a login of "test"
16
+ Given I am on the home page
17
+ Then I should see a "Create New Collection" button
18
+
19
+ Scenario: Adding an Collection
20
+ Given User exists with a login of "test"
21
+ Given I am on the home page
22
+ When I press "Create New Collection"
23
+ Then I should be on the edit collection page for id 3
24
+ And I should see a "h1" element containing "Editing Collection"
25
+
26
+ Scenario: Configure a Collection
27
+ Given User exists with a login of "test"
28
+ Given "collection" exists with id 2
29
+ And I am on the edit collection page for id 2
30
+ And I fill in "atrium_collection_title" with "My Test Title"
31
+ And I select "Format" from "atrium_collection_search_facet_names"
32
+ And I press "Update Collection Configuration"
33
+ Then I should see "My Test Title"
34
+ And I should see select list "select#atrium_collection_search_facet_names" with "Format" selected
35
+ When I am on the collection search page for id 2
36
+ Then I should see a "h3" element containing "Format"
37
+ And I should have "div.facet_limit" containing only 1 "h3"
38
+
39
+
40
+ Scenario: Visiting collection scope page
41
+ Given User exists with a login of "test"
42
+ Given "collection" exists with id 1
43
+ And I am on the edit collection page for id 1
44
+ And I follow "Set Collection Scope"
45
+ Then I should be on the catalog page
46
+ And I should see a "div" tag with a "class" attribute of "ui-state-highlight"
47
+ And I should see a "Set Collection Scope to Here" button
48
+
49
+ Scenario: Adding a Scope to an collection
50
+ Given User exists with a login of "test"
51
+ Given "collection" exists with id 2
52
+ And I am on the edit collection page for id 2
53
+ And I follow "Set Collection Scope"
54
+ And I should see a "Set Collection Scope to Here" button
55
+ Then show me the page
56
+ And I follow "Book"
57
+ And I press "Set Collection Scope to Here"
58
+ Then I should be on the edit collection page for id 2
59
+ And I should see a "li" element containing "formatBook"
60
+
61
+ Scenario: Adding Exhibit to Collection
62
+ Given User exists with a login of "test"
63
+ Given "collection" exists with id 1
64
+ And I am on the edit collection page for id 1
65
+ And I press "Add a Exhibit to this Collection"
66
+ #TODO id will be different if we have seed data
67
+ Then I should see "Exhibit 2"
68
+ And I should see "Configure" link
69
+
70
+ Scenario: Deleting Scope From collection
71
+ Pending
72
+
73
+ Scenario: Remove a Search Facet from existing collection
74
+ pending
75
+
76
+ Scenario: Follow Show collection Link from Configure collection Page
77
+ Given User exists with a login of "test"
78
+ Given "collection" exists with id 1
79
+ And I am on the edit collection page for id 1
80
+ And I follow "View Collection"
81
+ Then I am on the collection home page for id 1
82
+
83
+ Scenario: Validate Collection home page
84
+ Given User exists with a login of "test"
85
+ Given "collection" exists with id 1
86
+ And I am on the collection home page for id 1
87
+ Then I should see "Customize this page" link
88
+ And I should see "Configure Collection" link
89
+ And I should see a search field
90
+ And I should see a "Search" button
91
+
92
+ Scenario: Adding Showcase to Collection
93
+ Given User exists with a login of "test"
94
+ Given "collection" exists with id 1
95
+ And I am on the collection home page for id 1
96
+ And I follow "Customize this page"
97
+ Then I should have showcase for collection with id 1
98
+ And I should see "View this page" link
99
+ And I should see "Select Featured Items" link
100
+ And I should see "Add New Description" link
101
+ And I should see "Stop Editing" link
102
+
103
+ Scenario: Adding new description
104
+ Given User exists with a login of "test"
105
+ And I am on the collection home page for id 1
106
+ And I follow "Customize this page"
107
+ And I follow "Add New Description"
108
+ Then I should have "essay" field
109
+ And I should have "summary" field
110
+ When I add "essay" with content "this is new description" to the collection with id "1"
111
+ And "showcase" exists with id 1
112
+ Then I am on the collection page with id 1 having showcase with id 1
113
+ And I should see "Edit Description" link
114
+ And I should see "Delete this description" link
115
+ When I follow "Stop Editing"
116
+ And I should see "this is new description"
117
+
118
+ Scenario: Delete description
119
+ Given User exists with a login of "test"
120
+ Given "collection" exists with id 1
121
+ And I am on the collection home page for id 1
122
+ And I follow "Customize this page"
123
+ And I follow "Add New Description"
124
+ When I add "essay" with content "this is new description" to the collection with id "1"
125
+ And I follow "Delete this description"
126
+ When I follow "Stop Editing"
127
+ And I should not see "essay"
128
+
129
+ Scenario: Adding featured items to Collection
130
+ Given User exists with a login of "test"
131
+ Given "collection" exists with id 1
132
+ And I am on the collection home page for id 1
133
+ And I follow "Customize this page"
134
+ And I follow "Select Featured Items"
135
+ Then I should see a "h1" element containing "Select Featured Items"
136
+ When I add record "2009373513" to featured to the "collection" with id "1" and facet ""
137
+ Then I am on the collection page with id 1 having showcase with id 1
138
+ Then show me the page
139
+ And I should have link to "ci-an-zhou-bian" in featured list
140
+ #
141
+ Scenario: Adding description to Collection from solr items
142
+ Given User exists with a login of "test"
143
+ Given "collection" exists with id 1
144
+ And I am on the collection home page for id 1
145
+ And I follow "Customize this page"
146
+ Then I should have showcase for collection with id 1
147
+ When I follow "Add Description From Solr"
148
+ Then I should see a "h1" element containing "Select Existing Description"
149
+ When I add description with id "desc_solr:1" to collection with id "1" and facet ""
150
+ Then I am on the collection page with id 1 having showcase with id 1
151
+ And I should see description with title "Land Office Bank Currency" in description list
152
+ When I follow "View this page"
153
+ And I should see "Land Office Bank Currency"
154
+
155
+ Scenario: Modifying featured items from Collection
156
+ Pending
157
+
158
+ Scenario: Delete Collection
159
+ Given User exists with a login of "test"
160
+ Given "collection" exists with id 1
161
+ And I am on the edit collection page for id 1
162
+ And I should see "Delete this Collection" link
@@ -0,0 +1,164 @@
1
+ @atrium_exhibits
2
+
3
+ Feature: Exhibits
4
+ In order to create a custom browse exhibit
5
+ As as user
6
+ I want to create and configure an Exhibit within collection
7
+
8
+ Scenario: Editing a title in a exhibit
9
+ Given User exists with a login of "test"
10
+ Given "collection" exists with id 2
11
+ Given "exhibit" exists with id 2
12
+ And I am on the edit collection page for id 2
13
+ And I follow the "Configure" link for exhibit with id 2
14
+ Then I am on the exhibit edit page for id 2
15
+ When I fill in "atrium_exhibit_label" with "My Test Exhibit"
16
+ And I press "Update Exhibit and Facets"
17
+ Then I should see "My Test Exhibit"
18
+
19
+ Scenario: Visiting exhibit scope page
20
+ Given User exists with a login of "test"
21
+ And I am on the exhibit edit page for id 2
22
+ And I follow "Set Exhibit Scope"
23
+ Then I should be on the catalog page
24
+ And I should see a "div" tag with a "class" attribute of "ui-state-highlight"
25
+ And I should see a "Set Exhibit Scope to Here" button
26
+
27
+ ## this scenario requires Format facet to be set as Collection Search Facet
28
+ Scenario: Adding a Scope to an Exhibit
29
+ Given User exists with a login of "test"
30
+ And I am on the exhibit edit page for id 1
31
+ And I follow "Set Exhibit Scope"
32
+ And I should see a "Set Exhibit Scope to Here" button
33
+ And I follow "Book"
34
+ And I press "Set Exhibit Scope to Here"
35
+ Then I am on the exhibit edit page for id 1
36
+ And I should see a "li" element containing "formatBook"
37
+
38
+ Scenario: Add and Remove a Scope from exhibit
39
+ Given User exists with a login of "test"
40
+ And I am on the exhibit edit page for id 1
41
+ And I follow "Set Exhibit Scope"
42
+ And I should see a "Set Exhibit Scope to Here" button
43
+ And I follow "Book"
44
+ And I press "Set Exhibit Scope to Here"
45
+ Then I should see a "li" element containing "formatBook"
46
+ And I follow "Remove Exhibit Scope"
47
+ Then I should not see a "li" element containing "formatBook"
48
+
49
+ Scenario: Adding a solr facet to exhibit
50
+ Given User exists with a login of "test"
51
+ And I am on the exhibit edit page for id 2
52
+ And I select "Language" from "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
53
+ And I press "Add Facet"
54
+ Then "Language" should not be an option for "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
55
+ And "Format" should be an option for "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
56
+
57
+ Scenario: Adding more than one solr facet to exhibit
58
+ Given User exists with a login of "test"
59
+ And I am on the exhibit edit page for id 2
60
+ And I select "Language" from "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
61
+ And I press "Add Facet"
62
+ Then "Language" should not be an option for "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
63
+ When I select "Format" from "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
64
+ And I press "Add Facet"
65
+ And "Format" should not be an option for "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
66
+
67
+ # Need pre-defined exhibits with publication year facet selected, Right now it is part of the scenario
68
+ Scenario: View exhibit in collection home page
69
+ Given User exists with a login of "test"
70
+ And I am on the exhibit edit page for id 2
71
+ And I select "Publication Year" from "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
72
+ And I press "Add Facet"
73
+ When I am on the collection home page for id 2
74
+ Then I should see a "div" tag with a "class" attribute of "facet-list"
75
+ And I should see a "h3" element containing "Publication Year"
76
+ And I should have "div.facet-list" containing only 2 "h3"
77
+ When I follow "2008"
78
+ Then I should have the applied solr facet "Publication Year" with the value "2008"
79
+
80
+ Scenario: Browsing Nested Solr Facets on Exhibit from collection home page
81
+ Given User exists with a login of "test"
82
+ And I am on the exhibit edit page for id 2
83
+ And I select "Publication Year" from "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
84
+ And I press "Add Facet"
85
+ Then "Publication Year" should not be an option for "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
86
+ When I select "Language" from "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
87
+ And I press "Add Facet"
88
+ And "Language" should not be an option for "atrium_exhibit_browse_levels_attributes_0_solr_facet_name"
89
+ When I am on the collection home page for id 2
90
+ Then I should see a "div" tag with a "class" attribute of "facet-list"
91
+ And I should see a "h3" element containing "Publication Year"
92
+ When I follow "2008"
93
+ Then I should have the applied solr facet "Publication Year" with the value "2008"
94
+ And I should have "Language" facet inside "2008" facet
95
+ When I follow "Tibetan"
96
+ Then I should have the applied solr facet "Language" with the value "Tibetan"
97
+
98
+ Scenario: Adding Showcase to selected facet
99
+ Given User exists with a login of "test"
100
+ When I am on the collection home page for id 1
101
+ And I follow "2008"
102
+ Then I should have the applied solr facet "Publication Year" with the value "2008"
103
+ When I follow "Customize this page"
104
+ Then I should have showcase for exhibit with id "1" and facet "2008"
105
+ And I should see "View this page" link
106
+ And I should see "Select Featured Items" link
107
+ And I should see "Add New Description" link
108
+ And I should see "Stop Editing" link
109
+
110
+ Scenario: Adding description to Showcase of the selected facet
111
+ Given User exists with a login of "test"
112
+ When I am on the collection home page for id 1
113
+ And I follow "2008"
114
+ Then I should have the applied solr facet "Publication Year" with the value "2008"
115
+ When I follow "Customize this page"
116
+ Then I should have showcase for exhibit with id "1" and facet "2008"
117
+ And I follow "Add New Description"
118
+ Then I should have "essay" field
119
+ And I should have "summary" field
120
+ When I add "essay" with content "this is exhibit description for facet 2008" to the exhibit with id "2" and facet "2008"
121
+ Then I am on the exhibit home page for id 1 with facet "2008"
122
+ And I should see "Edit Description" link
123
+ And I should see "Delete this description" link
124
+ When I follow "Stop Editing"
125
+ And I should see "this is exhibit description for facet 2008" within "blockquote.intro"
126
+
127
+ Scenario: Adding featured to Showcase of the selected facet
128
+ Given User exists with a login of "test"
129
+ When I am on the collection home page for id 1
130
+ And I follow "2008"
131
+ Then I should have the applied solr facet "Publication Year" with the value "2008"
132
+ When I follow "Customize this page"
133
+ And I follow "Select Featured Items"
134
+ Then I should see a "h1" element containing "Select Featured Items"
135
+ When I add record "2007020969" to featured to the "Exhibit" with id "1" and facet "2008"
136
+ Then I am on the exhibit home page for id 1 with facet "2008"
137
+ And I should have link to "Strong Medicine speaks" in featured list
138
+
139
+ #TODO this scenario is not clear to me
140
+ Scenario: Add group by filter to facet in exhibit
141
+ Pending
142
+ #Given User exists with a login of "test"
143
+ #And I am on the exhibit edit page for id 1
144
+ #And I follow "Set Exhibit Scope"
145
+ #And I should see a "Set Browse Level Scope to Here" button
146
+ #And I follow "Book"
147
+ #And I press "Set Browse Level Scope to Here"
148
+
149
+ Scenario: Remove a exhibit
150
+ pending
151
+
152
+ Scenario: Add another exhibit
153
+ pending
154
+
155
+ Scenario: Toggle between view on one exhibit and another exhibit
156
+ pending
157
+
158
+
159
+
160
+ Scenario: View Exhibit with facet selected and showcase defined
161
+
162
+
163
+
164
+