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,31 +0,0 @@
1
- RSpec.describe Hyrax::Admin::FeaturesController do
2
- describe "#index" do
3
- before do
4
- sign_in user
5
- end
6
- let(:user) { create(:user) }
7
-
8
- context "when not authorized" do
9
- it "redirects away" do
10
- get :index
11
- expect(response).to redirect_to root_path
12
- end
13
- end
14
-
15
- context "when authorized" do
16
- before do
17
- allow(controller).to receive_messages(current_user: user)
18
- expect(user).to receive(:groups).and_return(['admin', 'registered'])
19
- end
20
-
21
- it "is successful" do
22
- expect(controller).to receive(:add_breadcrumb).with('Home', root_path)
23
- expect(controller).to receive(:add_breadcrumb).with('Dashboard', dashboard_path)
24
- expect(controller).to receive(:add_breadcrumb).with('Configuration', '#')
25
- expect(controller).to receive(:add_breadcrumb).with('Features', admin_features_path)
26
- get :index
27
- expect(response).to be_success
28
- end
29
- end
30
- end
31
- end
@@ -1,101 +0,0 @@
1
- RSpec.describe Hyrax::Admin::PermissionTemplateAccessesController do
2
- routes { Hyrax::Engine.routes }
3
- before do
4
- sign_in create(:user)
5
- end
6
- let(:hyrax) { Hyrax::Engine.routes.url_helpers }
7
- let(:permission_template_access) { create(:permission_template_access) }
8
- let(:source_id) { permission_template_access.permission_template.source_id }
9
-
10
- describe "destroy" do
11
- context "without admin privleges" do
12
- before do
13
- allow(controller.current_ability).to receive(:test_edit).with(source_id).and_return(false)
14
- end
15
- it "is unauthorized" do
16
- delete :destroy, params: { id: permission_template_access }
17
- expect(response).to be_unauthorized
18
- end
19
- end
20
-
21
- context "when signed in as an admin" do
22
- # TODO: Need test that shows delete of admin group form depositors and viewers is allowed
23
- let(:permission_template_access) do
24
- create(:permission_template_access,
25
- :manage,
26
- permission_template: permission_template,
27
- agent_type: agent_type,
28
- agent_id: agent_id)
29
- end
30
-
31
- context 'when source is an admin set' do
32
- let(:permission_template) { create(:permission_template, source_id: admin_set.id) }
33
- let(:admin_set) { create(:admin_set, edit_users: ['Liz']) }
34
-
35
- context 'when deleting the admin users group' do
36
- let(:agent_type) { 'group' }
37
- let(:agent_id) { 'admin' }
38
-
39
- it "is fails" do
40
- expect(controller).to receive(:authorize!).with(:destroy, permission_template_access)
41
- expect do
42
- delete :destroy, params: { id: permission_template_access }
43
- end.not_to change { Hyrax::PermissionTemplateAccess.count }
44
- expect(response).to redirect_to(hyrax.edit_admin_admin_set_path(source_id, locale: 'en', anchor: 'participants'))
45
- expect(flash[:notice]).not_to eq I18n.t('participants', scope: 'hyrax.admin.admin_sets.form.permission_update_notices')
46
- expect(flash[:alert]).to eq 'The repository administrators group cannot be removed'
47
- end
48
- end
49
-
50
- context 'with deleting any agent other than the admin users group' do
51
- let(:agent_type) { 'user' }
52
- let(:agent_id) { 'Liz' }
53
-
54
- it "is successful" do
55
- expect(controller).to receive(:authorize!).with(:destroy, permission_template_access)
56
- expect do
57
- delete :destroy, params: { id: permission_template_access }
58
- end.to change { Hyrax::PermissionTemplateAccess.count }.by(-1)
59
- expect(response).to redirect_to(hyrax.edit_admin_admin_set_path(source_id, locale: 'en', anchor: 'participants'))
60
- expect(flash[:notice]).to eq(I18n.t('participants', scope: 'hyrax.admin.admin_sets.form.permission_update_notices'))
61
- expect(admin_set.reload.edit_users).to be_empty
62
- end
63
- end
64
- end
65
-
66
- context 'when source is a collection' do
67
- let(:permission_template) { create(:permission_template, source_id: collection.id) }
68
- let(:collection) { create(:collection, edit_users: ['Liz']) }
69
-
70
- context 'when deleting the admin users group' do
71
- let(:agent_type) { 'group' }
72
- let(:agent_id) { 'admin' }
73
-
74
- it "fails" do
75
- expect(controller).to receive(:authorize!).with(:destroy, permission_template_access)
76
- expect do
77
- delete :destroy, params: { id: permission_template_access }
78
- end.not_to change { Hyrax::PermissionTemplateAccess.count }
79
- expect(response).to redirect_to(hyrax.edit_dashboard_collection_path(source_id, locale: 'en', anchor: 'sharing'))
80
- expect(flash[:notice]).not_to eq I18n.t('sharing', scope: 'hyrax.dashboard.collections.form.permission_update_notices')
81
- expect(flash[:alert]).to eq 'The repository administrators group cannot be removed'
82
- end
83
- end
84
-
85
- context 'with deleting any agent other than the admin users group' do
86
- let(:agent_type) { 'user' }
87
- let(:agent_id) { 'Liz' }
88
-
89
- it "is successful" do
90
- expect(controller).to receive(:authorize!).with(:destroy, permission_template_access)
91
- expect do
92
- delete :destroy, params: { id: permission_template_access }
93
- end.to change { Hyrax::PermissionTemplateAccess.count }.by(-1)
94
- expect(response).to redirect_to(hyrax.edit_dashboard_collection_path(source_id, locale: 'en', anchor: 'sharing'))
95
- expect(flash[:notice]).to eq(I18n.t('sharing', scope: 'hyrax.dashboard.collections.form.permission_update_notices'))
96
- end
97
- end
98
- end
99
- end
100
- end
101
- end
@@ -1,71 +0,0 @@
1
- RSpec.describe Hyrax::Admin::PermissionTemplatesController do
2
- routes { Hyrax::Engine.routes }
3
- before do
4
- sign_in create(:user)
5
- allow(Hyrax::Forms::PermissionTemplateForm).to receive(:new).with(permission_template).and_return(form)
6
- end
7
- let(:hyrax) { Hyrax::Engine.routes.url_helpers }
8
- let(:form) { instance_double(Hyrax::Forms::PermissionTemplateForm) }
9
-
10
- context "without admin privleges" do
11
- describe "update" do
12
- let(:permission_template) { create(:permission_template) }
13
-
14
- before do
15
- allow(controller.current_ability).to receive(:can?).with(:update, permission_template).and_return(false)
16
- end
17
-
18
- it "is unauthorized for admin sets" do
19
- # This spec was not firing as expected. It was getting a nil permission template. This mock expectation is a bit
20
- # odd, but it needs to go rather deep into CanCan to behave accordingly.
21
- put :update, params: { id: permission_template, admin_set_id: permission_template.source_id }
22
- expect(assigns(:permission_template)).to eq(permission_template)
23
- expect(response).to be_unauthorized
24
- end
25
-
26
- it "is unauthorized for collections" do
27
- # This spec was not firing as expected. It was getting a nil permission template. This mock expectation is a bit
28
- # odd, but it needs to go rather deep into CanCan to behave accordingly.
29
- put :update, params: { id: permission_template, collection_id: permission_template.source_id }
30
- expect(assigns(:permission_template)).to eq(permission_template)
31
- expect(response).to be_unauthorized
32
- end
33
- end
34
- end
35
-
36
- context "when signed in as an admin" do
37
- let!(:permission_template) { create(:permission_template) }
38
- let(:grant_attributes) { [{ "agent_type" => "user", "agent_id" => "bob", "access" => "view" }] }
39
- let(:form_attributes) { { visibility: 'open', access_grants_attributes: grant_attributes } }
40
-
41
- describe "update admin set participants" do
42
- let(:input_params) do
43
- { admin_set_id: permission_template.source_id,
44
- permission_template: form_attributes }
45
- end
46
-
47
- it "is successful" do
48
- expect(controller).to receive(:authorize!).with(:update, Hyrax::PermissionTemplate)
49
- expect(form).to receive(:update).with(ActionController::Parameters.new(form_attributes).permit!).and_return(updated: true, content_tab: 'participants')
50
- put :update, params: input_params
51
- expect(response).to redirect_to(hyrax.edit_admin_admin_set_path(permission_template.source_id, locale: 'en', anchor: 'participants'))
52
- expect(flash[:notice]).to eq(I18n.t('participants', scope: 'hyrax.admin.admin_sets.form.permission_update_notices'))
53
- end
54
- end
55
-
56
- describe "update collection participants" do
57
- let(:input_params) do
58
- { collection_id: permission_template.source_id,
59
- permission_template: form_attributes }
60
- end
61
-
62
- it "is successful" do
63
- expect(controller).to receive(:authorize!).with(:update, Hyrax::PermissionTemplate)
64
- expect(form).to receive(:update).with(ActionController::Parameters.new(form_attributes).permit!).and_return(updated: true, content_tab: 'sharing')
65
- put :update, params: input_params
66
- expect(response).to redirect_to(hyrax.edit_dashboard_collection_path(permission_template.source_id, locale: 'en', anchor: 'sharing'))
67
- expect(flash[:notice]).to eq(I18n.t('sharing', scope: 'hyrax.dashboard.collections.form.permission_update_notices'))
68
- end
69
- end
70
- end
71
- end
@@ -1,61 +0,0 @@
1
- RSpec.describe Hyrax::Admin::StatsController, type: :controller do
2
- let(:user) { create(:user) }
3
-
4
- context "a non admin" do
5
- describe "#show" do
6
- it 'is unauthorized' do
7
- get :show
8
- expect(response).to be_redirect
9
- end
10
- end
11
- end
12
-
13
- context "as an admin" do
14
- before do
15
- allow(controller).to receive(:authorize!).and_return(true)
16
- end
17
-
18
- describe "#show" do
19
- let(:expected_params) do
20
- ActionController::Parameters.new
21
- end
22
-
23
- it 'allows an authorized user to view the page' do
24
- get :show
25
-
26
- expect(response).to be_success
27
- expect(assigns[:presenter]).to be_kind_of Hyrax::AdminStatsPresenter
28
- expect(assigns[:presenter])
29
- .to have_attributes(limit: 5, stats_filters: {})
30
- end
31
-
32
- context 'with a custom presenter' do
33
- let(:presenter_class) { Class.new(Hyrax::AdminStatsPresenter) }
34
-
35
- before { described_class.admin_stats_presenter = presenter_class }
36
-
37
- it 'allows an authorized user to view the page' do
38
- get :show
39
-
40
- expect(assigns[:presenter]).to be_kind_of presenter_class
41
- expect(assigns[:presenter])
42
- .to have_attributes(limit: 5, stats_filters: {})
43
- end
44
- end
45
-
46
- context 'with custom stats services' do
47
- let(:by_depositor_class) { Class.new(Hyrax::Statistics::Works::ByDepositor) }
48
- let(:service_config) { { by_depositor: by_depositor_class } }
49
-
50
- before { described_class.admin_stats_services = service_config }
51
-
52
- it 'allows an authorized user to view the page' do
53
- get :show
54
-
55
- expect(assigns[:presenter])
56
- .to have_attributes(by_depositor: by_depositor_class)
57
- end
58
- end
59
- end
60
- end
61
- end
@@ -1,39 +0,0 @@
1
- RSpec.describe Hyrax::Admin::StrategiesController do
2
- describe "#update" do
3
- before do
4
- # Added when Flipflop bumped to 2.3.2. See also https://github.com/voormedia/flipflop/issues/26
5
- Flipflop::FeatureSet.current.instance_variable_set(:@features, original_feature_hash.merge(feature_id => feature))
6
-
7
- sign_in user
8
- end
9
-
10
- after do
11
- Flipflop::FeatureSet.current.instance_variable_set(:@features, original_feature_hash)
12
- end
13
-
14
- let(:original_feature_hash) { Flipflop::FeatureSet.current.instance_variable_get(:@features) }
15
- let(:user) { create(:user) }
16
- let(:strategy) { Flipflop::Strategies::ActiveRecordStrategy.new(class: Hyrax::Feature).key }
17
- let(:feature) { double('feature', id: feature_id, key: 'foo') }
18
- let(:feature_id) { :my_feature }
19
-
20
- context "when not authorized" do
21
- it "redirects away" do
22
- patch :update, params: { feature_id: feature.id, id: strategy }
23
- expect(response).to redirect_to root_path
24
- end
25
- end
26
-
27
- context "when authorized" do
28
- before do
29
- allow(controller).to receive_messages(current_user: user)
30
- expect(user).to receive(:groups).and_return(['admin', 'registered'])
31
- end
32
-
33
- it "is successful" do
34
- patch :update, params: { feature_id: feature.id, id: strategy }
35
- expect(response).to redirect_to Hyrax::Engine.routes.url_helpers.admin_features_path(locale: 'en')
36
- end
37
- end
38
- end
39
- end
@@ -1,17 +0,0 @@
1
- RSpec.describe Hyrax::Admin::UsersController, type: :controller do
2
- before do
3
- expect(controller).to receive(:authorize!).with(:read, :admin_dashboard).and_return(true)
4
- end
5
-
6
- describe "#index" do
7
- it "is successful" do
8
- expect(controller).to receive(:add_breadcrumb).with(I18n.t('hyrax.controls.home'), root_path)
9
- expect(controller).to receive(:add_breadcrumb).with(I18n.t('hyrax.dashboard.breadcrumbs.admin'), dashboard_path)
10
- expect(controller).to receive(:add_breadcrumb).with(I18n.t('hyrax.admin.users.index.title'), admin_users_path)
11
-
12
- get :index
13
- expect(response).to be_successful
14
- expect(assigns[:presenter]).to be_kind_of Hyrax::Admin::UsersPresenter
15
- end
16
- end
17
- end
@@ -1,76 +0,0 @@
1
- RSpec.describe Hyrax::Admin::WorkflowRolesController do
2
- describe '#index' do
3
- context "when you have permission" do
4
- before do
5
- allow(controller).to receive(:authorize!).with(:read, :admin_dashboard).and_return(true)
6
- end
7
-
8
- it "is successful" do
9
- expect(controller).to receive(:add_breadcrumb).with('Home', root_path(locale: 'en'))
10
- expect(controller).to receive(:add_breadcrumb).with('Dashboard', dashboard_path(locale: 'en'))
11
- expect(controller).to receive(:add_breadcrumb).with('Workflow Roles', admin_workflow_roles_path(locale: 'en'))
12
- get :index
13
- expect(response).to be_success
14
- expect(assigns[:presenter]).to be_kind_of Hyrax::Admin::WorkflowRolesPresenter
15
- expect(response).to render_template('hyrax/dashboard')
16
- end
17
- end
18
-
19
- context "when they don't have permission" do
20
- it "throws a CanCan error" do
21
- get :index
22
- expect(response).to redirect_to main_app.new_user_session_path(locale: 'en')
23
- end
24
- end
25
- end
26
-
27
- describe '#create' do
28
- context 'when you have permission' do
29
- let(:form) { instance_double(Hyrax::Forms::WorkflowResponsibilityForm, save!: true) }
30
-
31
- before do
32
- allow(controller).to receive(:authorize!).with(:read, :admin_dashboard).and_return(true)
33
- allow(controller).to receive(:authorize!).and_return(true)
34
- allow(Hyrax::Forms::WorkflowResponsibilityForm).to receive(:new).and_return(form)
35
- end
36
-
37
- it 'is successful' do
38
- post :create, params: { sipity_workflow_responsibility: {} }
39
- expect(controller).to have_received(:authorize!).with(:create, Sipity::WorkflowResponsibility)
40
- expect(form).to have_received(:save!)
41
- expect(response).to redirect_to admin_workflow_roles_path
42
- end
43
- end
44
-
45
- context "when they don't have permission" do
46
- it 'throws a CanCan error' do
47
- post :create, params: { sipity_workflow_responsibility: {} }
48
- expect(response).to redirect_to main_app.new_user_session_path(locale: 'en')
49
- end
50
- end
51
- end
52
-
53
- describe '#destroy' do
54
- context "when you have permission" do
55
- let(:responsibility) { mock_model(Sipity::WorkflowResponsibility) }
56
-
57
- before do
58
- allow(controller).to receive(:authorize!).and_return(true)
59
- allow(Sipity::WorkflowResponsibility).to receive(:find).with('1').and_return(responsibility)
60
- end
61
-
62
- it "is successful" do
63
- delete :destroy, params: { id: 1 }
64
- expect(controller).to have_received(:authorize!).with(:destroy, Sipity::WorkflowResponsibility)
65
- expect(response).to redirect_to admin_workflow_roles_path
66
- end
67
- end
68
-
69
- context "when they don't have permission" do
70
- it "throws a CanCan error" do
71
- get :index
72
- expect(response).to redirect_to main_app.new_user_session_path(locale: 'en')
73
- end
74
- end
75
- end
76
- end
@@ -1,18 +0,0 @@
1
- RSpec.describe Hyrax::Admin::WorkflowsController do
2
- describe "#index" do
3
- before do
4
- expect(controller).to receive(:authorize!).with(:review, :submissions).and_return(true)
5
- end
6
- it "is successful" do
7
- expect(controller).to receive(:add_breadcrumb).with('Home', root_path)
8
- expect(controller).to receive(:add_breadcrumb).with('Dashboard', dashboard_path)
9
- expect(controller).to receive(:add_breadcrumb).with('Tasks', '#')
10
- expect(controller).to receive(:add_breadcrumb).with('Review Submissions', "/admin/workflows")
11
-
12
- get :index
13
- expect(response).to be_successful
14
- expect(assigns[:status_list]).to be_kind_of Hyrax::Workflow::StatusListService
15
- expect(assigns[:published_list]).to be_kind_of Hyrax::Workflow::StatusListService
16
- end
17
- end
18
- end
@@ -1,404 +0,0 @@
1
- RSpec.describe Hyrax::API::ItemsController, type: :controller do
2
- let(:arkivo_actor) { double Hyrax::Arkivo::Actor }
3
- let!(:user) { create(:user) }
4
- let!(:default_work) do
5
- create(:work,
6
- title: ['Foo Bar'],
7
- user: user,
8
- arkivo_checksum: '6872d21557992f6ad1d07375f19fbfaf')
9
- end
10
-
11
- before do
12
- # Mock Arkivo Actor
13
- allow(controller).to receive(:actor).and_return(arkivo_actor)
14
- # Don't test characterization on these items; it breaks TravisCI and it's slow
15
- allow(CharacterizeJob).to receive(:perform_later)
16
- end
17
-
18
- subject { response }
19
-
20
- context 'with an HTTP GET or HEAD' do
21
- let(:token) { user.arkivo_token }
22
- let(:item) { FactoryBot.json(:post_item, token: token) }
23
- let(:item_hash) { JSON.parse(item) }
24
-
25
- context 'with a missing token' do
26
- before { get :show, params: { format: :json, id: default_work.id } }
27
-
28
- it "is unauthorized" do
29
- expect(subject).to have_http_status(401)
30
- expect(subject.body).to include('invalid user token:')
31
- end
32
- end
33
-
34
- context 'with an unfamiliar token' do
35
- before { get :show, params: { format: :json, id: default_work.id, token: get_token } }
36
- let(:get_token) { 'foobar' }
37
-
38
- it "is unauthorized" do
39
- expect(subject).to have_http_status(401)
40
- expect(subject.body).to include("invalid user token: #{get_token}")
41
- end
42
- end
43
-
44
- context 'with an unauthorized resource' do
45
- before do
46
- allow_any_instance_of(User).to receive(:can?).with(:edit, default_work) { false }
47
- get :show, params: { format: :json, id: default_work.id, token: token }
48
- end
49
-
50
- it 'is unauthorized' do
51
- expect(subject).to have_http_status(401)
52
- expect(assigns[:work]).to eq default_work
53
- expect(subject.body).to include("#{user} lacks access to #{default_work}")
54
- end
55
- end
56
-
57
- context 'with a resource not deposited via Arkivo' do
58
- before do
59
- allow_any_instance_of(GenericWork).to receive(:arkivo_checksum) { nil }
60
- get :show, params: { format: :json, id: default_work.id, token: token }
61
- end
62
-
63
- it "is forbidden" do
64
- expect(subject).to have_http_status(403)
65
- expect(subject.body).to include("Forbidden: #{default_work} not deposited via Arkivo")
66
- end
67
- end
68
-
69
- context 'with a resource not found in the repository' do
70
- let(:relation) { double }
71
-
72
- before do
73
- allow(Hyrax::WorkRelation).to receive(:new).and_return(relation)
74
- allow(relation).to receive(:find).with(default_work.id).and_raise(ActiveFedora::ObjectNotFoundError)
75
- get :show, params: { format: :json, id: default_work.id, token: token }
76
- end
77
-
78
- it "is not found" do
79
- expect(subject).to have_http_status(404)
80
- expect(subject.body).to include("id '#{default_work.id}' not found")
81
- end
82
- end
83
-
84
- context 'with an authorized Arkivo-deposited resource' do
85
- before { get :show, params: { format: :json, id: default_work.id, token: token } }
86
-
87
- specify do
88
- expect(subject).to have_http_status(204)
89
- expect(subject.body).to be_blank
90
- end
91
- end
92
- end
93
-
94
- context 'with an HTTP POST' do
95
- context 'without an item' do
96
- before { post :create, params: { format: :json } }
97
-
98
- it "is an bad request" do
99
- expect(subject).to have_http_status(400)
100
- expect(subject.body).to include('no item parameter')
101
- end
102
- end
103
-
104
- context 'with an invalid item' do
105
- before { post :create, body: item, params: { format: :json } }
106
- let(:item) { { foo: 'bar' }.to_json }
107
-
108
- it "is a bad request" do
109
- expect(subject).to have_http_status(400)
110
- expect(subject.body).to include('The property \'#/\' did not contain a required property of \'token\'')
111
- end
112
- end
113
-
114
- context 'post with a valid item and matching token' do
115
- let(:deposited_file) { FileSet.where(label: item_hash['file']['filename']).take }
116
- let(:a_work) { build :generic_work, id: '123' }
117
- let!(:token) { user.arkivo_token }
118
- let(:item) { FactoryBot.json(:post_item, token: token) }
119
- let(:item_hash) { JSON.parse(item) }
120
-
121
- before do
122
- # Mock arkivo actor functions
123
- allow(arkivo_actor).to receive(:create_work_from_item).and_return(a_work)
124
- # https://github.com/samvera/active_fedora/issues/1251
125
- allow(a_work).to receive(:persisted?).and_return(true)
126
- end
127
-
128
- it "delegates creating the work to the actor" do
129
- expect(arkivo_actor).to receive(:create_work_from_item)
130
- post :create, body: item, params: { format: :json }
131
- end
132
-
133
- # TODO: This test belongs in the Actor test as an integration test.
134
- specify do
135
- pending 'move test to arkivo actor spec as integration test.'
136
- expect(response).to be_success
137
- expect(response.status).to eq 201
138
- expect(response.headers['Location']).to match %r{/api/items/.{9}}
139
- expect(deposited_file).not_to be_nil
140
- expect(deposited_work.arkivo_checksum).to eq item_hash['file']['md5']
141
- expect(deposited_file.original_file.content).to eq "arkivo\n"
142
- expect(deposited_work.resource_type).to eq [item_hash['metadata']['resourceType']]
143
- expect(deposited_work.title).to eq [item_hash['metadata']['title']]
144
- expect(deposited_work.description).to eq [item_hash['metadata']['description']]
145
- expect(deposited_work.publisher).to eq [item_hash['metadata']['publisher']]
146
- expect(deposited_work.date_created).to eq [item_hash['metadata']['dateCreated']]
147
- expect(deposited_work.based_near).to eq [item_hash['metadata']['basedNear']]
148
- expect(deposited_work.identifier).to eq [item_hash['metadata']['identifier']]
149
- expect(deposited_work.related_url).to eq [item_hash['metadata']['url']]
150
- expect(deposited_work.language).to eq [item_hash['metadata']['language']]
151
- expect(deposited_work.rights).to eq [item_hash['metadata']['rights']]
152
- expect(deposited_work.keyword).to match_array item_hash['metadata']['tags']
153
- expect(deposited_work.creator).to match_array ['Doe, John', 'Babs McGee']
154
- expect(deposited_work.contributor).to match_array ['Nadal, Rafael', 'Jane Doeski']
155
- end
156
- end
157
-
158
- context 'with a valid item and unfamiliar token' do
159
- before { post :create, body: item, params: { format: :json } }
160
-
161
- let(:token) { 'unfamiliar_token' }
162
- let(:item) { FactoryBot.json(:post_item, token: token) }
163
-
164
- it "is unathorized" do
165
- expect(response).not_to be_success
166
- expect(subject.status).to eq 401
167
- expect(subject.body).to include("invalid user token: #{token}")
168
- end
169
- end
170
- end
171
-
172
- context 'with an HTTP PUT' do
173
- let(:put_item) { FactoryBot.json(:put_item, token: token) }
174
- let(:token) { user.arkivo_token }
175
- let(:gw) { build :generic_work, id: '123' }
176
- let(:relation) { double }
177
-
178
- before do
179
- # Mock ActiveFedora
180
- allow(Hyrax::WorkRelation).to receive(:new).and_return(relation)
181
- allow(relation).to receive(:find).with(gw.id).and_return(gw)
182
- # Mock Arkivo Actor
183
- allow(arkivo_actor).to receive(:update_work_from_item)
184
- end
185
-
186
- context 'put update with a valid item, matching token, and authorized resource' do
187
- let(:put_item_hash) { JSON.parse(put_item) }
188
-
189
- let(:validator) { double Hyrax::Arkivo::SchemaValidator }
190
-
191
- before do
192
- # Mock Arkivo Validator and Actor
193
- allow(Hyrax::Arkivo::SchemaValidator).to receive(:new).and_return(validator)
194
- allow(validator).to receive(:call).and_return(true)
195
- # Mock loading and authorizing
196
- allow(controller).to receive(:my_load_and_authorize_resource).and_return(gw)
197
- end
198
-
199
- it 'calls the arkivo actor to update the work' do
200
- expect(arkivo_actor).to receive(:update_work_from_item)
201
- request.env['RAW_POST_DATA'] = put_item
202
- put :update, params: { id: gw.id, format: :json }
203
- end
204
- end
205
-
206
- context 'with a valid item, matching token, authorized resource, but not Arkivo-deposited' do
207
- let(:non_arkivo_gw) { create :generic_work, id: 'abc123xyz', arkivo_checksum: nil }
208
- let(:relation) { double }
209
-
210
- before do
211
- # Mock user authorization
212
- allow(controller).to receive(:user).and_return(user)
213
- allow(user).to receive(:can?).and_return(true)
214
- # Mock ActiveFedora for non_arkivo_work
215
- allow(Hyrax::WorkRelation).to receive(:new).and_return(relation)
216
- allow(relation).to receive(:find).with(non_arkivo_gw.id).and_return(non_arkivo_gw)
217
-
218
- # Post an update to a work with a nil arkivo_checksum
219
- request.env['RAW_POST_DATA'] = put_item
220
- put :update, params: { id: non_arkivo_gw.id, format: :json }
221
- end
222
-
223
- it "is forbidden" do
224
- expect(subject).not_to be_success
225
- expect(subject.status).to eq 403
226
- expect(subject.body).to include("Forbidden: #{non_arkivo_gw} not deposited via Arkivo")
227
- end
228
- end
229
-
230
- context 'with a valid item, matching token, missing resource' do
231
- let(:relation) { double }
232
-
233
- before do
234
- allow(Hyrax::WorkRelation).to receive(:new).and_return(relation)
235
- allow(relation).to receive(:find).with(gw.id) do
236
- raise(ActiveFedora::ObjectNotFoundError)
237
- end
238
- request.env['RAW_POST_DATA'] = put_item
239
- put :update, params: { id: gw.id, format: :json }
240
- end
241
-
242
- it "is not found" do
243
- expect(subject).to have_http_status(404)
244
- expect(subject.body).to include("id '#{gw.id}' not found")
245
- end
246
- end
247
-
248
- context 'with a valid item, matching token, and unauthorized resource' do
249
- before do
250
- # Mock user authorization
251
- allow(controller).to receive(:user).and_return(user)
252
- allow(user).to receive(:can?).and_return(false)
253
- # Post an update with an resource unauthorized for the user
254
- request.env['RAW_POST_DATA'] = put_item
255
- put :update, params: { id: gw.id, format: :json }
256
- end
257
-
258
- it "is unauthorized" do
259
- expect(subject).not_to be_success
260
- expect(assigns[:work]).to eq gw
261
- expect(subject.status).to eq 401
262
- expect(subject.body).to include("#{user} lacks access to #{gw}")
263
- end
264
- end
265
-
266
- context 'with a valid item and unfamiliar token' do
267
- let(:bad_token) { 'unfamiliar_token' }
268
- let(:bad_token_item) { FactoryBot.json(:put_item, token: bad_token) }
269
-
270
- before do
271
- request.env['RAW_POST_DATA'] = bad_token_item
272
- put :update, params: { id: gw.id, format: :json }
273
- end
274
-
275
- it "is unauthorized" do
276
- expect(subject).not_to be_success
277
- expect(subject.status).to eq 401
278
- expect(subject.body).to include("invalid user token: #{bad_token}")
279
- end
280
- end
281
-
282
- context 'with an invalid item' do
283
- let(:invalid_item) { { foo: 'bar' }.to_json }
284
-
285
- before do
286
- request.env['RAW_POST_DATA'] = invalid_item
287
- put :update, params: { id: gw.id, format: :json }
288
- end
289
-
290
- it "is a bad request" do
291
- expect(subject).to have_http_status(400)
292
- expect(subject.body).to include('The property \'#/\' did not contain a required property of \'token\'')
293
- end
294
- end
295
- end
296
-
297
- context 'with an HTTP DELETE' do
298
- let(:token) { user.arkivo_token }
299
- let(:item) { FactoryBot.json(:post_item, token: token) }
300
- let(:item_hash) { JSON.parse(item) }
301
- let(:gw) { build :generic_work, id: '123' }
302
- let(:relation) { double }
303
-
304
- before do
305
- # Mock ActiveFedora
306
- allow(Hyrax::WorkRelation).to receive(:new).and_return(relation)
307
- allow(relation).to receive(:find).with(gw.id).and_return(gw)
308
- # Mock ArkivoActor destroy work
309
- allow(arkivo_actor).to receive(:destroy_work)
310
- end
311
-
312
- context 'with a missing token' do
313
- before { delete :destroy, params: { format: :json, id: gw.id } }
314
-
315
- it "is unauthorized." do
316
- expect(subject).to have_http_status(401)
317
- expect(subject.body).to include('invalid user token:')
318
- end
319
- end
320
-
321
- context 'with an unfamiliar token' do
322
- let(:bad_token) { 'foobar' }
323
-
324
- before do
325
- # Mock not being able to find the user due to bad token
326
- allow(controller).to receive(:user).and_return(nil)
327
- delete :destroy, params: { format: :json, id: gw.id, token: bad_token }
328
- end
329
-
330
- specify do
331
- expect(subject).to have_http_status(401)
332
- expect(subject.body).to include("invalid user token: #{bad_token}")
333
- end
334
- end
335
-
336
- context 'with an unauthorized resource' do
337
- before do
338
- # Mock user being unauthorized
339
- allow(controller).to receive(:user).and_return(user)
340
- allow(user).to receive(:can?).with(:edit, gw) { false }
341
- delete :destroy, params: { format: :json, id: gw.id, token: token }
342
- end
343
-
344
- it 'is unauthorized' do
345
- expect(subject).to have_http_status(401)
346
- expect(assigns[:work]).to eq gw
347
- expect(subject.body).to include("#{user} lacks access to #{gw}")
348
- end
349
- end
350
-
351
- context 'with a resource not deposited via Arkivo' do
352
- let(:non_arkivo_gw) { create :generic_work, id: 'xyz789abc', arkivo_checksum: nil }
353
-
354
- before do
355
- # Mock user authorization
356
- allow(controller).to receive(:user).and_return(user)
357
- allow(user).to receive(:can?).and_return(true)
358
- # Mock ActiveFedora for non_arkivo_work
359
- allow(Hyrax::WorkRelation).to receive(:new).and_return(relation)
360
- allow(relation).to receive(:find).with(non_arkivo_gw.id).and_return(non_arkivo_gw)
361
- # Make call to destroy
362
- delete :destroy, params: { format: :json, id: non_arkivo_gw.id, token: token }
363
- end
364
-
365
- it "is forbidden" do
366
- expect(subject).to have_http_status(403)
367
- expect(subject.body).to include("Forbidden: #{gw} not deposited via Arkivo")
368
- end
369
- end
370
-
371
- context 'with a resource not found in the repository' do
372
- let(:not_found_id) { '409' }
373
-
374
- before do
375
- # Mock ActiveFedora
376
- allow(Hyrax::WorkRelation).to receive(:new).and_return(relation)
377
- allow(relation).to receive(:find).with(not_found_id).and_raise(ActiveFedora::ObjectNotFoundError)
378
- delete :destroy, params: { format: :json, id: not_found_id, token: token }
379
- end
380
-
381
- it "is not found" do
382
- expect(subject).to have_http_status(404)
383
- expect(subject.body).to include("id '#{not_found_id}' not found")
384
- end
385
- end
386
-
387
- context 'with an authorized Arkivo-deposited resource' do
388
- before do
389
- # Mock user authorization
390
- allow(controller).to receive(:user).and_return(user)
391
- allow(user).to receive(:can?).and_return(true)
392
- # Mock loading and authorizing
393
- allow(controller).to receive(:my_load_and_authorize_resource).and_return(gw)
394
- end
395
-
396
- it "calls the actor to destroy the work" do
397
- expect(arkivo_actor).to receive(:destroy_work)
398
- delete :destroy, params: { format: :json, id: gw.id, token: token }
399
- expect(subject).to have_http_status(204)
400
- expect(subject.body).to be_blank
401
- end
402
- end
403
- end
404
- end