hyrax 2.6.0 → 2.7.0

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 (708) hide show
  1. checksums.yaml +4 -4
  2. data/app/actors/hyrax/actors/file_set_actor.rb +2 -2
  3. data/app/assets/javascripts/hyrax/collections/editor.es6 +12 -2
  4. data/app/indexers/hyrax/collection_indexer.rb +1 -3
  5. data/app/models/concerns/hyrax/collection_behavior.rb +8 -34
  6. data/app/presenters/hyrax/collection_presenter.rb +12 -1
  7. data/hyrax.gemspec +1 -2
  8. data/lib/hyrax/version.rb +1 -1
  9. metadata +5 -1402
  10. data/spec/.gitignore +0 -1
  11. data/spec/abilities/ability_spec.rb +0 -183
  12. data/spec/abilities/admin_ability_spec.rb +0 -18
  13. data/spec/abilities/admin_set_ability_spec.rb +0 -177
  14. data/spec/abilities/collection_ability_spec.rb +0 -194
  15. data/spec/abilities/collection_type_ability_spec.rb +0 -72
  16. data/spec/abilities/embargo_and_lease_ability_spec.rb +0 -22
  17. data/spec/abilities/file_set_abilities_spec.rb +0 -70
  18. data/spec/abilities/generic_work_abilities_spec.rb +0 -63
  19. data/spec/abilities/operation_ability_spec.rb +0 -12
  20. data/spec/abilities/permission_template_ability_spec.rb +0 -145
  21. data/spec/abilities/proxies_and_transfer_abilities_spec.rb +0 -109
  22. data/spec/abilities/solr_document_ability_spec.rb +0 -27
  23. data/spec/actors/hyrax/actors/apply_order_actor_spec.rb +0 -92
  24. data/spec/actors/hyrax/actors/apply_permission_template_actor_spec.rb +0 -135
  25. data/spec/actors/hyrax/actors/attach_members_actor_spec.rb +0 -68
  26. data/spec/actors/hyrax/actors/cleanup_file_sets_actor_spec.rb +0 -24
  27. data/spec/actors/hyrax/actors/cleanup_trophies_actor_spec.rb +0 -25
  28. data/spec/actors/hyrax/actors/collections_membership_actor_spec.rb +0 -364
  29. data/spec/actors/hyrax/actors/create_with_files_actor_spec.rb +0 -60
  30. data/spec/actors/hyrax/actors/create_with_files_ordered_members_actor_spec.rb +0 -41
  31. data/spec/actors/hyrax/actors/create_with_remote_files_actor_spec.rb +0 -136
  32. data/spec/actors/hyrax/actors/create_with_remote_files_ordered_members_actor_spec.rb +0 -49
  33. data/spec/actors/hyrax/actors/default_admin_set_actor_spec.rb +0 -81
  34. data/spec/actors/hyrax/actors/embargo_actor_spec.rb +0 -37
  35. data/spec/actors/hyrax/actors/featured_work_actor_spec.rb +0 -38
  36. data/spec/actors/hyrax/actors/file_actor_spec.rb +0 -125
  37. data/spec/actors/hyrax/actors/file_set_actor_spec.rb +0 -347
  38. data/spec/actors/hyrax/actors/file_set_ordered_members_actor_spec.rb +0 -35
  39. data/spec/actors/hyrax/actors/generic_work_actor_spec.rb +0 -316
  40. data/spec/actors/hyrax/actors/initialize_workflow_actor_spec.rb +0 -35
  41. data/spec/actors/hyrax/actors/interpret_visibility_actor_spec.rb +0 -445
  42. data/spec/actors/hyrax/actors/lease_actor_spec.rb +0 -54
  43. data/spec/actors/hyrax/actors/model_actor_spec.rb +0 -24
  44. data/spec/actors/hyrax/actors/optimistic_lock_validator_spec.rb +0 -55
  45. data/spec/actors/hyrax/actors/ordered_members_actor_spec.rb +0 -59
  46. data/spec/actors/hyrax/actors/transactional_request_spec.rb +0 -46
  47. data/spec/actors/hyrax/actors/transfer_request_actor_spec.rb +0 -43
  48. data/spec/authorities/qa/authorities/collections_spec.rb +0 -68
  49. data/spec/authorities/qa/authorities/find_works_spec.rb +0 -52
  50. data/spec/channels/hyrax/application_cable/channel_spec.rb +0 -14
  51. data/spec/channels/hyrax/application_cable/connection_spec.rb +0 -37
  52. data/spec/channels/hyrax/notifications_channel_spec.rb +0 -45
  53. data/spec/config/hyrax_events_spec.rb +0 -44
  54. data/spec/controllers/catalog_controller_spec.rb +0 -135
  55. data/spec/controllers/hyrax/accepts_batches_controller_spec.rb +0 -67
  56. data/spec/controllers/hyrax/admin/admin_sets_controller_spec.rb +0 -284
  57. data/spec/controllers/hyrax/admin/appearances_controller_spec.rb +0 -66
  58. data/spec/controllers/hyrax/admin/collection_type_participants_controller_spec.rb +0 -152
  59. data/spec/controllers/hyrax/admin/collection_types_controller_spec.rb +0 -322
  60. data/spec/controllers/hyrax/admin/features_controller_spec.rb +0 -31
  61. data/spec/controllers/hyrax/admin/permission_template_accesses_controller_spec.rb +0 -101
  62. data/spec/controllers/hyrax/admin/permission_templates_controller_spec.rb +0 -71
  63. data/spec/controllers/hyrax/admin/stats_controller_spec.rb +0 -61
  64. data/spec/controllers/hyrax/admin/strategies_controller_spec.rb +0 -39
  65. data/spec/controllers/hyrax/admin/users_controller_spec.rb +0 -17
  66. data/spec/controllers/hyrax/admin/workflow_roles_controller_spec.rb +0 -76
  67. data/spec/controllers/hyrax/admin/workflows_controller_spec.rb +0 -18
  68. data/spec/controllers/hyrax/api/items_controller_spec.rb +0 -404
  69. data/spec/controllers/hyrax/api/zotero_controller_spec.rb +0 -162
  70. data/spec/controllers/hyrax/batch_edits_controller_spec.rb +0 -232
  71. data/spec/controllers/hyrax/batch_uploads_controller_spec.rb +0 -131
  72. data/spec/controllers/hyrax/citations_controller_spec.rb +0 -61
  73. data/spec/controllers/hyrax/collections_controller_spec.rb +0 -126
  74. data/spec/controllers/hyrax/contact_form_controller_spec.rb +0 -96
  75. data/spec/controllers/hyrax/content_blocks_controller_spec.rb +0 -71
  76. data/spec/controllers/hyrax/dashboard/collection_members_controller_spec.rb +0 -411
  77. data/spec/controllers/hyrax/dashboard/collections_controller_spec.rb +0 -518
  78. data/spec/controllers/hyrax/dashboard/nest_collections_controller_spec.rb +0 -360
  79. data/spec/controllers/hyrax/dashboard/profiles_controller_spec.rb +0 -155
  80. data/spec/controllers/hyrax/dashboard/works_controller_spec.rb +0 -13
  81. data/spec/controllers/hyrax/dashboard_controller_spec.rb +0 -42
  82. data/spec/controllers/hyrax/depositors_controller_spec.rb +0 -105
  83. data/spec/controllers/hyrax/downloads_controller_spec.rb +0 -159
  84. data/spec/controllers/hyrax/embargoes_controller_spec.rb +0 -147
  85. data/spec/controllers/hyrax/featured_work_lists_controller_spec.rb +0 -20
  86. data/spec/controllers/hyrax/featured_works_controller_spec.rb +0 -56
  87. data/spec/controllers/hyrax/file_sets_controller_spec.rb +0 -322
  88. data/spec/controllers/hyrax/fixity_checks_controller_spec.rb +0 -44
  89. data/spec/controllers/hyrax/generic_works_controller_json_spec.rb +0 -92
  90. data/spec/controllers/hyrax/generic_works_controller_spec.rb +0 -622
  91. data/spec/controllers/hyrax/homepage_controller_spec.rb +0 -138
  92. data/spec/controllers/hyrax/leases_controller_spec.rb +0 -117
  93. data/spec/controllers/hyrax/my/collections_controller_spec.rb +0 -36
  94. data/spec/controllers/hyrax/my/highlights_controller_spec.rb +0 -53
  95. data/spec/controllers/hyrax/my/shares_controller_spec.rb +0 -47
  96. data/spec/controllers/hyrax/my/works_controller_spec.rb +0 -54
  97. data/spec/controllers/hyrax/notifications_controller_spec.rb +0 -33
  98. data/spec/controllers/hyrax/operations_controller_spec.rb +0 -27
  99. data/spec/controllers/hyrax/pages_controller_spec.rb +0 -111
  100. data/spec/controllers/hyrax/permissions_controller_spec.rb +0 -56
  101. data/spec/controllers/hyrax/resource_sync_controller_spec.rb +0 -71
  102. data/spec/controllers/hyrax/single_use_links_controller_spec.rb +0 -100
  103. data/spec/controllers/hyrax/single_use_links_viewer_controller_spec.rb +0 -64
  104. data/spec/controllers/hyrax/static_controller_spec.rb +0 -28
  105. data/spec/controllers/hyrax/stats_controller_spec.rb +0 -73
  106. data/spec/controllers/hyrax/transfers_controller_spec.rb +0 -200
  107. data/spec/controllers/hyrax/trophies_controller_spec.rb +0 -40
  108. data/spec/controllers/hyrax/uploads_controller_spec.rb +0 -60
  109. data/spec/controllers/hyrax/users_controller_spec.rb +0 -151
  110. data/spec/controllers/hyrax/workflow_actions_controller_spec.rb +0 -54
  111. data/spec/conversions/power_converters/polymorphic_type_spec.rb +0 -22
  112. data/spec/conversions/power_converters/sipity_action_name_spec.rb +0 -32
  113. data/spec/conversions/power_converters/sipity_action_spec.rb +0 -43
  114. data/spec/conversions/power_converters/sipity_agent_spec.rb +0 -20
  115. data/spec/conversions/power_converters/sipity_entity_spec.rb +0 -53
  116. data/spec/conversions/power_converters/sipity_role_spec.rb +0 -31
  117. data/spec/conversions/power_converters/sipity_workflow_id_spec.rb +0 -28
  118. data/spec/conversions/power_converters/sipity_workflow_state_spec.rb +0 -20
  119. data/spec/factories/admin_sets.rb +0 -25
  120. data/spec/factories/admin_sets_lw.rb +0 -215
  121. data/spec/factories/api_items.rb +0 -91
  122. data/spec/factories/collection_branding_infos.rb +0 -11
  123. data/spec/factories/collection_type_participants.rb +0 -8
  124. data/spec/factories/collection_types.rb +0 -113
  125. data/spec/factories/collections.rb +0 -325
  126. data/spec/factories/collections_factory.rb +0 -134
  127. data/spec/factories/content_blocks.rb +0 -4
  128. data/spec/factories/featured_works.rb +0 -4
  129. data/spec/factories/file_sets.rb +0 -33
  130. data/spec/factories/generic_works.rb +0 -196
  131. data/spec/factories/object_id.rb +0 -6
  132. data/spec/factories/operations.rb +0 -21
  133. data/spec/factories/permission_template_accesses.rb +0 -16
  134. data/spec/factories/permission_templates.rb +0 -79
  135. data/spec/factories/proxy_deposit_requests.rb +0 -6
  136. data/spec/factories/single_use_links.rb +0 -13
  137. data/spec/factories/sipity_entities.rb +0 -7
  138. data/spec/factories/uploaded_files.rb +0 -5
  139. data/spec/factories/users.rb +0 -59
  140. data/spec/factories/workflow_actions.rb +0 -6
  141. data/spec/factories/workflow_states.rb +0 -6
  142. data/spec/factories/workflows.rb +0 -6
  143. data/spec/factory_tests/adminsets_factory_spec.rb +0 -132
  144. data/spec/factory_tests/collections_factory_spec.rb +0 -212
  145. data/spec/features/actor_stack_spec.rb +0 -77
  146. data/spec/features/admin_spec.rb +0 -30
  147. data/spec/features/batch_create_spec.rb +0 -75
  148. data/spec/features/batch_edit_spec.rb +0 -119
  149. data/spec/features/browse_catalog_spec.rb +0 -59
  150. data/spec/features/browse_dashboard_works_spec.rb +0 -56
  151. data/spec/features/catalog_search_spec.rb +0 -72
  152. data/spec/features/collection_multi_membership_spec.rb +0 -205
  153. data/spec/features/collection_spec.rb +0 -122
  154. data/spec/features/collection_type_spec.rb +0 -393
  155. data/spec/features/contact_form_spec.rb +0 -16
  156. data/spec/features/create_child_work_spec.rb +0 -82
  157. data/spec/features/create_work_admin_spec.rb +0 -44
  158. data/spec/features/create_work_spec.rb +0 -124
  159. data/spec/features/dashboard/all_works.rb +0 -23
  160. data/spec/features/dashboard/collection_spec.rb +0 -918
  161. data/spec/features/dashboard/display_admin_dashboard_spec.rb +0 -29
  162. data/spec/features/dashboard/display_dashboard_spec.rb +0 -18
  163. data/spec/features/delete_work_spec.rb +0 -23
  164. data/spec/features/edit_content_block_admin_spec.rb +0 -62
  165. data/spec/features/edit_file_spec.rb +0 -23
  166. data/spec/features/edit_work_spec.rb +0 -61
  167. data/spec/features/embargo_spec.rb +0 -90
  168. data/spec/features/homepage_spec.rb +0 -43
  169. data/spec/features/lease_spec.rb +0 -35
  170. data/spec/features/notifications_spec.rb +0 -20
  171. data/spec/features/ownership_transfer_spec.rb +0 -101
  172. data/spec/features/proxy_spec.rb +0 -25
  173. data/spec/features/search_spec.rb +0 -62
  174. data/spec/features/static_pages_spec.rb +0 -7
  175. data/spec/features/users_spec.rb +0 -48
  176. data/spec/features/work_generator_spec.rb +0 -29
  177. data/spec/features/work_show_spec.rb +0 -148
  178. data/spec/features/workflow_roles_spec.rb +0 -46
  179. data/spec/features/workflow_state_changes_spec.rb +0 -59
  180. data/spec/fixtures/1.5mb-avatar.jpg +0 -0
  181. data/spec/fixtures/4-20.png +0 -0
  182. data/spec/fixtures/Example.ogg +0 -0
  183. data/spec/fixtures/authorities/licenses.yml +0 -13
  184. data/spec/fixtures/charter.docx +0 -0
  185. data/spec/fixtures/config/schema_org.yml +0 -7
  186. data/spec/fixtures/config/schema_org_second.yml +0 -7
  187. data/spec/fixtures/countdown.avi +0 -0
  188. data/spec/fixtures/docx_fits.xml +0 -21
  189. data/spec/fixtures/dublin_core_rdf_descMetadata.nt +0 -13
  190. data/spec/fixtures/hyrax/.gitignore +0 -1
  191. data/spec/fixtures/hyrax/hyrax_test4.pdf +0 -0
  192. data/spec/fixtures/hyrax/hyrax_test5.mp3 +0 -0
  193. data/spec/fixtures/hyrax_generic_stub.txt +0 -1
  194. data/spec/fixtures/icons.zip +0 -0
  195. data/spec/fixtures/image.jp2 +0 -0
  196. data/spec/fixtures/image.jpg +0 -0
  197. data/spec/fixtures/image.png +0 -0
  198. data/spec/fixtures/jp2_fits.xml +0 -36
  199. data/spec/fixtures/jpg_fits.xml +0 -43
  200. data/spec/fixtures/mp3_fits.xml +0 -32
  201. data/spec/fixtures/pdf_fits.xml +0 -43
  202. data/spec/fixtures/piano_note.wav +0 -0
  203. data/spec/fixtures/png_fits.xml +0 -29
  204. data/spec/fixtures/sample_mpeg4.mp4 +0 -0
  205. data/spec/fixtures/small_file.txt +0 -1
  206. data/spec/fixtures/spoken-text.m4a +0 -0
  207. data/spec/fixtures/txt_fits.xml +0 -29
  208. data/spec/fixtures/world.png +0 -0
  209. data/spec/fixtures/xls_fits.xml +0 -18
  210. data/spec/fixtures/xml_fits.xml +0 -37
  211. data/spec/forms/hyrax/forms/admin/appearance_spec.rb +0 -46
  212. data/spec/forms/hyrax/forms/admin/collection_type_form_spec.rb +0 -108
  213. data/spec/forms/hyrax/forms/admin/collection_type_participant_form_spec.rb +0 -10
  214. data/spec/forms/hyrax/forms/admin_set_form_spec.rb +0 -88
  215. data/spec/forms/hyrax/forms/batch_edit_form_spec.rb +0 -111
  216. data/spec/forms/hyrax/forms/batch_upload_form_spec.rb +0 -75
  217. data/spec/forms/hyrax/forms/collection_form_spec.rb +0 -196
  218. data/spec/forms/hyrax/forms/dashboard/nest_collection_form_spec.rb +0 -159
  219. data/spec/forms/hyrax/forms/file_manager_form_spec.rb +0 -19
  220. data/spec/forms/hyrax/forms/file_set_edit_form_spec.rb +0 -53
  221. data/spec/forms/hyrax/forms/permission_template_form_spec.rb +0 -599
  222. data/spec/forms/hyrax/forms/work_form_spec.rb +0 -346
  223. data/spec/forms/hyrax/forms/workflow_action_form_spec.rb +0 -129
  224. data/spec/forms/hyrax/forms/workflow_responsibility_form_spec.rb +0 -41
  225. data/spec/forms/hyrax/generic_work_form_spec.rb +0 -127
  226. data/spec/helpers/blacklight_helper_spec.rb +0 -137
  227. data/spec/helpers/hyrax/ability_helper_spec.rb +0 -61
  228. data/spec/helpers/hyrax/batch_edits_helper_spec.rb +0 -59
  229. data/spec/helpers/hyrax/charts_helper_spec.rb +0 -63
  230. data/spec/helpers/hyrax/citations_behaviors/formatters/chicago_formatter_spec.rb +0 -10
  231. data/spec/helpers/hyrax/collections_helper_spec.rb +0 -117
  232. data/spec/helpers/hyrax/content_block_helper_spec.rb +0 -44
  233. data/spec/helpers/hyrax/dashboard_helper_behavior_spec.rb +0 -74
  234. data/spec/helpers/hyrax/file_set_helper_spec.rb +0 -65
  235. data/spec/helpers/hyrax/iiif_helper_spec.rb +0 -44
  236. data/spec/helpers/hyrax/trophy_helper_spec.rb +0 -37
  237. data/spec/helpers/hyrax_helper_spec.rb +0 -399
  238. data/spec/hyrax/transactions/create_work_spec.rb +0 -155
  239. data/spec/hyrax/transactions/steps/apply_permission_template_spec.rb +0 -72
  240. data/spec/hyrax/transactions/steps/ensure_admin_set_spec.rb +0 -25
  241. data/spec/hyrax/transactions/steps/ensure_permission_template_spec.rb +0 -33
  242. data/spec/hyrax/transactions/steps/save_work_spec.rb +0 -32
  243. data/spec/hyrax/transactions/steps/set_default_admin_set_spec.rb +0 -38
  244. data/spec/hyrax/transactions/steps/set_modified_date_spec.rb +0 -22
  245. data/spec/hyrax/transactions/steps/set_uploaded_date_spec.rb +0 -32
  246. data/spec/indexers/hyrax/collection_indexer_spec.rb +0 -43
  247. data/spec/indexers/hyrax/file_set_indexer_spec.rb +0 -126
  248. data/spec/indexers/hyrax/generic_work_indexer_spec.rb +0 -123
  249. data/spec/indexers/hyrax/repository_reindexer_spec.rb +0 -8
  250. data/spec/inputs/controlled_vocabulary_input_spec.rb +0 -57
  251. data/spec/inputs/multifile_input_spec.rb +0 -31
  252. data/spec/javascripts/authority_select_spec.js +0 -22
  253. data/spec/javascripts/autocomplete_spec.js.coffee +0 -199
  254. data/spec/javascripts/batch_select_spec.js +0 -15
  255. data/spec/javascripts/charts_spec.coffee +0 -10
  256. data/spec/javascripts/checklist_item_spec.js +0 -23
  257. data/spec/javascripts/deposit_agreement_spec.js +0 -70
  258. data/spec/javascripts/file_manager_member_spec.coffee +0 -88
  259. data/spec/javascripts/file_manager_sorting_spec.coffee +0 -23
  260. data/spec/javascripts/fixtures/chart_example.html +0 -1
  261. data/spec/javascripts/fixtures/dashboard_batch_forms.html +0 -11
  262. data/spec/javascripts/fixtures/file_manager_member.html +0 -40
  263. data/spec/javascripts/fixtures/save_button.html +0 -3
  264. data/spec/javascripts/fixtures/sortable.html +0 -182
  265. data/spec/javascripts/fixtures/sul_table.html +0 -29
  266. data/spec/javascripts/grant_spec.js +0 -43
  267. data/spec/javascripts/helpers/jasmine-ajax.js +0 -751
  268. data/spec/javascripts/helpers/jasmine-jquery.js +0 -838
  269. data/spec/javascripts/helpers/test_fixtures.js.coffee +0 -18
  270. data/spec/javascripts/helpers/test_responses.js +0 -12
  271. data/spec/javascripts/jasmine_spec.rb +0 -25
  272. data/spec/javascripts/relationships_control_spec.js.coffee +0 -27
  273. data/spec/javascripts/required_field_spec.js +0 -41
  274. data/spec/javascripts/save_manager_spec.coffee +0 -87
  275. data/spec/javascripts/save_work_spec.js +0 -262
  276. data/spec/javascripts/settings_spec.js +0 -74
  277. data/spec/javascripts/single_use_links_spec.coffee +0 -51
  278. data/spec/javascripts/support/jasmine.yml +0 -125
  279. data/spec/javascripts/support/jasmine_helper.rb +0 -14
  280. data/spec/javascripts/tabs_spec.js.coffee +0 -38
  281. data/spec/javascripts/uploaded_files_spec.js +0 -23
  282. data/spec/javascripts/visibility_component_spec.js +0 -531
  283. data/spec/jobs/attach_files_to_work_job_spec.rb +0 -80
  284. data/spec/jobs/attach_files_to_work_with_ordered_members_job_spec.rb +0 -13
  285. data/spec/jobs/batch_create_job_spec.rb +0 -79
  286. data/spec/jobs/characterize_job_spec.rb +0 -66
  287. data/spec/jobs/content_delete_event_job_spec.rb +0 -36
  288. data/spec/jobs/content_deposit_event_job_spec.rb +0 -25
  289. data/spec/jobs/content_depositor_change_event_job_spec.rb +0 -28
  290. data/spec/jobs/content_new_version_event_job_spec.rb +0 -21
  291. data/spec/jobs/content_restored_version_event_job_spec.rb +0 -28
  292. data/spec/jobs/content_update_event_job_spec.rb +0 -25
  293. data/spec/jobs/create_derivatives_job_spec.rb +0 -93
  294. data/spec/jobs/create_work_job_spec.rb +0 -60
  295. data/spec/jobs/file_set_attached_event_job_spec.rb +0 -34
  296. data/spec/jobs/fixity_check_job_spec.rb +0 -50
  297. data/spec/jobs/hyrax/grant_edit_job_spec.rb +0 -11
  298. data/spec/jobs/hyrax/grant_edit_to_members_job_spec.rb +0 -16
  299. data/spec/jobs/hyrax/grant_read_job_spec.rb +0 -11
  300. data/spec/jobs/hyrax/grant_read_to_members_job_spec.rb +0 -16
  301. data/spec/jobs/hyrax/revoke_edit_from_members_job_spec.rb +0 -16
  302. data/spec/jobs/hyrax/revoke_edit_job_spec.rb +0 -11
  303. data/spec/jobs/import_export_job_spec.rb +0 -28
  304. data/spec/jobs/import_url_job_spec.rb +0 -180
  305. data/spec/jobs/ingest_local_file_job_spec.rb +0 -40
  306. data/spec/jobs/inherit_permissions_job_spec.rb +0 -94
  307. data/spec/jobs/stream_notifications_job_spec.rb +0 -45
  308. data/spec/jobs/user_edit_profile_event_job_spec.rb +0 -17
  309. data/spec/jobs/visibility_copy_job_spec.rb +0 -53
  310. data/spec/lib/hyrax/analytics_spec.rb +0 -65
  311. data/spec/lib/hyrax/arkivo/actor_spec.rb +0 -78
  312. data/spec/lib/hyrax/arkivo/create_subscription_job_spec.rb +0 -50
  313. data/spec/lib/hyrax/arkivo/metadata_munger_spec.rb +0 -46
  314. data/spec/lib/hyrax/arkivo/schema_validator_spec.rb +0 -63
  315. data/spec/lib/hyrax/arkivo_spec.rb +0 -12
  316. data/spec/lib/hyrax/collections/search_service_spec.rb +0 -35
  317. data/spec/lib/hyrax/configuration_spec.rb +0 -91
  318. data/spec/lib/hyrax/controlled_vocabulary/importer/downloader_spec.rb +0 -33
  319. data/spec/lib/hyrax/controlled_vocabulary/importer/language_spec.rb +0 -24
  320. data/spec/lib/hyrax/move_all_works_to_admin_set_spec.rb +0 -13
  321. data/spec/lib/hyrax/name_spec.rb +0 -21
  322. data/spec/lib/hyrax/redis_event_store_spec.rb +0 -54
  323. data/spec/lib/hyrax/resource_sync/capability_list_writer_spec.rb +0 -33
  324. data/spec/lib/hyrax/resource_sync/change_list_writer_spec.rb +0 -78
  325. data/spec/lib/hyrax/resource_sync/resource_list_writer_spec.rb +0 -25
  326. data/spec/lib/hyrax/resource_sync/source_description_writer_spec.rb +0 -18
  327. data/spec/lib/hyrax/role_registry_spec.rb +0 -43
  328. data/spec/lib/hyrax/search_state_spec.rb +0 -26
  329. data/spec/lib/hyrax/zotero/config_spec.rb +0 -26
  330. data/spec/lib/hyrax/zotero_spec.rb +0 -9
  331. data/spec/lib/hyrax_spec.rb +0 -9
  332. data/spec/models/admin_set_spec.rb +0 -229
  333. data/spec/models/batch_upload_item_spec.rb +0 -7
  334. data/spec/models/checksum_audit_log_spec.rb +0 -162
  335. data/spec/models/collection_branding_info_spec.rb +0 -61
  336. data/spec/models/collection_spec.rb +0 -326
  337. data/spec/models/concerns/hyrax/collection_nesting_spec.rb +0 -83
  338. data/spec/models/content_block_spec.rb +0 -198
  339. data/spec/models/featured_work_list_spec.rb +0 -56
  340. data/spec/models/featured_work_spec.rb +0 -53
  341. data/spec/models/file_download_stat_spec.rb +0 -104
  342. data/spec/models/file_set_spec.rb +0 -668
  343. data/spec/models/file_view_stat_spec.rb +0 -81
  344. data/spec/models/flipflop_spec.rb +0 -49
  345. data/spec/models/generic_work_spec.rb +0 -117
  346. data/spec/models/hyrax/batch_create_operation_spec.rb +0 -59
  347. data/spec/models/hyrax/collection_type_participant_spec.rb +0 -43
  348. data/spec/models/hyrax/collection_type_spec.rb +0 -236
  349. data/spec/models/hyrax/download_spec.rb +0 -13
  350. data/spec/models/hyrax/operation_spec.rb +0 -123
  351. data/spec/models/hyrax/pageview_spec.rb +0 -13
  352. data/spec/models/hyrax/permission_template_access_spec.rb +0 -180
  353. data/spec/models/hyrax/permission_template_spec.rb +0 -291
  354. data/spec/models/hyrax/permissions/readable_permissions_spec.rb +0 -52
  355. data/spec/models/hyrax/permissions/writable_permissions_spec.rb +0 -12
  356. data/spec/models/hyrax/uploaded_file_spec.rb +0 -10
  357. data/spec/models/hyrax/user_usage_stats_spec.rb +0 -43
  358. data/spec/models/hyrax/work_behavior_spec.rb +0 -64
  359. data/spec/models/job_io_wrapper_spec.rb +0 -172
  360. data/spec/models/proxy_deposit_request_spec.rb +0 -152
  361. data/spec/models/single_use_link_spec.rb +0 -37
  362. data/spec/models/sipity/agent_spec.rb +0 -8
  363. data/spec/models/sipity/comment_spec.rb +0 -24
  364. data/spec/models/sipity/entity_spec.rb +0 -27
  365. data/spec/models/sipity/entity_specific_responsibility_spec.rb +0 -9
  366. data/spec/models/sipity/notifiable_context_spec.rb +0 -7
  367. data/spec/models/sipity/notification_recipient_spec.rb +0 -9
  368. data/spec/models/sipity/notification_spec.rb +0 -15
  369. data/spec/models/sipity/role_spec.rb +0 -40
  370. data/spec/models/sipity/workflow_action_spec.rb +0 -11
  371. data/spec/models/sipity/workflow_responsibility_spec.rb +0 -8
  372. data/spec/models/sipity/workflow_role_spec.rb +0 -8
  373. data/spec/models/sipity/workflow_spec.rb +0 -84
  374. data/spec/models/sipity/workflow_state_action_permission_spec.rb +0 -8
  375. data/spec/models/sipity/workflow_state_action_spec.rb +0 -8
  376. data/spec/models/sipity/workflow_state_spec.rb +0 -17
  377. data/spec/models/solr_document_spec.rb +0 -205
  378. data/spec/models/trophy_spec.rb +0 -19
  379. data/spec/models/user_mailbox_spec.rb +0 -134
  380. data/spec/models/user_spec.rb +0 -269
  381. data/spec/models/work_view_stat_spec.rb +0 -107
  382. data/spec/presenters/hyrax/admin/dashboard_presenter_spec.rb +0 -33
  383. data/spec/presenters/hyrax/admin/repository_growth_presenter_spec.rb +0 -25
  384. data/spec/presenters/hyrax/admin/repository_object_presenter_spec.rb +0 -24
  385. data/spec/presenters/hyrax/admin/user_activity_presenter_spec.rb +0 -20
  386. data/spec/presenters/hyrax/admin/users_presenter_spec.rb +0 -48
  387. data/spec/presenters/hyrax/admin/workflow_role_presenter_spec.rb +0 -12
  388. data/spec/presenters/hyrax/admin/workflow_roles_presenter_spec.rb +0 -16
  389. data/spec/presenters/hyrax/admin_set_options_presenter_spec.rb +0 -73
  390. data/spec/presenters/hyrax/admin_set_presenter_spec.rb +0 -143
  391. data/spec/presenters/hyrax/admin_stats_presenter_spec.rb +0 -143
  392. data/spec/presenters/hyrax/collection_options_presenter_spec.rb +0 -15
  393. data/spec/presenters/hyrax/collection_presenter_spec.rb +0 -461
  394. data/spec/presenters/hyrax/dashboard/user_presenter_spec.rb +0 -65
  395. data/spec/presenters/hyrax/embargo_presenter_spec.rb +0 -51
  396. data/spec/presenters/hyrax/file_set_presenter_spec.rb +0 -426
  397. data/spec/presenters/hyrax/file_usage_spec.rb +0 -162
  398. data/spec/presenters/hyrax/fixity_status_presenter_spec.rb +0 -55
  399. data/spec/presenters/hyrax/homepage_presenter_spec.rb +0 -42
  400. data/spec/presenters/hyrax/inspect_work_presenter_spec.rb +0 -59
  401. data/spec/presenters/hyrax/lease_presenter_spec.rb +0 -51
  402. data/spec/presenters/hyrax/member_presenter_factory_spec.rb +0 -26
  403. data/spec/presenters/hyrax/menu_presenter_spec.rb +0 -107
  404. data/spec/presenters/hyrax/permission_badge_spec.rb +0 -77
  405. data/spec/presenters/hyrax/presenter_factory_spec.rb +0 -53
  406. data/spec/presenters/hyrax/presenter_renderer_spec.rb +0 -30
  407. data/spec/presenters/hyrax/select_collection_type_list_presenter_spec.rb +0 -59
  408. data/spec/presenters/hyrax/select_collection_type_presenter_spec.rb +0 -10
  409. data/spec/presenters/hyrax/select_type_list_presenter_spec.rb +0 -37
  410. data/spec/presenters/hyrax/select_type_presenter_spec.rb +0 -74
  411. data/spec/presenters/hyrax/single_use_link_presenter_spec.rb +0 -41
  412. data/spec/presenters/hyrax/transfers_presenter_spec.rb +0 -44
  413. data/spec/presenters/hyrax/trophy_presenter_spec.rb +0 -53
  414. data/spec/presenters/hyrax/twitter_presenter_spec.rb +0 -27
  415. data/spec/presenters/hyrax/user_profile_presenter_spec.rb +0 -28
  416. data/spec/presenters/hyrax/version_list_presenter_spec.rb +0 -30
  417. data/spec/presenters/hyrax/version_presenter_spec.rb +0 -57
  418. data/spec/presenters/hyrax/work_show_presenter_spec.rb +0 -580
  419. data/spec/presenters/hyrax/work_usage_spec.rb +0 -144
  420. data/spec/presenters/hyrax/workflow_presenter_spec.rb +0 -75
  421. data/spec/rails_helper.rb +0 -2
  422. data/spec/renderers/hyrax/renderers/attribute_renderer_spec.rb +0 -118
  423. data/spec/renderers/hyrax/renderers/date_attribute_renderer_spec.rb +0 -39
  424. data/spec/renderers/hyrax/renderers/external_link_attribute_renderer_spec.rb +0 -22
  425. data/spec/renderers/hyrax/renderers/faceted_attribute_renderer_spec.rb +0 -35
  426. data/spec/renderers/hyrax/renderers/license_attribute_renderer_spec.rb +0 -21
  427. data/spec/renderers/hyrax/renderers/linked_attribute_renderer_spec.rb +0 -21
  428. data/spec/renderers/hyrax/renderers/rights_statement_attribute_renderer_spec.rb +0 -29
  429. data/spec/requests/legacy_routing_spec.rb +0 -7
  430. data/spec/requests/riiif_spec.rb +0 -32
  431. data/spec/routing/admin_routes_spec.rb +0 -29
  432. data/spec/routing/api_route_spec.rb +0 -89
  433. data/spec/routing/citations_route_spec.rb +0 -21
  434. data/spec/routing/collection_permission_templates_routes_spec.rb +0 -31
  435. data/spec/routing/collection_types_routes.rb +0 -35
  436. data/spec/routing/dashboard_routes_spec.rb +0 -37
  437. data/spec/routing/featured_works_route_spec.rb +0 -15
  438. data/spec/routing/operations_spec.rb +0 -9
  439. data/spec/routing/ownership_transfers_route_spec.rb +0 -43
  440. data/spec/routing/resource_sync_spec.rb +0 -19
  441. data/spec/routing/route_spec.rb +0 -205
  442. data/spec/routing/single_use_link_spec.rb +0 -27
  443. data/spec/routing/stats_route_spec.rb +0 -21
  444. data/spec/search_builders/hyrax/abstract_type_relation_spec.rb +0 -18
  445. data/spec/search_builders/hyrax/admin_admin_set_member_search_builder_spec.rb +0 -39
  446. data/spec/search_builders/hyrax/admin_set_search_builder_spec.rb +0 -78
  447. data/spec/search_builders/hyrax/catalog_search_builder_spec.rb +0 -86
  448. data/spec/search_builders/hyrax/collection_member_search_builder_spec.rb +0 -53
  449. data/spec/search_builders/hyrax/collection_search_builder_spec.rb +0 -74
  450. data/spec/search_builders/hyrax/dashboard/collections_search_builder_spec.rb +0 -103
  451. data/spec/search_builders/hyrax/dashboard/nested_collections_search_builder_spec.rb +0 -85
  452. data/spec/search_builders/hyrax/dashboard/works_search_builder_spec.rb +0 -44
  453. data/spec/search_builders/hyrax/embargo_search_builder_spec.rb +0 -17
  454. data/spec/search_builders/hyrax/file_set_search_builder_spec.rb +0 -28
  455. data/spec/search_builders/hyrax/lease_search_builder_spec.rb +0 -17
  456. data/spec/search_builders/hyrax/my/collections_search_builder_spec.rb +0 -35
  457. data/spec/search_builders/hyrax/my/find_works_search_builder_spec.rb +0 -63
  458. data/spec/search_builders/hyrax/my/shares_search_builder_spec.rb +0 -32
  459. data/spec/search_builders/hyrax/my/works_search_builder_spec.rb +0 -52
  460. data/spec/search_builders/hyrax/parent_collection_search_builder_spec.rb +0 -15
  461. data/spec/search_builders/hyrax/single_admin_set_search_builder_spec.rb +0 -20
  462. data/spec/search_builders/hyrax/stats/work_status_search_builder_spec.rb +0 -32
  463. data/spec/search_builders/hyrax/work_relation_spec.rb +0 -9
  464. data/spec/search_builders/hyrax/work_search_builder_spec.rb +0 -106
  465. data/spec/search_builders/hyrax/works_search_builder_spec.rb +0 -23
  466. data/spec/services/hyrax/abstract_message_service_spec.rb +0 -25
  467. data/spec/services/hyrax/adapters/nesting_index_adapter_spec.rb +0 -205
  468. data/spec/services/hyrax/admin_set_create_service_spec.rb +0 -114
  469. data/spec/services/hyrax/admin_set_member_service_spec.rb +0 -21
  470. data/spec/services/hyrax/admin_set_service_spec.rb +0 -171
  471. data/spec/services/hyrax/batch_create_failure_service_spec.rb +0 -18
  472. data/spec/services/hyrax/batch_create_success_service_spec.rb +0 -14
  473. data/spec/services/hyrax/change_content_depositor_service_spec.rb +0 -49
  474. data/spec/services/hyrax/collection_member_service_spec.rb +0 -19
  475. data/spec/services/hyrax/collection_size_service_spec.rb +0 -74
  476. data/spec/services/hyrax/collection_types/create_service_spec.rb +0 -127
  477. data/spec/services/hyrax/collection_types/permissions_service_spec.rb +0 -297
  478. data/spec/services/hyrax/collections/collection_member_service_spec.rb +0 -49
  479. data/spec/services/hyrax/collections/managed_collections_service_spec.rb +0 -17
  480. data/spec/services/hyrax/collections/migration_service_spec.rb +0 -467
  481. data/spec/services/hyrax/collections/nested_collection_persistence_service_spec.rb +0 -28
  482. data/spec/services/hyrax/collections/nested_collection_query_service_spec.rb +0 -353
  483. data/spec/services/hyrax/collections/permissions_create_service_spec.rb +0 -64
  484. data/spec/services/hyrax/collections/permissions_service_spec.rb +0 -380
  485. data/spec/services/hyrax/collections_service_spec.rb +0 -62
  486. data/spec/services/hyrax/curation_concern_spec.rb +0 -18
  487. data/spec/services/hyrax/database_migrator_spec.rb +0 -20
  488. data/spec/services/hyrax/default_middleware_stack_spec.rb +0 -36
  489. data/spec/services/hyrax/derivative_path_spec.rb +0 -65
  490. data/spec/services/hyrax/derivative_service_spec.rb +0 -49
  491. data/spec/services/hyrax/embargo_service_spec.rb +0 -59
  492. data/spec/services/hyrax/file_set_csv_service_spec.rb +0 -83
  493. data/spec/services/hyrax/file_set_derivatives_service_spec.rb +0 -13
  494. data/spec/services/hyrax/file_set_fixity_check_service_spec.rb +0 -129
  495. data/spec/services/hyrax/fixity_check_failure_service_spec.rb +0 -29
  496. data/spec/services/hyrax/graph_exporter_spec.rb +0 -58
  497. data/spec/services/hyrax/iiif_authorization_service_spec.rb +0 -43
  498. data/spec/services/hyrax/import_url_failure_service_spec.rb +0 -23
  499. data/spec/services/hyrax/lease_service_spec.rb +0 -50
  500. data/spec/services/hyrax/license_service_spec.rb +0 -34
  501. data/spec/services/hyrax/lock_manager_spec.rb +0 -13
  502. data/spec/services/hyrax/messenger_service_spec.rb +0 -15
  503. data/spec/services/hyrax/microdata_spec.rb +0 -94
  504. data/spec/services/hyrax/multiple_membership_checker_spec.rb +0 -155
  505. data/spec/services/hyrax/noid_spec.rb +0 -37
  506. data/spec/services/hyrax/permission_template_applicator_spec.rb +0 -69
  507. data/spec/services/hyrax/persist_derivatives_spec.rb +0 -22
  508. data/spec/services/hyrax/persist_directly_contained_output_file_service_spec.rb +0 -20
  509. data/spec/services/hyrax/qa_select_service_spec.rb +0 -109
  510. data/spec/services/hyrax/quick_classification_query_spec.rb +0 -38
  511. data/spec/services/hyrax/repository_fixity_check_service_spec.rb +0 -16
  512. data/spec/services/hyrax/resource_types_service_spec.rb +0 -38
  513. data/spec/services/hyrax/rights_statement_service_spec.rb +0 -9
  514. data/spec/services/hyrax/statistics/collections/over_time_spec.rb +0 -17
  515. data/spec/services/hyrax/statistics/depositors/summary_spec.rb +0 -66
  516. data/spec/services/hyrax/statistics/file_sets/by_format_spec.rb +0 -29
  517. data/spec/services/hyrax/statistics/query_service_spec.rb +0 -112
  518. data/spec/services/hyrax/statistics/system_stats_spec.rb +0 -45
  519. data/spec/services/hyrax/statistics/users/over_time_spec.rb +0 -22
  520. data/spec/services/hyrax/statistics/works/by_depositor_spec.rb +0 -24
  521. data/spec/services/hyrax/statistics/works/by_resource_type_spec.rb +0 -28
  522. data/spec/services/hyrax/statistics/works/count_spec.rb +0 -33
  523. data/spec/services/hyrax/statistics/works/over_time_spec.rb +0 -17
  524. data/spec/services/hyrax/thumbnail_path_service_spec.rb +0 -55
  525. data/spec/services/hyrax/tolerant_select_service_spec.rb +0 -80
  526. data/spec/services/hyrax/user_stat_importer_spec.rb +0 -315
  527. data/spec/services/hyrax/versioning_service_spec.rb +0 -26
  528. data/spec/services/hyrax/work_query_service_spec.rb +0 -56
  529. data/spec/services/hyrax/workflow/action_taken_service_spec.rb +0 -74
  530. data/spec/services/hyrax/workflow/activate_object_spec.rb +0 -26
  531. data/spec/services/hyrax/workflow/changes_required_notification_spec.rb +0 -35
  532. data/spec/services/hyrax/workflow/deactivate_object_spec.rb +0 -26
  533. data/spec/services/hyrax/workflow/deposited_notification_spec.rb +0 -35
  534. data/spec/services/hyrax/workflow/grant_edit_to_depositor_spec.rb +0 -53
  535. data/spec/services/hyrax/workflow/grant_read_to_depositor_spec.rb +0 -48
  536. data/spec/services/hyrax/workflow/method_generator_spec.rb +0 -42
  537. data/spec/services/hyrax/workflow/notification_configuration_parameter_spec.rb +0 -24
  538. data/spec/services/hyrax/workflow/notification_generator_spec.rb +0 -27
  539. data/spec/services/hyrax/workflow/notification_service_spec.rb +0 -87
  540. data/spec/services/hyrax/workflow/pending_review_notification_spec.rb +0 -34
  541. data/spec/services/hyrax/workflow/permission_generator_spec.rb +0 -50
  542. data/spec/services/hyrax/workflow/permission_query_spec.rb +0 -206
  543. data/spec/services/hyrax/workflow/revoke_edit_from_depositor_spec.rb +0 -48
  544. data/spec/services/hyrax/workflow/sipity_actions_generator_spec.rb +0 -40
  545. data/spec/services/hyrax/workflow/state_machine_generator_spec.rb +0 -45
  546. data/spec/services/hyrax/workflow/status_list_service_spec.rb +0 -67
  547. data/spec/services/hyrax/workflow/workflow_factory_spec.rb +0 -26
  548. data/spec/services/hyrax/workflow/workflow_importer_spec.rb +0 -241
  549. data/spec/services/hyrax/workflow/workflow_permissions_generator_spec.rb +0 -39
  550. data/spec/services/hyrax/workflow/workflow_schema_spec.rb +0 -86
  551. data/spec/services/hyrax/working_directory_spec.rb +0 -12
  552. data/spec/services/hyrax/works/managed_works_service_spec.rb +0 -17
  553. data/spec/spec_helper.rb +0 -300
  554. data/spec/strategies/hyrax/strategies/yaml_strategy_spec.rb +0 -30
  555. data/spec/support/controller_level_helpers.rb +0 -27
  556. data/spec/support/factory_helpers.rb +0 -24
  557. data/spec/support/fakes/fake_authority.rb +0 -13
  558. data/spec/support/features.rb +0 -10
  559. data/spec/support/features/batch_edit_actions.rb +0 -28
  560. data/spec/support/features/session_helpers.rb +0 -14
  561. data/spec/support/features/workflow.rb +0 -9
  562. data/spec/support/input_support.rb +0 -11
  563. data/spec/support/logging_formatter.rb +0 -66
  564. data/spec/support/matchers/api_responses.rb +0 -26
  565. data/spec/support/matchers/collection_type_property_matchers.rb +0 -29
  566. data/spec/support/matchers/response_matchers.rb +0 -7
  567. data/spec/support/optional_example.rb +0 -16
  568. data/spec/support/rake.rb +0 -41
  569. data/spec/support/selectors.rb +0 -100
  570. data/spec/support/spec_statistic.rb +0 -23
  571. data/spec/support/speedup.rb +0 -6
  572. data/spec/support/statistic_helper.rb +0 -9
  573. data/spec/tasks/rake_spec.rb +0 -27
  574. data/spec/test_app_templates/Gemfile.extra +0 -6
  575. data/spec/test_app_templates/disable_animations_in_test_environment.rb +0 -54
  576. data/spec/test_app_templates/lib/generators/test_app_generator.rb +0 -125
  577. data/spec/views/_flash_msg.html.erb_spec.rb +0 -32
  578. data/spec/views/_user_util_links.html.erb_spec.rb +0 -44
  579. data/spec/views/catalog/_index_list_default.html.erb_spec.rb +0 -43
  580. data/spec/views/catalog/_search_form.html.erb_spec.rb +0 -16
  581. data/spec/views/catalog/_thumbnail_list_collection.html.erb_spec.rb +0 -43
  582. data/spec/views/catalog/index.html.erb_spec.rb +0 -50
  583. data/spec/views/content_blocks/edit.html.erb_spec.rb +0 -21
  584. data/spec/views/hyrax/admin/admin_sets/_form.html.erb_spec.rb +0 -29
  585. data/spec/views/hyrax/admin/admin_sets/_form_participant_table.html.erb_spec.rb +0 -128
  586. data/spec/views/hyrax/admin/admin_sets/_form_participants.html.erb_spec.rb +0 -19
  587. data/spec/views/hyrax/admin/admin_sets/_form_visibility.html.erb_spec.rb +0 -24
  588. data/spec/views/hyrax/admin/admin_sets/_form_workflow.html.erb_spec.rb +0 -22
  589. data/spec/views/hyrax/admin/admin_sets/_show_actions.html.erb_spec.rb +0 -68
  590. data/spec/views/hyrax/admin/admin_sets/_show_document_list.html.erb_spec.rb +0 -13
  591. data/spec/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb_spec.rb +0 -28
  592. data/spec/views/hyrax/admin/admin_sets/index.html.erb_spec.rb +0 -40
  593. data/spec/views/hyrax/admin/admin_sets/index.json.erb_spec.rb +0 -29
  594. data/spec/views/hyrax/admin/admin_sets/show.html.erb_spec.rb +0 -21
  595. data/spec/views/hyrax/admin/collection_types/_form.html.erb_spec.rb +0 -45
  596. data/spec/views/hyrax/admin/collection_types/_form_appearance.html.erb_spec.rb +0 -22
  597. data/spec/views/hyrax/admin/collection_types/_form_metadata.html.erb_spec.rb +0 -27
  598. data/spec/views/hyrax/admin/collection_types/_form_metadata_admin_set.html.erb_spec.rb +0 -27
  599. data/spec/views/hyrax/admin/collection_types/_form_participants.html.erb_spec.rb +0 -24
  600. data/spec/views/hyrax/admin/collection_types/_form_participants_table.html.erb_spec.rb +0 -73
  601. data/spec/views/hyrax/admin/collection_types/_form_settings.html.erb_spec.rb +0 -86
  602. data/spec/views/hyrax/admin/collection_types/index.html.erb_spec.rb +0 -62
  603. data/spec/views/hyrax/admin/features/index.html.erb_spec.rb +0 -15
  604. data/spec/views/hyrax/admin/stats/show.html.erb_spec.rb +0 -54
  605. data/spec/views/hyrax/admin/users/index.html.erb_spec.rb +0 -45
  606. data/spec/views/hyrax/admin/workflow_roles/index.html.erb_spec.rb +0 -40
  607. data/spec/views/hyrax/base/_attribute_rows.html.erb_spec.rb +0 -30
  608. data/spec/views/hyrax/base/_attributes.html.erb_spec.rb +0 -35
  609. data/spec/views/hyrax/base/_citations.html.erb_spec.rb +0 -43
  610. data/spec/views/hyrax/base/_form.html.erb_spec.rb +0 -80
  611. data/spec/views/hyrax/base/_form_child_work_relationships.html.erb_spec.rb +0 -68
  612. data/spec/views/hyrax/base/_form_files.html.erb_spec.rb +0 -38
  613. data/spec/views/hyrax/base/_form_metadata.html.erb_spec.rb +0 -40
  614. data/spec/views/hyrax/base/_form_progress.html.erb_spec.rb +0 -131
  615. data/spec/views/hyrax/base/_form_relationships.html.erb_spec.rb +0 -48
  616. data/spec/views/hyrax/base/_form_rendering.html.erb_spec.rb +0 -22
  617. data/spec/views/hyrax/base/_items.html.erb_spec.rb +0 -55
  618. data/spec/views/hyrax/base/_member.html.erb_spec.rb +0 -43
  619. data/spec/views/hyrax/base/_relationships.html.erb_spec.rb +0 -92
  620. data/spec/views/hyrax/base/_show_actions.html.erb_spec.rb +0 -149
  621. data/spec/views/hyrax/base/_social_media.html.erb_spec.rb +0 -16
  622. data/spec/views/hyrax/base/edit.html.erb_spec.rb +0 -26
  623. data/spec/views/hyrax/base/file_manager.html.erb_spec.rb +0 -88
  624. data/spec/views/hyrax/base/show.html.erb_spec.rb +0 -201
  625. data/spec/views/hyrax/base/show.json.jbuilder_spec.rb +0 -23
  626. data/spec/views/hyrax/base/unauthorized.html.erb_spec.rb +0 -30
  627. data/spec/views/hyrax/base/unavailable.html.erb_spec.rb +0 -36
  628. data/spec/views/hyrax/batch_edits/check_all_spec.rb +0 -13
  629. data/spec/views/hyrax/batch_edits/edit.html.erb_spec.rb +0 -35
  630. data/spec/views/hyrax/batch_uploads/_form.html.erb_spec.rb +0 -24
  631. data/spec/views/hyrax/citations/work.html.erb_spec.rb +0 -175
  632. data/spec/views/hyrax/collections/_show_descriptions.html.erb_spec.rb +0 -32
  633. data/spec/views/hyrax/collections/_show_document_list.html.erb_spec.rb +0 -24
  634. data/spec/views/hyrax/collections/_show_document_list_row.html.erb_spec.rb +0 -35
  635. data/spec/views/hyrax/collections/_show_parent_collections.html.erb_spec.rb +0 -74
  636. data/spec/views/hyrax/collections/_sort_and_per_page.html.erb_spec.rb +0 -60
  637. data/spec/views/hyrax/collections/_subcollection_list.html.erb_spec.rb +0 -39
  638. data/spec/views/hyrax/collections/show.html.erb_spec.rb +0 -48
  639. data/spec/views/hyrax/dashboard/_sidebar.html.erb_spec.rb +0 -132
  640. data/spec/views/hyrax/dashboard/collections/_default_group.html.erb_spec.rb +0 -43
  641. data/spec/views/hyrax/dashboard/collections/_form.html.erb_spec.rb +0 -60
  642. data/spec/views/hyrax/dashboard/collections/_form_branding.html.erb_spec.rb +0 -23
  643. data/spec/views/hyrax/dashboard/collections/_form_discovery.erb_spec.rb +0 -67
  644. data/spec/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb_spec.rb +0 -47
  645. data/spec/views/hyrax/dashboard/collections/_form_share.erb_spec.rb +0 -22
  646. data/spec/views/hyrax/dashboard/collections/_form_share_table.html.erb_spec.rb +0 -108
  647. data/spec/views/hyrax/dashboard/collections/_list_collections.html.erb_spec.rb +0 -51
  648. data/spec/views/hyrax/dashboard/collections/_show_actions.html.erb_spec.rb +0 -77
  649. data/spec/views/hyrax/dashboard/collections/_show_add_items_actions.html.erb_spec.rb +0 -46
  650. data/spec/views/hyrax/dashboard/collections/_show_descriptions.html.erb_spec.rb +0 -32
  651. data/spec/views/hyrax/dashboard/collections/_show_document_list.html.erb_spec.rb +0 -24
  652. data/spec/views/hyrax/dashboard/collections/_show_document_list_menu.html.erb_spec.rb +0 -31
  653. data/spec/views/hyrax/dashboard/collections/_show_document_list_row.html.erb_spec.rb +0 -35
  654. data/spec/views/hyrax/dashboard/collections/_show_parent_collection_row.html.erb_spec.rb +0 -61
  655. data/spec/views/hyrax/dashboard/collections/_show_parent_collections.html.erb_spec.rb +0 -82
  656. data/spec/views/hyrax/dashboard/collections/_show_subcollection_actions.html.erb_spec.rb +0 -62
  657. data/spec/views/hyrax/dashboard/collections/_sort_and_per_page.html.erb_spec.rb +0 -60
  658. data/spec/views/hyrax/dashboard/collections/_subcollection_list.html.erb_spec.rb +0 -75
  659. data/spec/views/hyrax/dashboard/collections/_work_action_menu.html.erb_spec.rb +0 -18
  660. data/spec/views/hyrax/dashboard/collections/edit.html.erb_spec.rb +0 -20
  661. data/spec/views/hyrax/dashboard/collections/show.html.erb_spec.rb +0 -116
  662. data/spec/views/hyrax/dashboard/profiles/_trophy_edit.html.erb_spec.rb +0 -36
  663. data/spec/views/hyrax/dashboard/profiles/edit.html.erb_spec.rb +0 -67
  664. data/spec/views/hyrax/dashboard/profiles/show.html.erb_spec.rb +0 -36
  665. data/spec/views/hyrax/dashboard/show_user_spec.rb +0 -61
  666. data/spec/views/hyrax/depositors/index.html.erb_spec.rb +0 -13
  667. data/spec/views/hyrax/embargoes/index.html.erb_spec.rb +0 -14
  668. data/spec/views/hyrax/file_sets/_actions.html.erb_spec.rb +0 -36
  669. data/spec/views/hyrax/file_sets/_permission.html.erb_spec.rb +0 -14
  670. data/spec/views/hyrax/file_sets/_permission_form.html.erb_spec.rb +0 -44
  671. data/spec/views/hyrax/file_sets/_show_actions.html.erb_spec.rb +0 -62
  672. data/spec/views/hyrax/file_sets/_show_characterization_details.html.erb_spec.rb +0 -29
  673. data/spec/views/hyrax/file_sets/_single_use_links.html.erb_spec.rb +0 -34
  674. data/spec/views/hyrax/file_sets/_versioning.html.erb_spec.rb +0 -16
  675. data/spec/views/hyrax/file_sets/media_display/_audio.html.erb_spec.rb +0 -29
  676. data/spec/views/hyrax/file_sets/media_display/_default.html.erb_spec.rb +0 -29
  677. data/spec/views/hyrax/file_sets/media_display/_video.html.erb_spec.rb +0 -29
  678. data/spec/views/hyrax/file_sets/show.html.erb_spec.rb +0 -47
  679. data/spec/views/hyrax/file_sets/show.json.jbuilder_spec.rb +0 -27
  680. data/spec/views/hyrax/homepage/_announcement.html.erb_spec.rb +0 -27
  681. data/spec/views/hyrax/homepage/_featured_works.html.erb_spec.rb +0 -40
  682. data/spec/views/hyrax/homepage/_sortable_featured.html.erb_spec.rb +0 -23
  683. data/spec/views/hyrax/homepage/index.html.erb_spec.rb +0 -129
  684. data/spec/views/hyrax/leases/index.html.erb_spec.rb +0 -14
  685. data/spec/views/hyrax/my/_collection_action_menu.html.erb_spec.rb +0 -65
  686. data/spec/views/hyrax/my/_search_header.html.erb_spec.rb +0 -34
  687. data/spec/views/hyrax/my/_work_action_menu.html.erb_spec.rb +0 -40
  688. data/spec/views/hyrax/my/collections/_list_collections.html.erb_spec.rb +0 -109
  689. data/spec/views/hyrax/my/collections/index.html.erb_spec.rb +0 -34
  690. data/spec/views/hyrax/my/facet.html.erb_spec.rb +0 -34
  691. data/spec/views/hyrax/my/works/_list_works.html.erb_spec.rb +0 -30
  692. data/spec/views/hyrax/my/works/index.html.erb_spec.rb +0 -69
  693. data/spec/views/hyrax/permissions/confirm.html.erb_spec.rb +0 -15
  694. data/spec/views/hyrax/single_use_links_viewer/show.html.erb_spec.rb +0 -17
  695. data/spec/views/hyrax/single_use_links_viewer/single_use_error.html.erb_spec.rb +0 -6
  696. data/spec/views/hyrax/stats/file.html.erb_spec.rb +0 -48
  697. data/spec/views/hyrax/uploads/create.json.jbuilder_spec.rb +0 -17
  698. data/spec/views/hyrax/users/_user_info.html.erb_spec.rb +0 -25
  699. data/spec/views/hyrax/users/index.html.erb_spec.rb +0 -25
  700. data/spec/views/hyrax/users/show.html.erb_spec.rb +0 -55
  701. data/spec/views/layouts/error.html.erb_spec.rb +0 -6
  702. data/spec/views/pages/edit.html.erb_spec.rb +0 -27
  703. data/spec/views/pages/show.html.erb_spec.rb +0 -17
  704. data/spec/views/records/edit_fields/_based_near.html.erb_spec.rb +0 -20
  705. data/spec/views/records/edit_fields/_description.html.erb_spec.rb +0 -67
  706. data/spec/views/records/edit_fields/_language.html.erb_spec.rb +0 -20
  707. data/spec/views/records/edit_fields/_subject.html.erb_spec.rb +0 -20
  708. data/spec/views/shared/select_work_type_modal.html.erb_spec.rb +0 -51
@@ -1,35 +0,0 @@
1
- RSpec.describe Hyrax::Actors::FileSetOrderedMembersActor do
2
- include ActionDispatch::TestProcess
3
-
4
- let(:user) { create(:user) }
5
- let(:file_path) { File.join(fixture_path, 'world.png') }
6
- let(:file) { fixture_file_upload(file_path, 'image/png') } # we will override for the different types of File objects
7
- let(:local_file) { File.open(file_path) }
8
- let(:file_set) { create(:file_set, content: local_file) }
9
- let(:actor) { described_class.new(file_set, user) }
10
- let(:relation) { :original_file }
11
- let(:file_actor) { Hyrax::Actors::FileActor.new(file_set, relation, user) }
12
-
13
- describe 'creating metadata, content and attaching to a work' do
14
- let(:work) { create(:generic_work) }
15
- let(:date_today) { DateTime.current }
16
-
17
- subject { file_set.reload }
18
-
19
- before do
20
- allow(DateTime).to receive(:current).and_return(date_today)
21
- allow(actor).to receive(:acquire_lock_for).and_yield
22
- actor.create_metadata
23
- actor.create_content(file)
24
- actor.attach_to_work(work)
25
- end
26
-
27
- context 'when a work is provided' do
28
- it 'does not add the FileSet to the parent work' do
29
- expect(subject.parents).to eq []
30
- expect(subject.visibility).to eq 'restricted'
31
- expect(work.reload.file_sets).not_to include(subject)
32
- end
33
- end
34
- end
35
- end
@@ -1,316 +0,0 @@
1
- require 'redlock'
2
-
3
- RSpec.describe Hyrax::Actors::GenericWorkActor do
4
- include ActionDispatch::TestProcess
5
- let(:env) { Hyrax::Actors::Environment.new(curation_concern, ability, attributes) }
6
- let(:user) { create(:user) }
7
- let(:ability) { ::Ability.new(user) }
8
- let(:admin_set) { create(:admin_set, id: 'admin_set_1', with_permission_template: { with_active_workflow: true }) }
9
- # stub out redis connection
10
- let(:redlock_client_stub) do
11
- client = double('redlock client')
12
- allow(client).to receive(:lock).and_yield(true)
13
- allow(Redlock::Client).to receive(:new).and_return(client)
14
- client
15
- end
16
-
17
- subject { Hyrax::CurationConcern.actor }
18
-
19
- describe '#create' do
20
- let(:curation_concern) { create(:generic_work, user: user) }
21
- let(:xmas) { DateTime.parse('2014-12-25 11:30').iso8601 }
22
- let(:attributes) { {} }
23
- let(:file) { fixture_file_upload('/world.png', 'image/png') }
24
- let(:uploaded_file) { Hyrax::UploadedFile.create(file: file, user: user) }
25
- let(:terminator) { Hyrax::Actors::Terminator.new }
26
-
27
- subject(:middleware) do
28
- stack = ActionDispatch::MiddlewareStack.new.tap do |middleware|
29
- middleware.use Hyrax::Actors::CreateWithFilesActor
30
- middleware.use Hyrax::Actors::AddToWorkActor
31
- middleware.use Hyrax::Actors::InterpretVisibilityActor
32
- middleware.use described_class
33
- end
34
- stack.build(terminator)
35
- end
36
-
37
- before do
38
- allow(terminator).to receive(:create).and_return(true)
39
- end
40
-
41
- context 'failure' do
42
- before do
43
- allow(middleware).to receive(:attach_files).and_return(true)
44
- end
45
-
46
- # The clean is here because this test depends on the repo not having an AdminSet/PermissionTemplate created yet
47
- it 'returns false', :clean_repo do
48
- expect(curation_concern).to receive(:save).and_return(false)
49
- expect(middleware.create(env)).to be false
50
- end
51
- end
52
-
53
- context 'success' do
54
- before do
55
- redlock_client_stub
56
- end
57
- let(:attributes) { { title: ['Foo Bar'], admin_set_id: admin_set.id } }
58
-
59
- it "invokes the after_create_concern callback" do
60
- expect(Hyrax.config.callback).to receive(:run)
61
- .with(:after_create_concern, curation_concern, user)
62
- middleware.create(env)
63
- end
64
- end
65
-
66
- context 'valid attributes', perform_enqueued: [AttachFilesToWorkJob, IngestJob] do
67
- let(:visibility) { Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED }
68
-
69
- before { redlock_client_stub }
70
-
71
- context 'with embargo' do
72
- context "with attached files" do
73
- let(:date) { Time.zone.today + 2 }
74
- let(:uploaded_file_ids) { [uploaded_file.id] }
75
- let(:attributes) do
76
- { title: ['New embargo'], visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
77
- visibility_during_embargo: 'authenticated', embargo_release_date: date.to_s,
78
- visibility_after_embargo: 'open', visibility_during_lease: 'open',
79
- lease_expiration_date: '2014-06-12', visibility_after_lease: 'restricted',
80
- admin_set_id: admin_set.id,
81
- uploaded_files: uploaded_file_ids,
82
- license: ['http://creativecommons.org/licenses/by/3.0/us/'] }
83
- end
84
-
85
- it "applies embargo to attached files" do
86
- middleware.create(env)
87
- curation_concern.reload
88
- file_set = curation_concern.file_sets.first
89
- expect(file_set).to be_persisted
90
- expect(file_set.visibility_during_embargo).to eq 'authenticated'
91
- expect(file_set.visibility_after_embargo).to eq 'open'
92
- expect(file_set.visibility).to eq 'authenticated'
93
- end
94
- end
95
- end
96
-
97
- context 'with in_work_ids' do
98
- let(:parent) { create(:generic_work, user: user) }
99
- let(:attributes) do
100
- attributes_for(:generic_work, visibility: visibility, admin_set_id: admin_set.id).merge(
101
- in_works_ids: [parent.id]
102
- )
103
- end
104
-
105
- it "attaches the parent" do
106
- allow_any_instance_of(Hyrax::Actors::AddToWorkActor).to receive(:can_edit_both_works?).and_return(true)
107
- expect(middleware.create(env)).to be true
108
- expect(curation_concern.reload.in_works).to eq [parent]
109
- end
110
- it "does not attach the parent" do
111
- allow_any_instance_of(Hyrax::Actors::AddToWorkActor).to receive(:can_edit_both_works?).and_return(false)
112
- expect(middleware.create(env)).to be false
113
- expect(curation_concern.reload.in_works).to eq []
114
- end
115
- end
116
-
117
- context 'with a file' do
118
- let(:attributes) do
119
- attributes_for(:generic_work, admin_set_id: admin_set.id, visibility: visibility).tap do |a|
120
- a[:uploaded_files] = [uploaded_file.id]
121
- end
122
- end
123
-
124
- context 'authenticated visibility' do
125
- let(:file_actor) { double }
126
-
127
- before do
128
- allow(Hyrax::TimeService).to receive(:time_in_utc) { xmas }
129
- allow(Hyrax::Actors::FileActor).to receive(:new).and_return(file_actor)
130
- allow(Hyrax.config.callback).to receive(:run).with(:after_create_concern, GenericWork, user)
131
- end
132
-
133
- it 'stamps each file with the access rights and runs callbacks' do
134
- expect(Hyrax.config.callback).to receive(:run).with(:after_create_fileset, FileSet, user)
135
-
136
- expect(file_actor).to receive(:ingest_file).and_return(true)
137
- expect(middleware.create(env)).to be true
138
- curation_concern.reload
139
- expect(curation_concern).to be_persisted
140
- expect(curation_concern.date_uploaded).to eq xmas
141
- expect(curation_concern.date_modified).to eq xmas
142
- expect(curation_concern.depositor).to eq user.user_key
143
- expect(curation_concern.representative).not_to be_nil
144
- expect(curation_concern.file_sets.size).to eq 1
145
- expect(curation_concern).to be_authenticated_only_access
146
- # Sanity test to make sure the file_set has same permission as parent.
147
- file_set = curation_concern.file_sets.first
148
- expect(file_set).to be_authenticated_only_access
149
- end
150
- end
151
- end
152
-
153
- context 'with multiple files' do
154
- let(:file_actor) { double }
155
- let(:uploaded_file2) { Hyrax::UploadedFile.create(file: file, user: user) }
156
- let(:attributes) do
157
- attributes_for(:generic_work, admin_set_id: admin_set.id, visibility: visibility).tap do |a|
158
- a[:uploaded_files] = [uploaded_file.id, uploaded_file2.id]
159
- end
160
- end
161
-
162
- context 'authenticated visibility' do
163
- before do
164
- allow(Hyrax::TimeService).to receive(:time_in_utc) { xmas }
165
- allow(Hyrax::Actors::FileActor).to receive(:new).and_return(file_actor)
166
- end
167
-
168
- it 'stamps each file with the access rights' do
169
- expect(file_actor).to receive(:ingest_file).and_return(true).twice
170
-
171
- expect(middleware.create(env)).to be true
172
- curation_concern.reload
173
- expect(curation_concern).to be_persisted
174
- expect(curation_concern.date_uploaded).to eq xmas
175
- expect(curation_concern.date_modified).to eq xmas
176
- expect(curation_concern.depositor).to eq user.user_key
177
-
178
- expect(curation_concern.file_sets.size).to eq 2
179
- # Sanity test to make sure the file we uploaded is stored and has same permission as parent.
180
-
181
- expect(curation_concern).to be_authenticated_only_access
182
- end
183
- end
184
- end
185
-
186
- context 'with a present and a blank title' do
187
- let(:attributes) do
188
- attributes_for(:generic_work, admin_set_id: admin_set.id, title: ['this is present', ''])
189
- end
190
-
191
- it 'stamps each link with the access rights' do
192
- expect(middleware.create(env)).to be true
193
- expect(curation_concern).to be_persisted
194
- expect(curation_concern.title).to eq ['this is present']
195
- end
196
- end
197
- end
198
- end
199
-
200
- describe '#update' do
201
- let(:curation_concern) { create(:generic_work, user: user, admin_set_id: admin_set.id) }
202
-
203
- context 'failure' do
204
- let(:attributes) { {} }
205
-
206
- it 'returns false' do
207
- expect(curation_concern).to receive(:save).and_return(false)
208
- expect(subject.update(env)).to be false
209
- end
210
- end
211
-
212
- context 'success' do
213
- let(:attributes) { { title: ['Other Title'] } }
214
-
215
- it "invokes the after_update_metadata callback" do
216
- expect(Hyrax.config.callback).to receive(:run)
217
- .with(:after_update_metadata, curation_concern, user)
218
- subject.update(env)
219
- end
220
- end
221
-
222
- context 'with in_works_ids' do
223
- let(:parent) { create(:generic_work, user: user) }
224
- let(:old_parent) { create(:generic_work, user: user) }
225
- let(:attributes) do
226
- attributes_for(:generic_work).merge(
227
- in_works_ids: [parent.id]
228
- )
229
- end
230
-
231
- before do
232
- old_parent.ordered_members << curation_concern
233
- old_parent.save!
234
- end
235
- it "attaches the parent" do
236
- expect(subject.update(env)).to be true
237
- expect(curation_concern.in_works).to eq [parent]
238
- expect(old_parent.reload.members).to eq []
239
- end
240
- end
241
-
242
- context 'without in_works_ids' do
243
- let(:old_parent) { create(:generic_work) }
244
- let(:attributes) do
245
- attributes_for(:generic_work).merge(
246
- in_works_ids: []
247
- )
248
- end
249
-
250
- before do
251
- curation_concern.apply_depositor_metadata(user.user_key)
252
- curation_concern.save!
253
- old_parent.ordered_members << curation_concern
254
- old_parent.save!
255
- end
256
- it "removes the old parent" do
257
- allow(curation_concern).to receive(:depositor).and_return(old_parent.depositor)
258
- expect(subject.update(env)).to be true
259
- expect(curation_concern.in_works).to eq []
260
- expect(old_parent.reload.members).to eq []
261
- end
262
- end
263
-
264
- context 'with nil in_works_ids' do
265
- let(:parent) { create(:generic_work) }
266
- let(:attributes) do
267
- attributes_for(:generic_work).merge(
268
- in_works_ids: nil
269
- )
270
- end
271
-
272
- before do
273
- curation_concern.apply_depositor_metadata(user.user_key)
274
- curation_concern.save!
275
- parent.ordered_members << curation_concern
276
- parent.save!
277
- end
278
- it "does nothing" do
279
- expect(subject.update(env)).to be true
280
- expect(curation_concern.in_works).to eq [parent]
281
- end
282
- end
283
-
284
- context 'with multiple file sets' do
285
- let(:file_set1) { create(:file_set) }
286
- let(:file_set2) { create(:file_set) }
287
- let(:curation_concern) { create(:generic_work, user: user, ordered_members: [file_set1, file_set2], admin_set_id: admin_set.id) }
288
- let(:attributes) do
289
- attributes_for(:generic_work, ordered_member_ids: [file_set2.id, file_set1.id])
290
- end
291
-
292
- it 'updates the order of file sets' do
293
- expect(curation_concern.ordered_members.to_a).to eq [file_set1, file_set2]
294
- expect(subject.update(env)).to be true
295
-
296
- curation_concern.reload
297
- expect(curation_concern.ordered_members.to_a).to eq [file_set2, file_set1]
298
- end
299
- ## Is this something we want to support?
300
- context "when told to stop ordering a file set" do
301
- let(:attributes) do
302
- attributes_for(:generic_work, ordered_member_ids: [file_set2.id])
303
- end
304
-
305
- it "works" do
306
- expect(curation_concern.ordered_members.to_a).to eq [file_set1, file_set2]
307
-
308
- expect(subject.update(env)).to be true
309
-
310
- curation_concern.reload
311
- expect(curation_concern.ordered_members.to_a).to eq [file_set2]
312
- end
313
- end
314
- end
315
- end
316
- end
@@ -1,35 +0,0 @@
1
- RSpec.describe Hyrax::Actors::InitializeWorkflowActor do
2
- let(:user) { create(:user) }
3
- let(:ability) { ::Ability.new(user) }
4
- let(:curation_concern) { build(:generic_work) }
5
- let(:attributes) { { title: ['test'] } }
6
-
7
- let(:terminator) { Hyrax::Actors::Terminator.new }
8
- let(:env) { Hyrax::Actors::Environment.new(curation_concern, ability, attributes) }
9
-
10
- subject(:middleware) do
11
- stack = ActionDispatch::MiddlewareStack.new.tap do |middleware|
12
- middleware.use described_class
13
- middleware.use Hyrax::Actors::GenericWorkActor
14
- end
15
- stack.build(terminator)
16
- end
17
-
18
- describe 'the next actor' do
19
- it 'passes the attributes on' do
20
- expect(terminator).to receive(:create).with(Hyrax::Actors::Environment)
21
- subject.create(env)
22
- end
23
- end
24
-
25
- describe 'create' do
26
- let(:curation_concern) { build(:generic_work, admin_set: admin_set) }
27
- let!(:admin_set) { create(:admin_set, with_permission_template: { with_workflows: true }) }
28
-
29
- it 'creates an entity' do
30
- expect do
31
- expect(subject.create(env)).to be true
32
- end.to change { Sipity::Entity.count }.by(1)
33
- end
34
- end
35
- end
@@ -1,445 +0,0 @@
1
- RSpec.describe Hyrax::Actors::InterpretVisibilityActor do
2
- let(:user) { create(:user) }
3
- let(:ability) { ::Ability.new(user) }
4
- let(:curation_concern) { GenericWork.new }
5
- let(:attributes) { { admin_set_id: admin_set.id } }
6
- let(:admin_set) { create(:admin_set) }
7
- let(:permission_template) { create(:permission_template, source_id: admin_set.id) }
8
- let(:terminator) { Hyrax::Actors::Terminator.new }
9
- let(:one_year_from_today) { Time.zone.today + 1.year }
10
- let(:two_years_from_today) { Time.zone.today + 2.years }
11
- let(:date) { Time.zone.today + 2 }
12
- let(:env) { Hyrax::Actors::Environment.new(curation_concern, ability, attributes) }
13
-
14
- subject(:middleware) do
15
- stack = ActionDispatch::MiddlewareStack.new.tap do |middleware|
16
- middleware.use described_class
17
- middleware.use Hyrax::Actors::GenericWorkActor
18
- end
19
- stack.build(terminator)
20
- end
21
-
22
- describe 'the next actor' do
23
- let(:terminator) { instance_double(Hyrax::Actors::Terminator) }
24
-
25
- before do
26
- allow(curation_concern).to receive(:save).and_return(true)
27
- end
28
-
29
- context 'when visibility is set to open' do
30
- let(:attributes) do
31
- { visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC,
32
- visibility_during_embargo: 'restricted',
33
- visibility_after_embargo: 'open',
34
- embargo_release_date: date.to_s }
35
- end
36
-
37
- it 'does not receive the embargo attributes' do
38
- expect(terminator).to receive(:create).with(Hyrax::Actors::Environment) do |k|
39
- expect(k.attributes).to eq("visibility" => 'open')
40
- false
41
- end
42
- subject.create(env)
43
- end
44
- end
45
-
46
- context 'when visibility is set to embargo' do
47
- let(:attributes) do
48
- { visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
49
- visibility_during_embargo: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE,
50
- visibility_after_embargo: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC,
51
- embargo_release_date: date.to_s }
52
- end
53
-
54
- it 'does not receive the visibility attribute' do
55
- expect(terminator).to receive(:create).with(Hyrax::Actors::Environment) do |k|
56
- expect(k.attributes.keys).not_to include(:visibility)
57
- false
58
- end
59
- subject.create(env)
60
- end
61
-
62
- context 'when embargo_release_date is not set' do
63
- let(:attributes) { { visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO } }
64
-
65
- it 'does not clear the visibility attributes' do
66
- expect(subject.create(env)).to be false
67
- expect(attributes).to eq(visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO)
68
- end
69
- end
70
- end
71
-
72
- context 'when visibility is set to lease' do
73
- let(:attributes) do
74
- { visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE,
75
- visibility_during_lease: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE,
76
- visibility_after_lease: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC,
77
- lease_expiration_date: date.to_s }
78
- end
79
-
80
- it 'removes lease attributes' do
81
- expect(terminator).to receive(:create).with(Hyrax::Actors::Environment) do |k|
82
- expect(k.attributes.keys).not_to include(:visibility)
83
- false
84
- end
85
- subject.create(env)
86
- end
87
-
88
- context 'when lease_expiration_date is not set' do
89
- let(:attributes) { { visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE } }
90
-
91
- it 'sets error on curation_concern and return false' do
92
- expect(subject.create(env)).to be false
93
- expect(attributes).to eq(visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE)
94
- end
95
- end
96
- end
97
- end
98
-
99
- describe 'create' do
100
- context 'with embargo' do
101
- let(:attributes) do
102
- { title: ['New embargo'], visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
103
- visibility_during_embargo: 'authenticated', embargo_release_date: date.to_s,
104
- visibility_after_embargo: 'open', visibility_during_lease: 'open',
105
- lease_expiration_date: '2014-06-12', visibility_after_lease: 'restricted',
106
- license: ['http://creativecommons.org/licenses/by/3.0/us/'] }
107
- end
108
-
109
- context 'with a valid embargo date (and no template requirements)' do
110
- let(:date) { Time.zone.today + 2 }
111
-
112
- it 'interprets and apply embargo and lease visibility settings' do
113
- subject.create(env)
114
- expect(curation_concern.visibility_during_embargo).to eq 'authenticated'
115
- expect(curation_concern.visibility_after_embargo).to eq 'open'
116
- expect(curation_concern.visibility).to eq 'authenticated'
117
- end
118
- end
119
-
120
- context "embargo with invalid embargo date" do
121
- let(:attributes) do
122
- { title: ['New embargo'],
123
- admin_set_id: admin_set.id,
124
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
125
- embargo_release_date: 'ffff' }
126
- end
127
-
128
- it "returns false and logs error on date field" do
129
- permission_template # Ensuring permission_template is loaded
130
- expect(subject.create(env)).to be false
131
- expect(curation_concern.errors[:embargo_release_date].first).to eq 'Must be a future date.'
132
- end
133
- end
134
-
135
- context 'when embargo_release_date is in the past' do
136
- let(:date) { Time.zone.today - 2 }
137
-
138
- it 'sets error on curation_concern and return false' do
139
- expect(subject.create(env)).to be false
140
- expect(curation_concern.errors[:embargo_release_date].first).to eq 'Must be a future date.'
141
- end
142
- end
143
-
144
- context "embargo with missing embargo date" do
145
- let(:attributes) { { title: ['New embargo'], admin_set_id: admin_set.id, visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO } }
146
-
147
- it "returns false and logs error on visibility field" do
148
- permission_template # Ensuring permission_template is loaded
149
- expect(subject.create(env)).to be false
150
- expect(curation_concern.errors[:visibility].first).to eq 'When setting visibility to "embargo" you must also specify embargo release date.'
151
- end
152
- end
153
-
154
- context "embargo with date = one year from today, and required embargo of 6 months or less" do
155
- let(:permission_template) { create(:permission_template, source_id: admin_set.id, release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_6_MONTHS) }
156
- let(:attributes) do
157
- { title: ['New embargo'],
158
- admin_set_id: admin_set.id,
159
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
160
- embargo_release_date: one_year_from_today.to_s }
161
- end
162
-
163
- it "returns false and logs error on date field" do
164
- permission_template.reload
165
- expect(subject.create(env)).to be false
166
- expect(curation_concern.errors[:embargo_release_date].first).to eq 'Release date specified does not match permission template release requirements for selected AdminSet.'
167
- end
168
- end
169
-
170
- context "embargo with date = one year from today, and required embargo of 1 year or less" do
171
- let(:permission_template) do
172
- create(:permission_template,
173
- source_id: admin_set.id,
174
- release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_1_YEAR)
175
- end
176
- let(:attributes) do
177
- { title: ['New embargo'],
178
- admin_set_id: admin_set.id,
179
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
180
- embargo_release_date: one_year_from_today.to_s }
181
- end
182
-
183
- it "returns true" do
184
- permission_template.reload
185
- expect(subject.create(env)).to be true
186
- end
187
- end
188
-
189
- context "embargo with date that doesn't match a required, fixed date" do
190
- let(:permission_template) do
191
- create(:permission_template,
192
- source_id: admin_set.id,
193
- release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_FIXED,
194
- release_date: one_year_from_today.to_s)
195
- end
196
- let(:attributes) do
197
- { title: ['New embargo'],
198
- admin_set_id: admin_set.id,
199
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
200
- embargo_release_date: two_years_from_today.to_s }
201
- end
202
-
203
- it "returns false and logs error on date field" do
204
- permission_template.reload
205
- expect(subject.create(env)).to be false
206
- expect(curation_concern.errors[:embargo_release_date].first).to eq 'Release date specified does not match permission template release requirements for selected AdminSet.'
207
- end
208
- end
209
-
210
- context "embargo with date matching the required, fixed date" do
211
- let(:permission_template) do
212
- create(:permission_template,
213
- source_id: admin_set.id,
214
- release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_FIXED,
215
- release_date: two_years_from_today.to_s)
216
- end
217
- let(:attributes) do
218
- { title: ['New embargo'],
219
- admin_set_id: admin_set.id,
220
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
221
- embargo_release_date: two_years_from_today.to_s }
222
- end
223
-
224
- it "returns true" do
225
- permission_template.reload
226
- expect(subject.create(env)).to be true
227
- end
228
- end
229
-
230
- context "embargo with valid embargo date and invalid post-embargo visibility" do
231
- let(:permission_template) do
232
- create(:permission_template,
233
- source_id: admin_set.id,
234
- release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_1_YEAR,
235
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC)
236
- end
237
- let(:attributes) do
238
- { title: ['New embargo'],
239
- admin_set_id: admin_set.id,
240
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
241
- embargo_release_date: one_year_from_today.to_s,
242
- visibility_after_embargo: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED }
243
- end
244
-
245
- it "returns false and logs error on visibility field" do
246
- permission_template.reload
247
- expect(subject.create(env)).to be false
248
- expect(curation_concern.errors[:visibility_after_embargo].first).to eq 'Visibility after embargo does not match permission template visibility requirements for selected AdminSet.'
249
- end
250
- end
251
-
252
- context "embargo with valid embargo date and valid post-embargo visibility" do
253
- let(:permission_template) do
254
- create(:permission_template,
255
- source_id: admin_set.id,
256
- release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_1_YEAR,
257
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC)
258
- end
259
- let(:attributes) do
260
- { title: ['New embargo'],
261
- admin_set_id: admin_set.id,
262
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
263
- embargo_release_date: one_year_from_today.to_s,
264
- visibility_after_embargo: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC }
265
- end
266
-
267
- it "returns true" do
268
- permission_template.reload
269
- expect(subject.create(env)).to be true
270
- end
271
- end
272
-
273
- context "embargo with public visibility and public visibility required (no specified release_period in template)" do
274
- let(:permission_template) do
275
- create(:permission_template,
276
- source_id: admin_set.id,
277
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC)
278
- end
279
- let(:attributes) do
280
- { title: ['New embargo'],
281
- admin_set_id: admin_set.id,
282
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
283
- embargo_release_date: one_year_from_today.to_s,
284
- visibility_after_embargo: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC }
285
- end
286
-
287
- it "returns true" do
288
- permission_template.reload
289
- expect(subject.create(env)).to be true
290
- end
291
- end
292
-
293
- context "embargo with public visibility and authenticated visibility required (no specified release_period in template)" do
294
- let(:permission_template) do
295
- create(:permission_template,
296
- source_id: admin_set.id,
297
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED)
298
- end
299
- let(:attributes) do
300
- { title: ['New embargo'],
301
- admin_set_id: admin_set.id,
302
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
303
- embargo_release_date: one_year_from_today.to_s,
304
- visibility_after_embargo: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC }
305
- end
306
-
307
- it "returns false and logs error on visibility field" do
308
- permission_template.reload
309
- expect(subject.create(env)).to be false
310
- expect(curation_concern.errors[:visibility_after_embargo].first).to eq 'Visibility after embargo does not match permission template visibility requirements for selected AdminSet.'
311
- end
312
- end
313
-
314
- context "embargo when no release delays are allowed" do
315
- let(:permission_template) do
316
- create(:permission_template,
317
- source_id: admin_set.id,
318
- release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_NO_DELAY)
319
- end
320
- let(:attributes) do
321
- { title: ['New embargo'],
322
- admin_set_id: admin_set.id,
323
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO,
324
- embargo_release_date: one_year_from_today.to_s }
325
- end
326
-
327
- it "returns false and logs error on visiblity field" do
328
- permission_template.reload
329
- expect(subject.create(env)).to be false
330
- expect(curation_concern.errors[:visibility].first).to eq 'Visibility specified does not match permission template "no release delay" requirement for selected AdminSet.'
331
- end
332
- end
333
-
334
- context "no embargo/lease when no release delays are allowed" do
335
- let(:permission_template) { create(:permission_template, source_id: admin_set.id, release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_NO_DELAY) }
336
- let(:attributes) { { title: ['New embargo'], admin_set_id: admin_set.id, visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC } }
337
-
338
- it "returns true" do
339
- permission_template.reload
340
- expect(subject.create(env)).to be true
341
- end
342
- end
343
-
344
- context "visibility public (no embargo) when visibility required to be authenticated" do
345
- let(:permission_template) do
346
- create(:permission_template,
347
- source_id: admin_set.id,
348
- release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_NO_DELAY,
349
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED)
350
- end
351
- let(:attributes) { { title: ['New embargo'], admin_set_id: admin_set.id, visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC } }
352
-
353
- it "returns false and logs an error on visibility field" do
354
- permission_template.reload
355
- expect(subject.create(env)).to be false
356
- expect(curation_concern.errors[:visibility].first).to eq 'Visibility specified does not match permission template visibility requirement for selected AdminSet.'
357
- end
358
- end
359
-
360
- context "visibility public (no embargo) and visibility required to be public" do
361
- let(:permission_template) do
362
- create(:permission_template,
363
- source_id: admin_set.id,
364
- release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_NO_DELAY,
365
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC)
366
- end
367
- let(:attributes) { { title: ['New embargo'], admin_set_id: admin_set.id, visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC } }
368
-
369
- it "returns true" do
370
- permission_template.reload
371
- expect(subject.create(env)).to be true
372
- end
373
- end
374
-
375
- context "lease specified with any release/visibility requirements" do
376
- let(:permission_template) do
377
- create(:permission_template,
378
- source_id: admin_set.id,
379
- release_period: Hyrax::PermissionTemplate::RELEASE_TEXT_VALUE_1_YEAR,
380
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC)
381
- end
382
- let(:attributes) do
383
- { title: ['New embargo'],
384
- admin_set_id: admin_set.id,
385
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE,
386
- lease_expiration_date: one_year_from_today.to_s,
387
- visibility_after_lease: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC }
388
- end
389
-
390
- it "returns false and logs an error on visibility field" do
391
- permission_template.reload
392
- expect(subject.create(env)).to be false
393
- expect(env.curation_concern.errors[:visibility].first).to eq 'Lease option is not allowed by permission template for selected AdminSet.'
394
- end
395
- end
396
-
397
- context "lease specified with NO release/visibility requirements" do
398
- let(:permission_template) { create(:permission_template, source_id: admin_set.id) }
399
- let(:attributes) do
400
- { title: ['New embargo'],
401
- admin_set_id: admin_set.id,
402
- visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE,
403
- lease_expiration_date: one_year_from_today.to_s,
404
- visibility_after_lease: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC }
405
- end
406
-
407
- it "returns true" do
408
- permission_template.reload
409
- expect(subject.create(env)).to be true
410
- end
411
- end
412
- end
413
-
414
- context 'with lease' do
415
- let(:attributes) do
416
- { title: ['New embargo'], visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE,
417
- visibility_during_embargo: 'authenticated', embargo_release_date: '2099-05-12',
418
- visibility_after_embargo: 'open', visibility_during_lease: 'open',
419
- lease_expiration_date: date.to_s, visibility_after_lease: 'restricted',
420
- license: ['http://creativecommons.org/licenses/by/3.0/us/'] }
421
- end
422
-
423
- context 'with a valid lease date' do
424
- let(:date) { Time.zone.today + 2 }
425
-
426
- it 'interprets and apply embargo and lease visibility settings' do
427
- subject.create(env)
428
- expect(curation_concern.embargo_release_date).to be_nil
429
- expect(curation_concern.visibility_during_lease).to eq 'open'
430
- expect(curation_concern.visibility_after_lease).to eq 'restricted'
431
- expect(curation_concern.visibility).to eq 'open'
432
- end
433
- end
434
-
435
- context 'when lease_expiration_date is in the past' do
436
- let(:date) { Time.zone.today - 2 }
437
-
438
- it 'sets error on curation_concern and return false' do
439
- expect(subject.create(env)).to be false
440
- expect(curation_concern.errors[:lease_expiration_date].first).to eq 'Must be a future date'
441
- end
442
- end
443
- end
444
- end
445
- end