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,205 +0,0 @@
1
- RSpec.describe 'Adding a work to multiple collections', type: :feature, clean_repo: true, js: true do
2
- include Selectors::Dashboard
3
- let(:admin_user) { create(:admin, email: 'admin@example.com') }
4
- let(:single_membership_type_1) { create(:collection_type, :not_allow_multiple_membership, title: 'Single-membership 1') }
5
- let(:single_membership_type_2) { create(:collection_type, :not_allow_multiple_membership, title: 'Single-membership 2') }
6
- let(:multi_membership_type_1) { create(:collection_type, :allow_multiple_membership, title: 'Multi-membership 1') }
7
- let(:multi_membership_type_2) { create(:collection_type, :allow_multiple_membership, title: 'Multi-membership 2') }
8
-
9
- before do
10
- sign_in admin_user
11
- end
12
-
13
- describe 'when both collections support multiple membership' do
14
- let(:old_collection) { build(:collection_lw, user: admin_user, collection_type_gid: multi_membership_type_1.gid, title: ['OldCollectionTitle']) }
15
- let!(:work) { create(:generic_work, user: admin_user, member_of_collections: [old_collection], title: ['The highly valued work that everyone wants in their collection']) }
16
-
17
- context 'and are of different types' do
18
- let!(:new_collection) { create(:collection_lw, user: admin_user, collection_type_gid: multi_membership_type_2.gid, title: ['NewCollectionTitle']) }
19
-
20
- it 'then the work is added to both collections' do
21
- optional 'ability to get capybara to find css select2-result (see Issue #3038)' if ci_build?
22
- # Add to second multi-membership collection of a different type
23
- visit '/dashboard/my/works'
24
- check 'check_all'
25
- click_button 'Add to collection' # opens the modal
26
- select_member_of_collection(new_collection)
27
- click_button 'Save changes'
28
-
29
- # forwards to collection show page
30
- expect(page).to have_content new_collection.title.first
31
- expect(page).to have_content 'Works (1)'
32
- expect(page).to have_content work.title.first
33
- expect(page).to have_selector '.alert-success', text: 'Collection was successfully updated.'
34
- end
35
- end
36
-
37
- context 'and are of the same type' do
38
- let!(:new_collection) { create(:collection_lw, user: admin_user, collection_type_gid: multi_membership_type_1.gid, title: ['NewCollectionTitle']) }
39
-
40
- it 'then the work is added to both collections' do
41
- optional 'ability to get capybara to find css select2-result (see Issue #3038)' if ci_build?
42
- # Add to second multi-membership collection of a different type
43
- visit '/dashboard/my/works'
44
- check 'check_all'
45
- click_button 'Add to collection' # opens the modal
46
- select_member_of_collection(new_collection)
47
- click_button 'Save changes'
48
-
49
- # forwards to collection show page
50
- expect(page).to have_content new_collection.title.first
51
- expect(page).to have_content 'Works (1)'
52
- expect(page).to have_content work.title.first
53
- expect(page).to have_selector '.alert-success', text: 'Collection was successfully updated.'
54
- end
55
- end
56
- end
57
-
58
- describe 'when both collections require single membership' do
59
- let(:old_collection) { build(:collection_lw, user: admin_user, collection_type_gid: single_membership_type_1.gid, title: ['OldCollectionTitle']) }
60
- let!(:work) do
61
- create(:generic_work,
62
- user: admin_user,
63
- member_of_collections: [old_collection],
64
- title: ['The highly valued work that everyone wants in their collection'],
65
- creator: ["Fred"],
66
- keyword: ['test'], rights_statement: ['http://rightsstatements.org/vocab/InC/1.0/'])
67
- end
68
-
69
- context 'and are of different types' do
70
- let!(:new_collection) { create(:collection_lw, user: admin_user, collection_type_gid: single_membership_type_2.gid, title: ['NewCollectionTitle']) }
71
-
72
- it 'then the work is added to both collections' do
73
- optional 'ability to get capybara to find css select2-result (see Issue #3038)' if ci_build?
74
- # Add to second single-membership collection of a different type
75
- visit '/dashboard/my/works'
76
- check 'check_all'
77
- click_button 'Add to collection' # opens the modal
78
- select_member_of_collection(new_collection)
79
- click_button 'Save changes'
80
-
81
- # forwards to collection show page
82
- expect(page).to have_content new_collection.title.first
83
- expect(page).to have_content 'Works (1)'
84
- expect(page).to have_content work.title.first
85
- expect(page).to have_selector '.alert-success', text: 'Collection was successfully updated.'
86
- end
87
- end
88
-
89
- context 'and are of the same type' do
90
- let!(:new_collection) { create(:collection_lw, user: admin_user, collection_type_gid: single_membership_type_1.gid, title: ['NewCollectionTitle']) }
91
-
92
- context 'then the work fails to add to the second collection' do
93
- it 'from the dashboard->works batch add to collection' do
94
- optional 'ability to get capybara to find css select2-result (see Issue #3038)' if ci_build?
95
- # Attempt to add to second single-membership collection of the same type
96
- visit '/dashboard/my/works'
97
- check 'check_all'
98
- click_button 'Add to collection' # opens the modal
99
- select_member_of_collection(new_collection)
100
- click_button 'Save changes'
101
-
102
- # forwards to collections index page and shows flash message
103
- within('section.tabs-row') do
104
- expect(page).to have_link 'All Collections'
105
- expect(page).to have_link 'Your Collections'
106
- end
107
-
108
- err_message = "Error: You have specified more than one of the same single-membership collection type " \
109
- "(type: Single-membership 1, collections: #{new_collection.title.first} and #{old_collection.title.first})"
110
- expect(page).to have_selector '.alert', text: err_message
111
- end
112
-
113
- it "from the work's edit form Relationships tab", js: true do
114
- # Attempt to add to second single-membership collection of the same type
115
- visit edit_hyrax_generic_work_path(work)
116
- click_link "Relationships"
117
-
118
- select_collection(new_collection)
119
- check('agreement')
120
- sleep 3
121
- choose('generic_work_visibility_open')
122
- sleep 3
123
-
124
- within('div#savewidget') do
125
- element = nil
126
- all('input').each { |i| element = i if i.value == 'Save changes' }
127
- element.click
128
- end
129
-
130
- err_message = "Error: You have specified more than one of the same single-membership collection type " \
131
- "(type: Single-membership 1, collections: #{old_collection.title.first} and #{new_collection.title.first})"
132
- expect(page).to have_selector '.help-block', text: err_message
133
- end
134
-
135
- it "from the collection's show page Add to collection" do
136
- # Attempt to add to second single-membership collection of the same type
137
- visit "/dashboard/collections/#{new_collection.id}"
138
- click_link 'Add existing works'
139
- check 'check_all'
140
- click_button 'Add to collection' # opens the modal
141
- within('div#collection-list-container') do
142
- expect(page).to have_selector "#member_of_collection_ids[value=\"#{new_collection.id}\"]", visible: false
143
- expect(page).to have_selector "#member_of_collection_label[value=\"#{new_collection.title.first}\"]"
144
- click_button 'Save changes'
145
- end
146
- # forwards to collections index page and shows flash message
147
- within('section.tabs-row') do
148
- expect(page).to have_link 'All Collections'
149
- expect(page).to have_link 'Your Collections'
150
- end
151
-
152
- err_message = "Error: You have specified more than one of the same single-membership collection type " \
153
- "(type: Single-membership 1, collections: #{new_collection.title.first} and #{old_collection.title.first})"
154
- expect(page).to have_selector '.alert', text: err_message
155
- end
156
- end
157
- end
158
- end
159
-
160
- describe 'when adding a work already in a collection' do
161
- let!(:work) { create(:generic_work, user: admin_user, member_of_collections: [old_collection], title: ['The highly valued work that everyone wants in their collection']) }
162
-
163
- context 'allowing multi-membership' do
164
- let(:old_collection) { create(:collection_lw, user: admin_user, collection_type_gid: multi_membership_type_1.gid, title: ['CollectionTitle']) }
165
- let!(:new_collection) { old_collection }
166
-
167
- it 'then the add is treated as a success' do
168
- optional 'ability to get capybara to find css select2-result (see Issue #3038)' if ci_build?
169
- # Re-add to same multi-membership collection
170
- visit '/dashboard/my/works'
171
- check 'check_all'
172
- click_button 'Add to collection' # opens the modal
173
- select_member_of_collection(new_collection)
174
- click_button 'Save changes'
175
-
176
- # forwards to collection show page
177
- expect(page).to have_content new_collection.title.first
178
- expect(page).to have_content 'Works (1)'
179
- expect(page).to have_content work.title.first
180
- expect(page).to have_selector '.alert-success', text: 'Collection was successfully updated.'
181
- end
182
- end
183
-
184
- context 'requiring single-membership' do
185
- let(:old_collection) { create(:collection_lw, user: admin_user, collection_type_gid: single_membership_type_1.gid, title: ['CollectionTitle']) }
186
- let!(:new_collection) { old_collection }
187
-
188
- it 'then the add is treated as a success' do
189
- optional 'ability to get capybara to find css select2-result (see Issue #3038)' if ci_build?
190
- # Re-add to same single-membership collection
191
- visit '/dashboard/my/works'
192
- check 'check_all'
193
- click_button 'Add to collection' # opens the modal
194
- select_member_of_collection(new_collection)
195
- click_button 'Save changes'
196
-
197
- # forwards to collection show page
198
- expect(page).to have_content new_collection.title.first
199
- expect(page).to have_content 'Works (1)'
200
- expect(page).to have_content work.title.first
201
- expect(page).to have_selector '.alert-success', text: 'Collection was successfully updated.'
202
- end
203
- end
204
- end
205
- end
@@ -1,122 +0,0 @@
1
- RSpec.describe 'collection', type: :feature, clean_repo: true do
2
- let(:user) { create(:user) }
3
-
4
- let(:collection1) { create(:public_collection_lw, user: user) }
5
- let(:collection2) { create(:public_collection_lw, user: user) }
6
-
7
- describe 'collection show page' do
8
- let(:collection) do
9
- create(:public_collection_lw, user: user, description: ['collection description'], collection_type_settings: :nestable)
10
- end
11
- let!(:work1) { create(:work, title: ["King Louie"], member_of_collections: [collection], user: user) }
12
- let!(:work2) { create(:work, title: ["King Kong"], member_of_collections: [collection], user: user) }
13
- let!(:col1) { create(:public_collection_lw, title: ["Sub-collection 1"], member_of_collections: [collection], user: user) }
14
- let!(:col2) { create(:public_collection_lw, title: ["Sub-collection 2"], member_of_collections: [collection], user: user) }
15
-
16
- before do
17
- sign_in user
18
- visit "/collections/#{collection.id}"
19
- end
20
-
21
- it "shows a collection with a listing of Descriptive Metadata and catalog-style search results" do
22
- expect(page).to have_content(collection.title.first)
23
- expect(page).to have_content(collection.description.first)
24
- expect(page).to have_content("Collection Details")
25
- # Should not show title and description a second time
26
- expect(page).not_to have_css('.metadata-collections', text: collection.title.first)
27
- expect(page).not_to have_css('.metadata-collections', text: collection.description.first)
28
- # Should have search results / contents listing
29
- expect(page).to have_content(work1.title.first)
30
- expect(page).to have_content(work2.title.first)
31
- expect(page).to have_content(col1.title.first)
32
- expect(page).to have_content(col2.title.first)
33
- expect(page).not_to have_css(".pagination")
34
-
35
- click_link "Gallery"
36
- expect(page).to have_content(work1.title.first)
37
- expect(page).to have_content(work2.title.first)
38
- end
39
-
40
- it "hides collection descriptive metadata when searching a collection" do
41
- expect(page).to have_content(collection.title.first)
42
- expect(page).to have_content(collection.description.first)
43
- expect(page).to have_content(work1.title.first)
44
- expect(page).to have_content(work2.title.first)
45
- fill_in('collection_search', with: work1.title.first)
46
- click_button('collection_submit')
47
- # Should not have Collection metadata table (only title and description)
48
- expect(page).not_to have_content("Total works")
49
- expect(page).to have_content(collection.title.first)
50
- expect(page).to have_content(collection.description.first)
51
- # Should have search results / contents listing
52
- expect(page).to have_content("Search Results")
53
- expect(page).to have_content(work1.title.first)
54
- expect(page).not_to have_content(work2.title.first)
55
- end
56
-
57
- it "returns json results" do
58
- visit "/collections/#{collection.id}.json"
59
- expect(page).to have_http_status(:success)
60
- json = JSON.parse(page.body)
61
- expect(json['id']).to eq collection.id
62
- expect(json['title']).to match_array collection.title
63
- end
64
-
65
- context "with a non-nestable collection type" do
66
- let(:collection) do
67
- build(:public_collection_lw, user: user, description: ['collection description'], collection_type_settings: :not_nestable, with_solr_document: true, with_permission_template: true)
68
- end
69
-
70
- it "displays basic information on its show page" do
71
- expect(page).to have_content(collection.title.first)
72
- expect(page).to have_content(collection.description.first)
73
- expect(page).to have_content("Collection Details")
74
- end
75
- end
76
- end
77
-
78
- # TODO: this is just like the block above. Merge them.
79
- describe 'show work pages of a collection' do
80
- before do
81
- docs = (0..12).map do |n|
82
- { "has_model_ssim" => ["GenericWork"], :id => "zs25x871q#{n}",
83
- "depositor_ssim" => [user.user_key],
84
- "suppressed_bsi" => false,
85
- "member_of_collection_ids_ssim" => [collection.id],
86
- "nesting_collection__parent_ids_ssim" => [collection.id],
87
- "edit_access_person_ssim" => [user.user_key] }
88
- end
89
- ActiveFedora::SolrService.add(docs, commit: true)
90
-
91
- sign_in user
92
- end
93
- let(:collection) { create(:named_collection_lw, user: user) }
94
-
95
- it "shows a collection with a listing of Descriptive Metadata and catalog-style search results" do
96
- visit "/collections/#{collection.id}"
97
- expect(page).to have_css(".pagination")
98
- end
99
- end
100
-
101
- describe 'show subcollection pages of a collection' do
102
- before do
103
- docs = (0..12).map do |n|
104
- { "has_model_ssim" => ["Collection"], :id => "zs25x871q#{n}",
105
- "depositor_ssim" => [user.user_key],
106
- "suppressed_bsi" => false,
107
- "member_of_collection_ids_ssim" => [collection.id],
108
- "nesting_collection__parent_ids_ssim" => [collection.id],
109
- "edit_access_person_ssim" => [user.user_key] }
110
- end
111
- ActiveFedora::SolrService.add(docs, commit: true)
112
-
113
- sign_in user
114
- end
115
- let(:collection) { create(:named_collection_lw, user: user) }
116
-
117
- it "shows a collection with a listing of Descriptive Metadata and catalog-style search results" do
118
- visit "/collections/#{collection.id}"
119
- expect(page).to have_css(".pagination")
120
- end
121
- end
122
- end
@@ -1,393 +0,0 @@
1
- RSpec.describe 'collection_type', type: :feature, clean_repo: true do
2
- let(:admin_user) { create(:admin) }
3
- let(:exhibit_title) { 'Exhibit' }
4
- let(:exhibit_description) { 'Description for exhibit collection type.' }
5
- let(:exhibit_collection_type) { create(:collection_type, title: exhibit_title, description: exhibit_description, creator_user: admin_user) }
6
- let(:user_collection_type) { create(:user_collection_type) }
7
- let(:admin_set_type) { create(:admin_set_collection_type) }
8
- let(:solr_gid) { Collection.collection_type_gid_document_field_name }
9
-
10
- describe 'index' do
11
- before do
12
- exhibit_collection_type
13
- user_collection_type
14
- admin_set_type
15
- sign_in admin_user
16
- visit '/admin/collection_types'
17
- end
18
-
19
- it 'has page title and lists collection types' do
20
- expect(page).to have_content 'Collection Types'
21
-
22
- expect(page).to have_content 'Admin Set'
23
- expect(page).to have_content 'User Collection'
24
- expect(page).to have_content 'Collection Type'
25
-
26
- expect(page).to have_link('Edit', count: 3)
27
- expect(page).to have_link('Edit', href: hyrax.edit_admin_collection_type_path(admin_set_type.id, locale: 'en'))
28
- expect(page).to have_link('Edit', href: hyrax.edit_admin_collection_type_path(user_collection_type.id, locale: 'en'))
29
- expect(page).to have_link('Edit', href: hyrax.edit_admin_collection_type_path(exhibit_collection_type.id, locale: 'en'))
30
- expect(page).to have_button('Delete', count: 2) # 1: Collection Type, 2: delete modal
31
- end
32
- end
33
-
34
- describe 'create collection type' do
35
- let(:title) { 'Test Type' }
36
- let(:description) { 'Description for collection type we are testing.' }
37
-
38
- before do
39
- sign_in admin_user
40
- visit '/admin/collection_types'
41
- end
42
-
43
- it 'makes a new collection type', :js do
44
- click_link 'Create new collection type'
45
-
46
- expect(page).to have_content 'Create New Collection Type'
47
-
48
- # confirm only Description tab is visible
49
- expect(page).to have_link('Description', href: '#metadata')
50
- expect(page).not_to have_link('Settings', href: '#settings')
51
- expect(page).not_to have_link('Participants', href: '#participants')
52
-
53
- # confirm metadata fields exist
54
- expect(page).to have_selector 'input#collection_type_title'
55
- expect(page).to have_selector 'textarea#collection_type_description'
56
-
57
- # set values and save
58
- fill_in('Type name', with: title)
59
- fill_in('Type description', with: description)
60
-
61
- click_button('Save')
62
-
63
- # confirm values were set
64
- expect(page).to have_selector "input#collection_type_title[value='#{title}']"
65
- expect(page).to have_selector 'textarea#collection_type_description', text: description
66
-
67
- # confirm all edit tabs are now visible
68
- expect(page).to have_link('Description', href: '#metadata')
69
- expect(page).to have_link('Settings', href: '#settings')
70
- expect(page).to have_link('Participants', href: '#participants')
71
- end
72
-
73
- it 'tries to make a collection type with existing title, and receives error message', :js do
74
- click_link 'Create new collection type'
75
-
76
- expect(page).to have_content 'Create New Collection Type'
77
-
78
- # confirm only Description tab is visible
79
- expect(page).to have_link('Description', href: '#metadata')
80
- expect(page).not_to have_link('Settings', href: '#settings')
81
- expect(page).not_to have_link('Participants', href: '#participants')
82
-
83
- # confirm metadata fields exist
84
- expect(page).to have_selector 'input#collection_type_title'
85
- expect(page).to have_selector 'textarea#collection_type_description'
86
-
87
- # set values and save
88
- fill_in('Type name', with: title)
89
- fill_in('Type description', with: description)
90
-
91
- click_button('Save')
92
-
93
- visit '/admin/collection_types'
94
- click_link 'Create new collection type'
95
-
96
- expect(page).to have_content 'Create New Collection Type'
97
-
98
- # confirm only Description tab is visible
99
- expect(page).to have_link('Description', href: '#metadata')
100
- expect(page).not_to have_link('Settings', href: '#settings')
101
- expect(page).not_to have_link('Participants', href: '#participants')
102
-
103
- # confirm metadata fields exist
104
- expect(page).to have_selector 'input#collection_type_title'
105
- expect(page).to have_selector 'textarea#collection_type_description'
106
-
107
- # set values and save
108
- fill_in('Type name', with: title)
109
- fill_in('Type description', with: description)
110
-
111
- click_button('Save')
112
-
113
- # Confirm error message is displayed.
114
- expect(page).to have_content 'Save was not successful because title has already been taken, and machine_id has already been taken.'
115
- end
116
- end
117
-
118
- describe 'edit collection type' do
119
- context 'when there are no collections of this type' do
120
- let(:title_old) { exhibit_title }
121
- let(:description_old) { exhibit_description }
122
- let(:title_new) { 'Exhibit modified' }
123
- let(:description_new) { 'Change in description for exhibit collection type.' }
124
-
125
- before do
126
- exhibit_collection_type
127
- sign_in admin_user
128
- visit "/admin/collection_types/#{exhibit_collection_type.id}/edit"
129
- end
130
-
131
- it 'modifies metadata values of a collection type', :js do
132
- expect(page).to have_content "Edit Collection Type: #{title_old}"
133
-
134
- # confirm all tabs are visible
135
- expect(page).to have_link('Description', href: '#metadata')
136
- expect(page).to have_link('Settings', href: '#settings')
137
- expect(page).to have_link('Participants', href: '#participants')
138
-
139
- # confirm metadata fields have original values
140
- expect(page).to have_selector "input#collection_type_title[value='#{title_old}']"
141
- expect(page).to have_selector 'textarea#collection_type_description', text: description_old
142
-
143
- # set values and save
144
- fill_in('Type name', with: title_new)
145
- fill_in('Type description', with: description_new)
146
-
147
- click_button('Save changes')
148
-
149
- expect(page).to have_content "Edit Collection Type: #{title_new}"
150
-
151
- # confirm values were set
152
- expect(page).to have_selector "input#collection_type_title[value='#{title_new}']"
153
- expect(page).to have_selector 'textarea#collection_type_description', text: description_new
154
-
155
- click_link('Settings', href: '#settings')
156
-
157
- # confirm all non-admin_set checkboxes are on
158
- expect(page).to have_checked_field('collection_type_nestable')
159
- expect(page).to have_checked_field('collection_type_brandable')
160
- expect(page).to have_checked_field('collection_type_discoverable')
161
- expect(page).to have_checked_field('collection_type_sharable')
162
- expect(page).to have_checked_field('collection_type_share_applies_to_new_works')
163
- expect(page).to have_checked_field('collection_type_allow_multiple_membership')
164
-
165
- # confirm all admin_set only checkboxes are off and disabled
166
- expect(page).to have_unchecked_field('collection_type_require_membership', disabled: true)
167
- expect(page).to have_unchecked_field('collection_type_assigns_workflow', disabled: true)
168
- expect(page).to have_unchecked_field('collection_type_assigns_visibility', disabled: true)
169
-
170
- # change settings
171
- page.uncheck('NESTING')
172
- page.uncheck('DISCOVERY')
173
- page.check('APPLY TO NEW WORKS')
174
- page.uncheck('MULTIPLE MEMBERSHIP')
175
-
176
- # confirm all non-admin_set checkboxes are now off
177
- expect(page).to have_unchecked_field('collection_type_nestable')
178
- expect(page).to have_checked_field('collection_type_brandable')
179
- expect(page).to have_unchecked_field('collection_type_discoverable')
180
- expect(page).to have_checked_field('collection_type_sharable')
181
- expect(page).to have_checked_field('collection_type_share_applies_to_new_works')
182
- expect(page).to have_unchecked_field('collection_type_allow_multiple_membership')
183
-
184
- # uncheck sharable should disable sharable options
185
- page.uncheck('SHARING')
186
-
187
- expect(page).to have_unchecked_field('collection_type_sharable')
188
- expect(page).to have_unchecked_field('collection_type_share_applies_to_new_works', disabled: true)
189
-
190
- # check sharable should enable sharable options
191
- page.check('SHARING')
192
-
193
- expect(page).to have_checked_field('collection_type_sharable')
194
- expect(page).to have_unchecked_field('collection_type_share_applies_to_new_works', disabled: false)
195
-
196
- click_link('Participants')
197
-
198
- # TODO: Test adding participants
199
- end
200
-
201
- context 'when editing default user collection type' do
202
- let(:title_old) { user_collection_type.title }
203
- let(:description_old) { user_collection_type.description }
204
- let(:title_new) { 'User Collection modified' }
205
- let(:description_new) { 'Change in description for user collection type.' }
206
-
207
- before do
208
- user_collection_type
209
- sign_in admin_user
210
- visit "/admin/collection_types/#{user_collection_type.id}/edit"
211
- end
212
-
213
- it 'allows editing of metadata, but not settings', :js do
214
- expect(page).to have_content "Edit Collection Type: #{title_old}"
215
-
216
- # confirm metadata fields have original values
217
- expect(page).to have_selector "input#collection_type_title[value='#{title_old}']"
218
- expect(page).to have_selector 'textarea#collection_type_description', text: description_old
219
-
220
- # set values and save
221
- fill_in('Type name', with: title_new)
222
- fill_in('Type description', with: description_new)
223
-
224
- click_button('Save changes')
225
-
226
- expect(page).to have_content "Edit Collection Type: #{title_new}"
227
-
228
- # confirm values were set
229
- expect(page).to have_selector "input#collection_type_title[value='#{title_new}']"
230
- expect(page).to have_selector 'textarea#collection_type_description', text: description_new
231
-
232
- click_link('Settings', href: '#settings')
233
-
234
- # confirm default user collection checkboxes are set to appropriate values
235
- expect(page).to have_checked_field('collection_type_nestable', disabled: true)
236
- expect(page).to have_checked_field('collection_type_brandable', disabled: true)
237
- expect(page).to have_checked_field('collection_type_discoverable', disabled: true)
238
- expect(page).to have_checked_field('collection_type_sharable', disabled: true)
239
- expect(page).to have_unchecked_field('collection_type_share_applies_to_new_works', disabled: true)
240
- expect(page).to have_checked_field('collection_type_allow_multiple_membership', disabled: true)
241
-
242
- # confirm all admin_set only checkboxes are off and disabled
243
- expect(page).to have_unchecked_field('collection_type_require_membership', disabled: true)
244
- expect(page).to have_unchecked_field('collection_type_assigns_workflow', disabled: true)
245
- expect(page).to have_unchecked_field('collection_type_assigns_visibility', disabled: true)
246
- end
247
- end
248
-
249
- context 'when editing admin set collection type' do
250
- let(:title_old) { admin_set_type.title }
251
- let(:description_old) { admin_set_type.description }
252
- let(:description_new) { 'Change in description for admin set collection type.' }
253
-
254
- before do
255
- admin_set_type
256
- sign_in admin_user
257
- visit "/admin/collection_types/#{admin_set_type.id}/edit"
258
- end
259
-
260
- it 'allows editing of metadata except title, but not settings', :js do
261
- expect(page).to have_content "Edit Collection Type: #{title_old}"
262
-
263
- # confirm metadata fields have original values
264
- expect(page).to have_field("collection_type_title", disabled: true)
265
- expect(page).to have_selector 'textarea#collection_type_description', text: description_old
266
-
267
- # set values and save
268
- fill_in('Type description', with: description_new)
269
-
270
- click_button('Save changes')
271
-
272
- expect(page).to have_content "Edit Collection Type: #{title_old}"
273
-
274
- # confirm values were set
275
- expect(page).to have_selector 'textarea#collection_type_description', text: description_new
276
-
277
- click_link('Settings', href: '#settings')
278
-
279
- # confirm default user collection checkboxes are set to appropriate values
280
- expect(page).to have_unchecked_field('collection_type_nestable', disabled: true)
281
- expect(page).to have_unchecked_field('collection_type_discoverable', disabled: true)
282
- expect(page).to have_checked_field('collection_type_sharable', disabled: true)
283
- expect(page).to have_checked_field('collection_type_share_applies_to_new_works', disabled: true)
284
- expect(page).to have_unchecked_field('collection_type_allow_multiple_membership', disabled: true)
285
-
286
- # confirm all admin_set only checkboxes are off and disabled
287
- expect(page).to have_checked_field('collection_type_require_membership', disabled: true)
288
- expect(page).to have_checked_field('collection_type_assigns_workflow', disabled: true)
289
- expect(page).to have_checked_field('collection_type_assigns_visibility', disabled: true)
290
- end
291
- end
292
- end
293
-
294
- context 'when collections exist of this type' do
295
- let!(:collection1) { create(:public_collection_lw, user: build(:user), collection_type_gid: exhibit_collection_type.gid) }
296
-
297
- before do
298
- exhibit_collection_type
299
- sign_in admin_user
300
- visit "/admin/collection_types/#{exhibit_collection_type.id}/edit"
301
- end
302
-
303
- it 'all settings are disabled', :js do
304
- expect(exhibit_collection_type.collections?).to be true
305
-
306
- click_link('Settings', href: '#settings')
307
-
308
- # confirm all checkboxes are disabled
309
- expect(page).to have_field('collection_type_nestable', disabled: true)
310
- expect(page).to have_field('collection_type_brandable', disabled: true)
311
- expect(page).to have_field('collection_type_discoverable', disabled: true)
312
- expect(page).to have_field('collection_type_sharable', disabled: true)
313
- expect(page).to have_field('collection_type_share_applies_to_new_works', disabled: true)
314
- expect(page).to have_field('collection_type_allow_multiple_membership', disabled: true)
315
- expect(page).to have_field('collection_type_require_membership', disabled: true)
316
- expect(page).to have_field('collection_type_assigns_workflow', disabled: true)
317
- expect(page).to have_field('collection_type_assigns_visibility', disabled: true)
318
- end
319
- end
320
- end
321
-
322
- describe 'delete collection type' do
323
- context 'when there are no collections of this type' do
324
- let!(:empty_collection_type) { create(:collection_type, title: 'Empty Type', creator_user: admin_user) }
325
- let!(:delete_modal_text) { 'Deleting this collection type will permanently remove the type and its settings from the repository. Are you sure you want to delete this collection type?' }
326
- let!(:deleted_flash_text) { "The collection type #{empty_collection_type.title} has been deleted." }
327
-
328
- before do
329
- sign_in admin_user
330
- visit '/admin/collection_types'
331
- end
332
-
333
- it 'shows warning, deletes collection type, and shows flash message on success', :js do
334
- expect(page).to have_content(empty_collection_type.title)
335
-
336
- find(:xpath, "//tr[td[contains(.,'#{empty_collection_type.title}')]]/td/button", text: 'Delete').click
337
-
338
- within('div#deleteModal') do
339
- expect(page).to have_content(delete_modal_text)
340
- click_button('Delete')
341
- end
342
-
343
- within('.alert-success') do
344
- expect(page).to have_content(deleted_flash_text)
345
- end
346
-
347
- within('.collection-types-table') do
348
- expect(page).not_to have_content(empty_collection_type.title)
349
- end
350
- end
351
- end
352
-
353
- context 'when collections exist of this type' do
354
- let!(:not_empty_collection_type) { create(:collection_type, title: 'Not Empty Type', creator_user: admin_user) }
355
- let!(:collection1) { create(:public_collection_lw, user: admin_user, collection_type_gid: not_empty_collection_type.gid) }
356
- let(:deny_delete_modal_text) do
357
- 'You cannot delete this collection type because one or more collections of this type have already been created. ' \
358
- 'To delete this collection type, first ensure that all collections of this type have been deleted.'
359
- end
360
-
361
- before do
362
- sign_in admin_user
363
- visit '/admin/collection_types'
364
- end
365
-
366
- it 'shows unable to delete dialog and forwards to All Collections with filter applied', :js do
367
- expect(page).to have_content(not_empty_collection_type.title)
368
-
369
- find(:xpath, "//tr[td[contains(.,'#{not_empty_collection_type.title}')]]/td/button", text: 'Delete').click
370
-
371
- within('div#deleteDenyModal') do
372
- expect(page).to have_content(deny_delete_modal_text)
373
- click_link('View collections of this type')
374
- end
375
-
376
- # forwards to Dashboard -> Collections -> All Collections
377
- within('li.active') do
378
- expect(page).to have_link('All Collections')
379
- end
380
-
381
- # filter is applied
382
- within('div#appliedParams') do
383
- expect(page).to have_content('Filtering by:')
384
- expect(page).to have_content('Type')
385
- expect(page).to have_content(not_empty_collection_type.title)
386
- end
387
-
388
- # collection of this type is in the list of collections
389
- expect(page).to have_content(collection1.title.first)
390
- end
391
- end
392
- end
393
- end