hydra-head 4.1.3 → 5.0.0.pre1

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 (412) hide show
  1. metadata +28 -617
  2. data/.gitignore +0 -73
  3. data/.gitmodules +0 -4
  4. data/Gemfile +0 -14
  5. data/HISTORY.textile +0 -99
  6. data/INSTALL_PREREQ.textile +0 -3
  7. data/LICENSE +0 -14
  8. data/README.textile +0 -129
  9. data/Rakefile +0 -5
  10. data/app/assets/images/hydra/powered_by_hydra.png +0 -0
  11. data/app/assets/images/hydra/search-button.png +0 -0
  12. data/app/assets/javascripts/date-picker/booking/index.html +0 -368
  13. data/app/assets/javascripts/date-picker/calendarHTML.txt +0 -84
  14. data/app/assets/javascripts/date-picker/css/datepicker.css +0 -511
  15. data/app/assets/javascripts/date-picker/css/demo.css +0 -229
  16. data/app/assets/javascripts/date-picker/index.html +0 -798
  17. data/app/assets/javascripts/date-picker/js/datepicker.js +0 -2898
  18. data/app/assets/javascripts/date-picker/js/datepicker.packed.js +0 -1
  19. data/app/assets/javascripts/date-picker/js/lang/ar.js +0 -9
  20. data/app/assets/javascripts/date-picker/js/lang/cs.js +0 -9
  21. data/app/assets/javascripts/date-picker/js/lang/da.js +0 -10
  22. data/app/assets/javascripts/date-picker/js/lang/de.js +0 -10
  23. data/app/assets/javascripts/date-picker/js/lang/en.js +0 -9
  24. data/app/assets/javascripts/date-picker/js/lang/eo.js +0 -13
  25. data/app/assets/javascripts/date-picker/js/lang/es.js +0 -9
  26. data/app/assets/javascripts/date-picker/js/lang/et.js +0 -23
  27. data/app/assets/javascripts/date-picker/js/lang/fi.js +0 -7
  28. data/app/assets/javascripts/date-picker/js/lang/fr.js +0 -69
  29. data/app/assets/javascripts/date-picker/js/lang/he.js +0 -9
  30. data/app/assets/javascripts/date-picker/js/lang/hu.js +0 -9
  31. data/app/assets/javascripts/date-picker/js/lang/id.js +0 -9
  32. data/app/assets/javascripts/date-picker/js/lang/it.js +0 -11
  33. data/app/assets/javascripts/date-picker/js/lang/kr.js +0 -9
  34. data/app/assets/javascripts/date-picker/js/lang/lt.js +0 -8
  35. data/app/assets/javascripts/date-picker/js/lang/lv.js +0 -9
  36. data/app/assets/javascripts/date-picker/js/lang/nl.js +0 -9
  37. data/app/assets/javascripts/date-picker/js/lang/no.js +0 -9
  38. data/app/assets/javascripts/date-picker/js/lang/pl.js +0 -10
  39. data/app/assets/javascripts/date-picker/js/lang/pt-br.js +0 -11
  40. data/app/assets/javascripts/date-picker/js/lang/pt.js +0 -9
  41. data/app/assets/javascripts/date-picker/js/lang/ru.js +0 -11
  42. data/app/assets/javascripts/date-picker/js/lang/se.js +0 -9
  43. data/app/assets/javascripts/date-picker/js/lang/si.js +0 -9
  44. data/app/assets/javascripts/date-picker/js/lang/tr.js +0 -9
  45. data/app/assets/javascripts/date-picker/language/index.html +0 -240
  46. data/app/assets/javascripts/date-picker/media/Thumbs.db +0 -0
  47. data/app/assets/javascripts/date-picker/media/backstripes.gif +0 -0
  48. data/app/assets/javascripts/date-picker/media/bg_header.jpg +0 -0
  49. data/app/assets/javascripts/date-picker/media/bullet1.gif +0 -0
  50. data/app/assets/javascripts/date-picker/media/bullet2.gif +0 -0
  51. data/app/assets/javascripts/date-picker/media/cal-grey.gif +0 -0
  52. data/app/assets/javascripts/date-picker/media/cal.gif +0 -0
  53. data/app/assets/javascripts/date-picker/media/gradient-e5e5e5-ffffff.gif +0 -0
  54. data/app/assets/javascripts/hydra/hydra-head.js +0 -195
  55. data/app/assets/javascripts/hydra/mediashelf.datepicker.js +0 -39
  56. data/app/assets/javascripts/hydra/mediashelf.placeholder.js +0 -67
  57. data/app/assets/javascripts/jquery.form.js +0 -1076
  58. data/app/assets/javascripts/jquery.ui.datepicker.js +0 -1793
  59. data/app/assets/javascripts/spin.min.js +0 -2
  60. data/app/assets/stylesheets/hydra/html_refactor.css +0 -79
  61. data/app/assets/stylesheets/hydra/hydrangea-split-button.css +0 -18
  62. data/app/assets/stylesheets/hydra/hydrangea.css +0 -288
  63. data/app/assets/stylesheets/hydra/ie-styles.css +0 -149
  64. data/app/assets/stylesheets/hydra/styles.css +0 -946
  65. data/app/assets/stylesheets/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  66. data/app/assets/stylesheets/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  67. data/app/assets/stylesheets/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  68. data/app/assets/stylesheets/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  69. data/app/assets/stylesheets/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  70. data/app/assets/stylesheets/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  71. data/app/assets/stylesheets/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  72. data/app/assets/stylesheets/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  73. data/app/assets/stylesheets/redmond/images/ui-icons_217bc0_256x240.png +0 -0
  74. data/app/assets/stylesheets/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
  75. data/app/assets/stylesheets/redmond/images/ui-icons_469bdd_256x240.png +0 -0
  76. data/app/assets/stylesheets/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
  77. data/app/assets/stylesheets/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
  78. data/app/assets/stylesheets/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
  79. data/app/assets/stylesheets/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
  80. data/app/assets/stylesheets/redmond/jquery-ui-1.8.5.custom.css +0 -572
  81. data/app/controllers/downloads_controller.rb +0 -20
  82. data/app/controllers/hydra/application_controller.rb +0 -5
  83. data/app/controllers/hydra/assets_controller.rb +0 -12
  84. data/app/controllers/hydra/contributors_controller.rb +0 -115
  85. data/app/controllers/hydra/file_assets_controller.rb +0 -3
  86. data/app/controllers/hydra/permissions_controller.rb +0 -117
  87. data/app/controllers/user_sessions_controller.rb +0 -13
  88. data/app/helpers/application_helper.rb +0 -3
  89. data/app/helpers/article_metadata_helper.rb +0 -4
  90. data/app/helpers/blacklight_helper.rb +0 -4
  91. data/app/helpers/downloads_helper.rb +0 -4
  92. data/app/helpers/facets_helper.rb +0 -4
  93. data/app/helpers/generic_content_objects_helper.rb +0 -4
  94. data/app/helpers/hydra/application_helper_behavior.rb +0 -8
  95. data/app/helpers/hydra/article_metadata_helper_behavior.rb +0 -95
  96. data/app/helpers/hydra/blacklight_helper_behavior.rb +0 -128
  97. data/app/helpers/hydra/downloads_helper_behavior.rb +0 -24
  98. data/app/helpers/hydra/facets_helper_behavior.rb +0 -34
  99. data/app/helpers/hydra/generic_content_objects_helper_behavior.rb +0 -17
  100. data/app/helpers/hydra/hydra_assets_helper_behavior.rb +0 -76
  101. data/app/helpers/hydra/hydra_fedora_metadata_helper_behavior.rb +0 -379
  102. data/app/helpers/hydra/hydra_helper_behavior.rb +0 -195
  103. data/app/helpers/hydra/hydra_uploader_helper_behavior.rb +0 -23
  104. data/app/helpers/hydra/inline_editable_metadata_helper_behavior.rb +0 -21
  105. data/app/helpers/hydra/javascript_includes_helper_behavior.rb +0 -94
  106. data/app/helpers/hydra/personalization_helper_behavior.rb +0 -49
  107. data/app/helpers/hydra/release_process_helper_behavior.rb +0 -37
  108. data/app/helpers/hydra_assets_helper.rb +0 -4
  109. data/app/helpers/hydra_fedora_metadata_helper.rb +0 -4
  110. data/app/helpers/hydra_helper.rb +0 -4
  111. data/app/helpers/hydra_uploader_helper.rb +0 -4
  112. data/app/helpers/inline_editable_metadata_helper.rb +0 -4
  113. data/app/helpers/javascript_includes_helper.rb +0 -4
  114. data/app/helpers/personalization_helper.rb +0 -4
  115. data/app/helpers/release_process_helper.rb +0 -4
  116. data/app/models/file_asset.rb +0 -5
  117. data/app/models/generic_content.rb +0 -26
  118. data/app/models/generic_image.rb +0 -67
  119. data/app/models/hydra/datastream/properties.rb +0 -24
  120. data/app/models/mods_asset.rb +0 -24
  121. data/app/models/superuser.rb +0 -14
  122. data/app/models/user_attribute.rb +0 -37
  123. data/app/models/uses_default_partials.rb +0 -23
  124. data/app/views/_add_assets_links.html.erb +0 -14
  125. data/app/views/_flash_msg.html.erb +0 -5
  126. data/app/views/_user_util_links.html.erb +0 -31
  127. data/app/views/catalog/_citation.html.erb +0 -11
  128. data/app/views/catalog/_constraints_element.html.erb +0 -34
  129. data/app/views/catalog/_delete_partials/_default.html.erb +0 -22
  130. data/app/views/catalog/_document_list.html.erb +0 -11
  131. data/app/views/catalog/_edit_partials/_default.html.erb +0 -57
  132. data/app/views/catalog/_edit_partials/_default_details.html.erb +0 -13
  133. data/app/views/catalog/_facets.html.erb +0 -37
  134. data/app/views/catalog/_home.html.erb +0 -6
  135. data/app/views/catalog/_home_text.html.erb +0 -4
  136. data/app/views/catalog/_index_partials/_default.html.erb +0 -20
  137. data/app/views/catalog/_index_partials/_default_details.html.erb +0 -14
  138. data/app/views/catalog/_index_partials/_default_group.html.erb +0 -15
  139. data/app/views/catalog/_opensearch_response_metadata.html.erb +0 -2
  140. data/app/views/catalog/_show_partials/_default.html.erb +0 -21
  141. data/app/views/catalog/_show_partials/_default_details.html.erb +0 -15
  142. data/app/views/catalog/_show_partials/_facets.html.erb +0 -52
  143. data/app/views/catalog/_sms_form.html.erb +0 -21
  144. data/app/views/catalog/_sort_and_per_page.html.erb +0 -23
  145. data/app/views/catalog/_uva_tabs.html.erb +0 -10
  146. data/app/views/catalog/about.html.erb +0 -0
  147. data/app/views/catalog/show.html.erb +0 -40
  148. data/app/views/contributors/_add_contributor_split_button.html.erb +0 -10
  149. data/app/views/contributors/_edit_conference.html.erb +0 -29
  150. data/app/views/contributors/_edit_organization.html.erb +0 -29
  151. data/app/views/contributors/_edit_person.html.erb +0 -39
  152. data/app/views/contributors/_index.html.erb +0 -11
  153. data/app/views/contributors/_new.html.erb +0 -10
  154. data/app/views/contributors/_show_conference.html.erb +0 -12
  155. data/app/views/contributors/_show_organization.html.erb +0 -21
  156. data/app/views/contributors/_show_person.html.erb +0 -17
  157. data/app/views/contributors/new.html.erb +0 -14
  158. data/app/views/downloads/index.html.erb +0 -1
  159. data/app/views/generic_content_objects/_contributor_form.html.erb +0 -11
  160. data/app/views/generic_content_objects/_description_form.html.erb +0 -7
  161. data/app/views/generic_content_objects/_edit_description.html.erb +0 -23
  162. data/app/views/generic_content_objects/_new.html.erb +0 -0
  163. data/app/views/generic_content_objects/_show_description.html.erb +0 -41
  164. data/app/views/generic_contents/_edit.html.erb +0 -10
  165. data/app/views/generic_contents/_index.html.erb +0 -21
  166. data/app/views/generic_contents/_show.html.erb +0 -6
  167. data/app/views/generic_contents/_show_content.html.erb +0 -7
  168. data/app/views/generic_images/_edit.html.erb +0 -36
  169. data/app/views/generic_images/_index.html.erb +0 -24
  170. data/app/views/generic_images/_show.html.erb +0 -13
  171. data/app/views/generic_images/_show_all.html.erb +0 -14
  172. data/app/views/generic_images/_show_content.html.erb +0 -7
  173. data/app/views/hydra/file_assets/_asset_saved_flash.html.erb +0 -2
  174. data/app/views/hydra/file_assets/_deletable_result.html.erb +0 -5
  175. data/app/views/hydra/file_assets/_file_assets_form.html.erb +0 -11
  176. data/app/views/hydra/file_assets/_index.html.erb +0 -29
  177. data/app/views/hydra/file_assets/_new.html.erb +0 -6
  178. data/app/views/hydra/file_assets/_result.html.erb +0 -11
  179. data/app/views/hydra/file_assets/index.html.erb +0 -5
  180. data/app/views/hydra/permissions/_edit_person_permissions.html.erb +0 -30
  181. data/app/views/hydra/permissions/_index.html.erb +0 -46
  182. data/app/views/hydra/permissions/_new.html.erb +0 -14
  183. data/app/views/hydra/permissions/_permissions_form.html.erb +0 -23
  184. data/app/views/hydra/permissions/index.html.erb +0 -1
  185. data/app/views/hydra/permissions/new.html.erb +0 -1
  186. data/app/views/layouts/hydra-head.html.erb +0 -47
  187. data/app/views/mods_assets/_additional_info_form.html.erb +0 -44
  188. data/app/views/mods_assets/_contributor_form.html.erb +0 -14
  189. data/app/views/mods_assets/_edit.html.erb +0 -10
  190. data/app/views/mods_assets/_edit_description.html.erb +0 -73
  191. data/app/views/mods_assets/_edit_journal.html.erb +0 -57
  192. data/app/views/mods_assets/_index.html.erb +0 -1
  193. data/app/views/mods_assets/_index_list.html.erb +0 -37
  194. data/app/views/mods_assets/_index_table.html.erb +0 -7
  195. data/app/views/mods_assets/_progress_box.html.erb +0 -82
  196. data/app/views/mods_assets/_publication_form.html.erb +0 -13
  197. data/app/views/mods_assets/_show.html.erb +0 -39
  198. data/app/views/mods_assets/_show_additional_info.html.erb +0 -17
  199. data/app/views/mods_assets/_show_contributors.html.erb +0 -7
  200. data/app/views/mods_assets/_show_description.html.erb +0 -35
  201. data/app/views/mods_assets/_show_file_assets.html.erb +0 -22
  202. data/app/views/mods_assets/_show_journal.html.erb +0 -42
  203. data/app/views/mods_assets/_show_permissions.html.erb +0 -15
  204. data/app/views/mods_assets/_show_publication.html.erb +0 -8
  205. data/app/views/shared/_delete_asset_confirmation.html.erb +0 -17
  206. data/app/views/user_sessions/_login_form.html.erb +0 -10
  207. data/app/views/user_sessions/logged_out.html.erb +0 -1
  208. data/config/fedora.yml +0 -15
  209. data/config/jetty.yml +0 -6
  210. data/config/locales/hydra.en.yml +0 -7
  211. data/config/role_map_cucumber.yml +0 -10
  212. data/config/role_map_development.yml +0 -12
  213. data/config/role_map_production.yml +0 -2
  214. data/config/role_map_test.yml +0 -14
  215. data/config/routes.rb +0 -12
  216. data/config/solr.yml +0 -9
  217. data/config/solr_mappings.yml +0 -22
  218. data/db/migrate/20101105214243_add_user_attributes_table.rb +0 -15
  219. data/db/migrate/20101108192527_create_superusers.rb +0 -12
  220. data/fedora_conf/conf/development/fedora.fcfg +0 -1021
  221. data/fedora_conf/conf/test/fedora.fcfg +0 -1021
  222. data/hydra-head.gemspec +0 -41
  223. data/init.rb +0 -4
  224. data/install.rb +0 -1
  225. data/lib/application_helper.rb +0 -3
  226. data/lib/generators/hydra/assets_generator.rb +0 -50
  227. data/lib/generators/hydra/cucumber_support_generator.rb +0 -29
  228. data/lib/generators/hydra/head_generator.rb +0 -165
  229. data/lib/generators/hydra/hyhead_fixtures_generator.rb +0 -27
  230. data/lib/generators/hydra/templates/catalog_controller.rb +0 -162
  231. data/lib/generators/hydra/templates/config/fedora.yml +0 -14
  232. data/lib/generators/hydra/templates/config/initializers/action_dispatch_http_upload_monkey_patch.rb +0 -12
  233. data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +0 -44
  234. data/lib/generators/hydra/templates/config/role_map_cucumber.yml +0 -10
  235. data/lib/generators/hydra/templates/config/role_map_development.yml +0 -12
  236. data/lib/generators/hydra/templates/config/role_map_production.yml +0 -2
  237. data/lib/generators/hydra/templates/config/role_map_test.yml +0 -15
  238. data/lib/generators/hydra/templates/config/solr.yml +0 -10
  239. data/lib/generators/hydra/templates/config/solr_mappings.yml +0 -22
  240. data/lib/generators/hydra/templates/fedora_conf/conf/development/fedora.fcfg +0 -1021
  241. data/lib/generators/hydra/templates/fedora_conf/conf/test/fedora.fcfg +0 -1021
  242. data/lib/generators/hydra/templates/migrations/create_superusers.rb +0 -12
  243. data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +0 -124
  244. data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +0 -394
  245. data/lib/generators/hydra/templates/solr_conf/solr.xml +0 -35
  246. data/lib/hydra-head.rb +0 -29
  247. data/lib/hydra-head/controller.rb +0 -29
  248. data/lib/hydra-head/engine.rb +0 -29
  249. data/lib/hydra-head/routes.rb +0 -90
  250. data/lib/hydra-head/version.rb +0 -4
  251. data/lib/hydra.rb +0 -52
  252. data/lib/hydra/assets.rb +0 -7
  253. data/lib/hydra/assets_controller_helper.rb +0 -122
  254. data/lib/hydra/catalog.rb +0 -11
  255. data/lib/hydra/controller.rb +0 -26
  256. data/lib/hydra/controller/assets_controller_behavior.rb +0 -143
  257. data/lib/hydra/controller/catalog_controller_behavior.rb +0 -56
  258. data/lib/hydra/controller/controller_behavior.rb +0 -59
  259. data/lib/hydra/controller/file_assets_behavior.rb +0 -144
  260. data/lib/hydra/controller/repository_controller_behavior.rb +0 -119
  261. data/lib/hydra/controller/upload_behavior.rb +0 -139
  262. data/lib/hydra/file_assets.rb +0 -11
  263. data/lib/hydra/file_assets_helper.rb +0 -12
  264. data/lib/hydra/generic_content.rb +0 -130
  265. data/lib/hydra/generic_image.rb +0 -112
  266. data/lib/hydra/generic_user_attributes.rb +0 -41
  267. data/lib/hydra/global_configurable.rb +0 -46
  268. data/lib/hydra/model_methods.rb +0 -104
  269. data/lib/hydra/model_mixins.rb +0 -8
  270. data/lib/hydra/model_mixins/common_metadata.rb +0 -25
  271. data/lib/hydra/model_mixins/solr_document_extension.rb +0 -24
  272. data/lib/hydra/models/file_asset.rb +0 -78
  273. data/lib/hydra/repository_controller.rb +0 -28
  274. data/lib/hydra/rights_metadata.rb +0 -194
  275. data/lib/hydra/solr.rb +0 -9
  276. data/lib/hydra/submission_workflow.rb +0 -138
  277. data/lib/hydra/superuser_attributes.rb +0 -19
  278. data/lib/hydra/ui.rb +0 -6
  279. data/lib/hydra/ui/controller.rb +0 -46
  280. data/lib/hydra/workflow.rb +0 -5
  281. data/lib/hydra/workflow/controller.rb +0 -3
  282. data/lib/mediashelf/active_fedora_helper.rb +0 -73
  283. data/lib/prev_next_links.rb +0 -33
  284. data/lib/railties/active-fedora.rake +0 -1
  285. data/lib/railties/hydra-fixtures.rake +0 -50
  286. data/lib/railties/hydra_jetty.rake +0 -53
  287. data/lib/user_attributes_loader.rb +0 -26
  288. data/solr/conf/schema.xml +0 -116
  289. data/solr/conf/solrconfig.xml +0 -311
  290. data/solr/solr.xml +0 -35
  291. data/solr_conf/conf/schema.xml +0 -124
  292. data/solr_conf/conf/solrconfig.xml +0 -394
  293. data/solr_conf/solr.xml +0 -35
  294. data/tasks/active-fedora.rake +0 -1
  295. data/tasks/hydra-head-fixtures.rake +0 -58
  296. data/tasks/hydra-head.rake +0 -209
  297. data/tasks/hydra_jetty.rake +0 -53
  298. data/tasks/hyhead_rspec.rake +0 -57
  299. data/tasks/replicator.rake +0 -27
  300. data/tasks/solrizer-fedora.rake +0 -53
  301. data/tasks/solrizer.rake +0 -13
  302. data/test_support/etc/Gemfile +0 -46
  303. data/test_support/etc/common_metadata_asset.rb +0 -18
  304. data/test_support/features/absent_model_edit.feature +0 -27
  305. data/test_support/features/absent_model_search_result.feature +0 -18
  306. data/test_support/features/absent_model_show.feature +0 -27
  307. data/test_support/features/button_add_assets.feature +0 -22
  308. data/test_support/features/button_add_generic_content.feature +0 -11
  309. data/test_support/features/button_add_image.feature +0 -11
  310. data/test_support/features/button_add_mods_asset.feature +0 -11
  311. data/test_support/features/button_delete_asset.feature +0 -13
  312. data/test_support/features/contributor_add.feature +0 -44
  313. data/test_support/features/default_partials_edit.feature +0 -27
  314. data/test_support/features/default_partials_search_result.feature +0 -22
  315. data/test_support/features/default_partials_show.feature +0 -24
  316. data/test_support/features/file_upload.feature +0 -80
  317. data/test_support/features/generic_content_create.feature +0 -7
  318. data/test_support/features/generic_content_edit.feature +0 -21
  319. data/test_support/features/generic_content_search_result.feature +0 -22
  320. data/test_support/features/generic_content_show.feature +0 -20
  321. data/test_support/features/generic_image_create.feature +0 -7
  322. data/test_support/features/generic_image_edit.feature +0 -21
  323. data/test_support/features/generic_image_search_result.feature +0 -22
  324. data/test_support/features/generic_image_show.feature +0 -20
  325. data/test_support/features/home_page.feature +0 -9
  326. data/test_support/features/html_validity.feature +0 -43
  327. data/test_support/features/mods_asset_contributors_edit.feature +0 -88
  328. data/test_support/features/mods_asset_create.feature +0 -17
  329. data/test_support/features/mods_asset_edit.feature +0 -65
  330. data/test_support/features/mods_asset_edit_without_permission.feature +0 -15
  331. data/test_support/features/mods_asset_search_result.feature +0 -24
  332. data/test_support/features/mods_asset_show.feature +0 -90
  333. data/test_support/features/nonexistent_object_show.feature +0 -9
  334. data/test_support/features/permissions_add.feature +0 -16
  335. data/test_support/features/permissions_edit.feature +0 -65
  336. data/test_support/features/step_definitions/catalog_index_steps.rb +0 -14
  337. data/test_support/features/step_definitions/create_asset_steps.rb +0 -3
  338. data/test_support/features/step_definitions/edit_metadata_steps.rb +0 -72
  339. data/test_support/features/step_definitions/file_list_steps.rb +0 -36
  340. data/test_support/features/step_definitions/html_validity_steps.rb +0 -64
  341. data/test_support/features/step_definitions/hydra_metadata_steps.rb +0 -3
  342. data/test_support/features/step_definitions/hydra_steps.rb +0 -8
  343. data/test_support/features/step_definitions/inline_editable_edit_steps.rb +0 -77
  344. data/test_support/features/step_definitions/search_steps.rb +0 -88
  345. data/test_support/features/step_definitions/searching_steps.rb +0 -22
  346. data/test_support/features/step_definitions/show_document_steps.rb +0 -89
  347. data/test_support/features/step_definitions/user_steps.rb +0 -42
  348. data/test_support/features/step_definitions/web_steps.rb +0 -223
  349. data/test_support/features/support/env.rb +0 -57
  350. data/test_support/features/support/paths.rb +0 -85
  351. data/test_support/features/switch_users.feature +0 -14
  352. data/test_support/features/view_catalog_index.feature +0 -18
  353. data/test_support/fixtures/empty_file.txt +0 -0
  354. data/test_support/fixtures/hydra_test_default_partials.foxml.xml +0 -80
  355. data/test_support/fixtures/hydra_test_generic_content.foxml.xml +0 -138
  356. data/test_support/fixtures/hydra_test_generic_image.foxml.xml +0 -395
  357. data/test_support/fixtures/hydra_test_no_model.foxml.xml +0 -79
  358. data/test_support/fixtures/hydrangea_fixture_archivist_only_mods_article.foxml.xml +0 -1212
  359. data/test_support/fixtures/hydrangea_fixture_file_asset1.foxml.xml +0 -4946
  360. data/test_support/fixtures/hydrangea_fixture_mods_article1.foxml.xml +0 -234
  361. data/test_support/fixtures/hydrangea_fixture_mods_article2.foxml.xml +0 -177
  362. data/test_support/fixtures/hydrangea_fixture_mods_article3.foxml.xml +0 -170
  363. data/test_support/fixtures/hydrangea_fixture_mods_dataset1.foxml.xml +0 -187
  364. data/test_support/fixtures/hydrangea_fixture_uploaded_svg1.foxml.xml +0 -676
  365. data/test_support/fixtures/hydrus_admin_class1.foxml.xml +0 -176
  366. data/test_support/fixtures/image.jp2 +0 -0
  367. data/test_support/fixtures/libra-oa_1.foxml.xml +0 -2324
  368. data/test_support/fixtures/libra-oa_2.foxml.xml +0 -2422
  369. data/test_support/fixtures/libra-oa_7.foxml.xml +0 -1735
  370. data/test_support/fixtures/small_file.txt +0 -1
  371. data/test_support/spec/controllers/catalog_controller_spec.rb +0 -138
  372. data/test_support/spec/controllers/catalog_controller_viewing_context_spec.rb +0 -67
  373. data/test_support/spec/controllers/catalog_valid_html_spec.rb +0 -123
  374. data/test_support/spec/controllers/contributors_controller_spec.rb +0 -67
  375. data/test_support/spec/controllers/file_assets_controller_spec.rb +0 -194
  376. data/test_support/spec/controllers/hydra-assets_controller_spec.rb +0 -151
  377. data/test_support/spec/controllers/hydra_controller_spec.rb +0 -43
  378. data/test_support/spec/controllers/hydra_ui_controller_spec.rb +0 -21
  379. data/test_support/spec/controllers/permissions_controller_spec.rb +0 -39
  380. data/test_support/spec/controllers/user_sessions_controller_spec.rb +0 -35
  381. data/test_support/spec/factories.rb +0 -11
  382. data/test_support/spec/helpers/access_controls_enforcement_spec.rb +0 -119
  383. data/test_support/spec/helpers/access_controls_evaluation_spec.rb +0 -26
  384. data/test_support/spec/helpers/assets_controller_helper_spec.rb +0 -63
  385. data/test_support/spec/helpers/blacklight_helper_spec.rb +0 -60
  386. data/test_support/spec/helpers/file_assets_helper_spec.rb +0 -116
  387. data/test_support/spec/helpers/generic_content_objects_helper_spec.rb +0 -17
  388. data/test_support/spec/helpers/hydra-repository_controller_spec.rb +0 -54
  389. data/test_support/spec/helpers/hydra_assets_helper_spec.rb +0 -143
  390. data/test_support/spec/helpers/hydra_fedora_metadata_helper_spec.rb +0 -255
  391. data/test_support/spec/helpers/hydra_helper_spec.rb +0 -105
  392. data/test_support/spec/helpers/hydra_model_methods_spec.rb +0 -88
  393. data/test_support/spec/helpers/hydra_uploader_helper_spec.rb +0 -26
  394. data/test_support/spec/helpers/javascript_includes_helper_spec.rb +0 -51
  395. data/test_support/spec/integration/file_asset_spec.rb +0 -68
  396. data/test_support/spec/lib/catalog_spec.rb +0 -23
  397. data/test_support/spec/lib/global_configurable_spec.rb +0 -98
  398. data/test_support/spec/lib/hydra_submission_workflow_spec.rb +0 -141
  399. data/test_support/spec/lib/model_methods_spec.rb +0 -29
  400. data/test_support/spec/models/file_asset_spec.rb +0 -25
  401. data/test_support/spec/models/generic_content_spec.rb +0 -39
  402. data/test_support/spec/models/generic_image_spec.rb +0 -75
  403. data/test_support/spec/models/mods_asset_spec.rb +0 -20
  404. data/test_support/spec/models/solr_document_spec.rb +0 -17
  405. data/test_support/spec/models/user_spec.rb +0 -94
  406. data/test_support/spec/rcov.opts +0 -3
  407. data/test_support/spec/spec.opts +0 -4
  408. data/test_support/spec/spec_helper.rb +0 -63
  409. data/test_support/spec/support/matchers/helper_matcher.rb +0 -14
  410. data/test_support/spec/support/matchers/solr_matchers.rb +0 -60
  411. data/test_support/spec/unit/hydra-head-engine_spec.rb +0 -8
  412. data/test_support/spec/unit/hydra-head_spec.rb +0 -8
@@ -1,151 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
-
4
- # See cucumber tests (ie. /features/edit_document.feature) for more tests, including ones that test the edit method & view
5
- # You can run the cucumber tests with
6
- #
7
- # cucumber --tags @edit
8
- # or
9
- # rake cucumber
10
-
11
- describe Hydra::AssetsController do
12
- before :all do
13
- @behavior = Hydra::AssetsController.deprecation_behavior
14
- Hydra::AssetsController.deprecation_behavior = :silence
15
- end
16
-
17
- after :all do
18
- Hydra::AssetsController.deprecation_behavior = @behavior
19
- end
20
-
21
- before do
22
- @user = FactoryGirl.create(:user)
23
- sign_in @user
24
- controller.stubs(:enforce_access_controls).returns(true)
25
- end
26
-
27
- it "should use DocumentController" do
28
- controller.should be_an_instance_of(Hydra::AssetsController)
29
- end
30
-
31
- describe "new" do
32
- before do
33
- @user = FactoryGirl.create(:user)
34
- sign_in @user
35
- @asset = ModsAsset.new
36
- ModsAsset.stubs(:new).returns(@asset)
37
- end
38
- it "should create and redirect with a flash message" do
39
- get :new, :content_type=>'mods_asset'
40
- response.should redirect_to edit_catalog_path(@asset, :new_asset=>true)
41
- flash[:notice].should == "Created a Mods Asset with pid #{@asset.pid}. Now it's ready to be edited."
42
- end
43
- end
44
-
45
- describe "update" do
46
- it "should update the object with the attributes provided" do
47
- mock_document = ModsAsset.new
48
- mock_document.stubs(:pid => '_PID_')
49
- mock_document.stubs(:update_from_computing_id).returns(nil)
50
- controller.expects(:check_embargo_date_format).returns(nil)
51
-
52
- ModsAsset.expects(:find).with("_PID_").returns(mock_document)
53
-
54
- simple_request_params = {"asset"=>{
55
- "descMetadata"=>{
56
- "subject"=>{"0"=>"subject1", "1"=>"subject2", "2"=>"subject3"}
57
- }
58
- }
59
- }
60
-
61
- mock_document.expects(:update_datastream_attributes).with("descMetadata"=>{"subject"=>{"0"=>"subject1", "1"=>"subject2", "2"=>"subject3"}}).returns({"subject"=>{"2"=>"My Topic"}})
62
- mock_document.expects(:save)
63
- controller.stubs(:display_release_status_notice)
64
- put :update, {:id=>"_PID_"}.merge(simple_request_params)
65
-
66
- response.should redirect_to catalog_path(mock_document.pid, :viewing_context=>"browse")
67
-
68
- end
69
-
70
- it "should support updating OM::XML datastreams" do
71
- mock_document = ModsAsset.new
72
- mock_document.stubs(:pid => '_PID_')
73
- mock_document.stubs(:update_from_computing_id).returns(nil)
74
- ModsAsset.expects(:find).with("_PID_").returns(mock_document)
75
-
76
- update_method_args = [ "descMetadata" => { [{:person=>0}, :role] => {"0"=>"role1","1"=>"role2","2"=>"role3"} } ]
77
- mock_document.expects(:update_datastream_attributes).with( *update_method_args ).returns({"person_0_role"=>{"0"=>"role1","1"=>"role2","2"=>"role3"}})
78
- mock_document.expects(:save)
79
-
80
-
81
- nokogiri_request_params = {
82
- "id"=>"_PID_",
83
- "content_type"=>"mods_asset",
84
- "field_selectors"=>{
85
- "descMetadata"=>{
86
- "person_0_role"=>[{":person"=>"0"}, "role"]
87
- }
88
- },
89
- "asset"=>{
90
- "descMetadata"=>{
91
- "person_0_role"=>{"0"=>"role1", "1"=>"role2", "2"=>"role3"}
92
- }
93
- }
94
- }
95
- controller.stubs(:display_release_status_notice)
96
- put :update, nokogiri_request_params
97
- # put :update, :id=>"_PID_", "content_type"=>"mods_asset", "datastream"=>"descMetadata", "field_name"=>"person_0_last_name","parent_select"=>[{":person"=>"0"}, ":last_name"], "child_index"=>"0", "value"=>"Sample New Value"
98
- response.should redirect_to edit_catalog_path(mock_document.pid, :wf_step=>"publication")
99
- end
100
-
101
- it "should handle complete updates of many fields in many datastreams" do
102
- pending("This is failing intermittently. See https://jira.duraspace.org/browse/HYDRUS-166 for more info")
103
- request_params = {"id"=>"hydrangea:fixture_mods_article3", "content_type"=>"mods_asset", "action"=>"update", "_method"=>"put"}
104
- request_params["field_selectors"] = {"descMetadata"=>{"person_0_computing_id"=>[{"person"=>"0"}, "computing_id"], "journal_0_issue_start_page"=>[{"journal"=>"0"}, "issue", "start_page"], "person_1_description"=>[{"person"=>"1"}, "description"], "person_1_institution"=>[{"person"=>"1"}, "institution"], "journal_0_origin_info_publisher"=>[{"journal"=>"0"}, "origin_info", "publisher"], "abstract"=>["abstract"], "person_0_last_name"=>[{"person"=>"0"}, "last_name"], "person_0_description"=>[{"person"=>"0"}, "description"], "journal_0_issue_volume"=>[{"journal"=>"0"}, "issue", "volume"], "title_info_main_title"=>["title_info", "main_title"], "location_url"=>["location", "url"], "note"=>["note"], "person_1_last_name"=>[{"person"=>"1"}, "last_name"], "subject_topic"=>["subject", "topic"], "person_0_institution"=>[{"person"=>"0"}, "institution"], "person_1_first_name"=>[{"person"=>"1"}, "first_name"], "person_1"=>[{"person"=>"1"}], "journal_0_title_info_main_title"=>[{"journal"=>"0"}, "title_info", "main_title"], "journal_0_issue_level"=>[{"journal"=>"0"}, "issue", "level"], "journal_0_issue_end_page"=>[{"journal"=>"0"}, "issue", "end_page"], "peer_reviewed"=>["peer_reviewed"], "person_0_first_name"=>[{"person"=>"0"}, "first_name"], "person_1_computing_id"=>[{"person"=>"1"}, "computing_id"], "journal_0_issn"=>[{"journal"=>"0"}, "issn"], "journal_0_issue_publication_date"=>[{"journal"=>"0"}, "issue", "publication_date"]}, "rightsMetadata"=>{"embargo_embargo_release_date"=>["embargo", "embargo_release_date"]}, "properties"=>{"release_to"=>["release_to"]}}
105
- request_params["asset"] = {"descMetadata"=>{"person_0_computing_id"=>{"0"=>""}, "journal_0_issue_start_page"=>{"0"=>"195"}, "person_1_description"=>{"0"=>""}, "person_1_institution"=>{"0"=>"Baltimore"}, "journal_0_origin_info_publisher"=>{"0"=>"PUBLISHER"}, "abstract"=>{"0"=>"ABSTRACT"}, "person_0_last_name"=>{"0"=>"Smith"}, "person_0_description"=>{"0"=>""}, "journal_0_issue_volume"=>{"0"=>"2 "}, "title_info_main_title"=>{"0"=>"Test Article"}, "location_url"=>{"0"=>"http://example.com/foo"}, "note"=>{"0"=>""}, "person_1_last_name"=>{"0"=>"Lacks"}, "subject_topic"=>{"0"=>"TOPIC 1", "1"=>"TOPIC 2", "2"=>"CONTROLLED TERM"}, "person_0_institution"=>{"0"=>"FACULTY, UNIVERSITY"}, "person_1_first_name"=>{"0"=>"Henrietta"}, "journal_0_title_info_main_title"=>{"0"=>"The Journal of Mock Object"}, "journal_0_issue_level"=>{"0"=>""}, "journal_0_issue_end_page"=>{"0"=>"230"}, "person_0_first_name"=>{"0"=>"John"}, "person_1_computing_id"=>{"0"=>""}, "journal_0_issn"=>{"0"=>"1234-5678"}, "journal_0_issue_publication_date"=>{"0"=>"FEB. 2007"}}, "rightsMetadata"=>{"embargo_embargo_release_date"=>{"0"=>""}}, "properties"=>{"released"=>{"0"=>"true"}, "release_to"=>{"0"=>"public"}}}
106
- expected_response = {"descMetadata"=>{"journal_0_issue_start_page"=>{"0"=>"195"}, "person_0_computing_id"=>{"-1"=>""}, "abstract"=>{"0"=>"ABSTRACT"}, "journal_0_origin_info_publisher"=>{"0"=>"PUBLISHER"}, "person_1_description"=>{"-1"=>""}, "person_1_institution"=>{"0"=>"Baltimore"}, "journal_0_issue_volume"=>{"0"=>"2 "}, "person_0_description"=>{"-1"=>""}, "person_0_last_name"=>{"0"=>"Smith"}, "title_info_main_title"=>{"0"=>"Test Article"}, "note"=>{"-1"=>""}, "location_url"=>{"0"=>"http://example.com/foo"}, "person_1_last_name"=>{"0"=>"Lacks"}, "subject_topic"=>{"0"=>"TOPIC 1", "1"=>"TOPIC 2", "2"=>"CONTROLLED TERM"}, "journal_0_issue_end_page"=>{"0"=>"230"}, "journal_0_title_info_main_title"=>{"0"=>"The Journal of Mock Object"}, "journal_0_issue_level"=>{"-1"=>""}, "person_1_first_name"=>{"0"=>"Henrietta"}, "person_0_institution"=>{"0"=>"FACULTY, UNIVERSITY"}, "journal_0_issn"=>{"0"=>"1234-5678"}, "person_0_first_name"=>{"0"=>"John"}, "person_1_computing_id"=>{"-1"=>""}, "journal_0_issue_publication_date"=>{"0"=>"FEB. 2007"}}, "rightsMetadata"=>{"embargo_embargo_release_date"=>{"-1"=>""}}, "properties"=>{:released=>{"0"=>"true"}, [:release_to]=>{}, :release_to=>{"0"=>"public"}}}
107
-
108
- post :update, request_params
109
- expected_response.each_pair do |datastream_name, fields|
110
- fields.each_pair do |field_pointer, value|
111
- assigns[:response][datastream_name][field_pointer].should == value
112
- end
113
- end
114
- end
115
- end
116
-
117
- describe "destroy" do
118
- it "should delete the asset identified by pid" do
119
- mock_document = mock("asset", :delete)
120
- mock_document.expects(:destroy_child_assets).returns([])
121
- ActiveFedora::Base.expects(:find).with("__PID__", :cast=>true).returns(mock_document)
122
- # stub out authorize!
123
- controller.expects(:authorize!).with(:destroy, mock_document)
124
- delete(:destroy, :id => "__PID__")
125
- response.should redirect_to catalog_index_path
126
- end
127
- end
128
-
129
- # withdraw is a conditional destroy, with the conditions dependant on the project requirements.
130
- # Currently, the widthdraw method is an alias for destroy, should behave as such
131
- describe "withdraw" do
132
- it "should withdraw the asset identified by pid" do
133
- mock_document = mock("asset", :delete)
134
- mock_document.stubs(:pid => '_PID_')
135
- mock_document.expects(:destroy_child_assets).returns([])
136
- ActiveFedora::Base.expects(:find).with("_PID_", :cast => true).returns(mock_document)
137
- # stub out authorize!
138
- controller.expects(:authorize!).with(:destroy, mock_document)
139
- delete :withdraw, :id => "_PID_"
140
- response.should redirect_to catalog_index_path
141
- end
142
- it "should restrict withdrawing to authorized users" do
143
- mock_obj = mock("asset")
144
- ActiveFedora::Base.expects(:find).with("_PID_", :cast=>true).returns(mock_obj)
145
- lambda{get :withdraw, :id => "_PID_"}.should raise_error(CanCan::AccessDenied)
146
- end
147
- end
148
-
149
-
150
-
151
- end
@@ -1,43 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- class HydraControllerTest < ActionController::Base
4
- end
5
- describe HydraControllerTest do
6
-
7
- after :all do
8
- Object.send(:remove_const, :HydraControllerTest)
9
- end
10
-
11
- it "should add the necessary helpers to classes that include it" do
12
- HydraControllerTest.expects(:helper).with(:hydra)
13
- HydraControllerTest.expects(:helper).with(:hydra_assets)
14
- HydraControllerTest.stubs(:before_filter)
15
- HydraControllerTest.send(:include, Hydra::Controller::ControllerBehavior)
16
- end
17
-
18
- describe "load_fedora_document" do
19
- before :all do
20
- @behavior = Hydra::Controller::ControllerBehavior.deprecation_behavior
21
- Hydra::Controller::ControllerBehavior.deprecation_behavior = :silence
22
- end
23
-
24
- after :all do
25
- Hydra::Controller::ControllerBehavior.deprecation_behavior = @behavior
26
- end
27
-
28
- before do
29
- HydraControllerTest.send(:include, Hydra::Controller::ControllerBehavior)
30
- end
31
-
32
-
33
- it "should load @document_fedora and @file_assets" do
34
- controller.params[:id] = 'hydrangea:fixture_mods_article1'
35
- controller.load_fedora_document
36
-
37
- assigns[:document_fedora].class.should == ModsAsset
38
- assigns[:document_fedora].pid.should == 'hydrangea:fixture_mods_article1'
39
- assigns[:file_assets].size.should == 1
40
- assigns[:file_assets].first["id"].should == "hydrangea:fixture_uploaded_svg1"
41
- end
42
- end
43
- end
@@ -1,21 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
-
4
- describe Hydra::Controller do
5
- before(:all) do
6
- class HydraUiControllerTest
7
- end
8
- end
9
- after :all do
10
- Object.send(:remove_const, :HydraUiControllerTest)
11
- end
12
-
13
- it "should add the necessary helpers to classes that include it" do
14
- HydraUiControllerTest.expects(:helper).with(:hydra_fedora_metadata)
15
- HydraUiControllerTest.expects(:helper).with(:generic_content_objects)
16
- HydraUiControllerTest.expects(:helper).with(:hydra_uploader)
17
- HydraUiControllerTest.expects(:helper).with(:article_metadata)
18
- HydraUiControllerTest.stubs(:before_filter)
19
- HydraUiControllerTest.send(:include, Hydra::UI::Controller)
20
- end
21
- end
@@ -1,39 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe Hydra::PermissionsController do
4
- before :all do
5
- @behavior = Hydra::PermissionsController.deprecation_behavior
6
- Hydra::PermissionsController.deprecation_behavior = :silence
7
- end
8
-
9
- after :all do
10
- Hydra::PermissionsController.deprecation_behavior = @behavior
11
- end
12
- describe "create" do
13
- it "should create a new permissions entry" do
14
- # stub out permissions check
15
- controller.expects(:enforce_access_controls).returns(true)
16
- @asset = ModsAsset.create
17
- post :create, :asset_id=>@asset.pid, :permission => {"actor_id"=>"_person_id_","actor_type"=>"person","access_level"=>"read"}
18
- ModsAsset.find(@asset.pid).rightsMetadata.individuals.should == {"_person_id_" => "read"}
19
- end
20
- end
21
- describe "update" do
22
- it "should call Hydra::RightsMetadata properties setter" do
23
- # stub out permissions check
24
- controller.expects(:enforce_access_controls).returns(true)
25
- @asset = ModsAsset.new
26
- @asset.rightsMetadata.permissions({:group=>"students"})
27
- @asset.save
28
- post :update, :asset_id=>@asset.pid, :permission => {"group"=>{"_group_id_"=>"discover"}}
29
- ModsAsset.find(@asset.pid).rightsMetadata.groups.should == {"_group_id_" => "discover"}
30
- end
31
- it "should restrict permissions setting to authenticated users" do
32
- ActiveFedora::Base.expects(:find).never
33
- post :update, :id => "hydrangea:fixture_mods_dataset1"
34
- flash[:alert].should == "You do not have sufficient privileges to edit this document. You have been redirected to the read-only view."
35
- flash[:notice].should be_nil
36
- response.should be_redirect
37
- end
38
- end
39
- end
@@ -1,35 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe UserSessionsController do
4
-
5
- before(:each) do
6
- @user = mock("User")
7
- @user.stubs(:can_be_superuser?).returns true
8
- @user2 = mock("User")
9
- @user2.stubs(:can_be_superuser?).returns false
10
- end
11
-
12
- it "should allow for toggling on and off session[:superuser_mode]" do
13
- controller.stubs(:current_user).returns(@user)
14
- request.env["HTTP_REFERER"] = ""
15
- get :superuser
16
- session[:superuser_mode].should be_true
17
- get :superuser
18
- session[:superuser_mode].should be_nil
19
- end
20
-
21
- it "should not allow superuser_mode to be set in session if current_user is not a superuser" do
22
- controller.stubs(:current_user).returns(@user2)
23
- request.env["HTTP_REFERER"] = ""
24
- get :superuser
25
- session[:superuser_mode].should be_nil
26
- end
27
-
28
- it "should redirect to the referer" do
29
- controller.stubs(:current_user).returns(@user)
30
- request.env["HTTP_REFERER"] = hydra_file_assets_path
31
- get :superuser
32
- response.should redirect_to(hydra_file_assets_path)
33
- end
34
-
35
- end
@@ -1,11 +0,0 @@
1
- FactoryGirl.define do
2
- sequence :email do |n|
3
- "person#{n}@example.com"
4
- end
5
-
6
- factory :user do
7
- email
8
- password 'password'
9
- end
10
-
11
- end
@@ -1,119 +0,0 @@
1
- # Need way to find way to stub current_user and RoleMapper in order to run these tests
2
- require File.expand_path( File.join( File.dirname(__FILE__),'..','spec_helper') )
3
-
4
- describe Hydra::AccessControlsEnforcement do
5
- describe "enforce_access_controls" do
6
- describe "when the method exists" do
7
- it "should call the method" do
8
- params[:action] = :index
9
- helper.enforce_access_controls.should be_true
10
- end
11
- end
12
- describe "when the method doesn't exist" do
13
- it "should not call the method, but should return true" do
14
- params[:action] = :facet
15
- helper.enforce_access_controls.should be_true
16
- end
17
- end
18
- end
19
- describe "enforce_show_permissions" do
20
- it "should allow a user w/ edit permissions to view an embargoed object" do
21
- user = User.new :email=>'testuser@example.com'
22
- user.stubs(:is_being_superuser?).returns false
23
- RoleMapper.stubs(:roles).with(user.email).returns(["archivist"])
24
- helper.stubs(:current_user).returns(user)
25
- helper.stubs(:load_permissions_from_solr).returns("")
26
- helper.stubs(:can?).with(:edit, nil).returns(true)
27
- helper.stubs(:can?).with(:read, nil).returns(true)
28
- @permissions_solr_document = SolrDocument.new({"edit_access_person_t"=>["testuser@example.com"], "embargo_release_date_dt"=>(Date.parse(Time.now.to_s)+2).to_s})
29
- helper.send(:enforce_show_permissions, {})
30
- flash[:alert].should be_nil
31
- end
32
- it "should prevent a user w/o edit permissions from viewing an embargoed object" do
33
- user = User.new :email=>'testuser@example.com'
34
- user.stubs(:is_being_superuser?).returns false
35
- RoleMapper.stubs(:roles).with(user.email).returns([])
36
- helper.stubs(:current_user).returns(user)
37
- helper.stubs(:load_permissions_from_solr).returns("")
38
- helper.stubs(:can?).with(:edit, nil).returns(false)
39
- helper.stubs(:can?).with(:read, nil).returns(true)
40
- helper.stubs(:redirect_to)
41
- @permissions_solr_document = SolrDocument.new({"edit_access_person_t"=>["testuser@example.com"], "embargo_release_date_dt"=>(Date.parse(Time.now.to_s)+2).to_s})
42
- lambda {helper.send(:enforce_show_permissions, {})}.should raise_error Hydra::AccessDenied, "This item is under embargo. You do not have sufficient access privileges to read this document."
43
- end
44
- end
45
- describe "apply_gated_discovery" do
46
- before(:each) do
47
- @stub_user = User.new :email=>'archivist1@example.com'
48
- @stub_user.stubs(:is_being_superuser?).returns false
49
- RoleMapper.stubs(:roles).with(@stub_user.email).returns(["archivist","researcher"])
50
- helper.stubs(:current_user).returns(@stub_user)
51
- @solr_parameters = {}
52
- @user_parameters = {}
53
- end
54
- it "should set query fields for the user id checking against the discover, access, read fields" do
55
- helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
56
- ["discover","edit","read"].each do |type|
57
- @solr_parameters[:fq].first.should match(/#{type}_access_person_t\:#{@stub_user.email}/)
58
- end
59
- end
60
- it "should set query fields for all roles the user is a member of checking against the discover, access, read fields" do
61
- helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
62
- ["discover","edit","read"].each do |type|
63
- @solr_parameters[:fq].first.should match(/#{type}_access_group_t\:archivist/)
64
- @solr_parameters[:fq].first.should match(/#{type}_access_group_t\:researcher/)
65
- end
66
- end
67
- # it "should filter out any content whose embargo date is in the future" do
68
- # helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
69
- # @solr_parameters[:fq].should include("-embargo_release_date_dt:[NOW TO *]")
70
- # end
71
- it "should allow content owners access to their embargoed content" do
72
- pending
73
- helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
74
- @solr_parameters[:fq].should include("(NOT embargo_release_date_dt:[NOW TO *]) OR depositor_t:#{@stub_user.email}")
75
-
76
- # @solr_parameters[:fq].should include("embargo_release_date_dt:[NOW TO *] AND depositor_t:#{current_user.email}) AND NOT (NOT depositor_t:#{current_user.email} AND embargo_release_date_dt:[NOW TO *]")
77
- end
78
-
79
- describe "for superusers" do
80
- it "should return superuser access level" do
81
- stub_user = User.new(:email=>'suzie@example.com')
82
- stub_user.stubs(:is_being_superuser?).returns true
83
- RoleMapper.stubs(:roles).with(stub_user.email).returns(["archivist","researcher"])
84
- helper.stubs(:current_user).returns(stub_user)
85
- helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
86
- ["discover","edit","read"].each do |type|
87
- @solr_parameters[:fq].first.should match(/#{type}_access_person_t\:\[\* TO \*\]/)
88
- end
89
- end
90
- it "should not return superuser access to non-superusers" do
91
- stub_user = User.new(:email=>'suzie@example.com')
92
- stub_user.stubs(:is_being_superuser?).returns false
93
- RoleMapper.stubs(:roles).with(stub_user.email).returns(["archivist","researcher"])
94
- helper.stubs(:current_user).returns(stub_user)
95
- helper.send(:apply_gated_discovery, @solr_parameters, @user_parameters)
96
- ["discover","edit","read"].each do |type|
97
- @solr_parameters[:fq].should_not include("#{type}_access_person_t\:\[\* TO \*\]")
98
- end
99
- end
100
- end
101
-
102
- end
103
-
104
- describe "exclude_unwanted_models" do
105
- before(:each) do
106
- stub_user = User.new :email=>'archivist1@example.com'
107
- stub_user.stubs(:is_being_superuser?).returns false
108
- helper.stubs(:current_user).returns(stub_user)
109
- @solr_parameters = {}
110
- @user_parameters = {}
111
- end
112
- it "should set solr query parameters to filter out FileAssets" do
113
- helper.send(:exclude_unwanted_models, @solr_parameters, @user_parameters)
114
- @solr_parameters[:fq].should include("-has_model_s:\"info:fedora/afmodel:FileAsset\"")
115
- end
116
- end
117
- end
118
-
119
-
@@ -1,26 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe Hydra::AccessControlsEvaluation do
4
-
5
- describe "editor?" do
6
- it "should return true if current_user.is_being_superuser? is true" do
7
- mock_user = FactoryGirl.build(:user, :email => "BigWig@example.com")
8
- mock_user.stubs(:is_being_superuser?).returns true
9
- controller.stubs(:current_user).returns mock_user
10
- helper.editor?.should be_true
11
- end
12
- it "should return false if the session[:user] is not logged in" do
13
- controller.stubs(:current_user).returns(nil)
14
- helper.editor?.should be_false
15
- end
16
- it "should return false if the session[:user] does not have an editor role" do
17
- mock_user = mock("User")
18
- mock_user.stubs(:email).returns "nobody_special@example.com"
19
- mock_user.stubs(:is_being_superuser?).returns(false)
20
- mock_user.stubs(:new_record?).returns(false)
21
- controller.stubs(:current_user).returns(mock_user)
22
- helper.editor?.should be_false
23
- end
24
- end
25
-
26
- end