hyrax 1.1.1 → 2.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1201) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +5 -4
  3. data/.eslintrc +1 -1
  4. data/.fcrepo_wrapper +4 -0
  5. data/.github/CODE_OF_CONDUCT.md +36 -0
  6. data/.github/CONTRIBUTING.md +73 -17
  7. data/.github/PULL_REQUEST_TEMPLATE.md +4 -4
  8. data/.github/SUPPORT.md +3 -0
  9. data/.hound.yml +4 -0
  10. data/.rubocop.yml +57 -21
  11. data/{.rubocop_todo.yml → .rubocop_fixme.yml} +15 -35
  12. data/.solr_wrapper +6 -0
  13. data/.travis.yml +13 -11
  14. data/Gemfile +3 -3
  15. data/LICENSE +205 -15
  16. data/README.md +87 -54
  17. data/Rakefile +0 -0
  18. data/app/actors/hyrax/actors/abstract_actor.rb +79 -12
  19. data/app/actors/hyrax/actors/add_to_work_actor.rb +27 -27
  20. data/app/actors/hyrax/actors/apply_order_actor.rb +21 -21
  21. data/app/actors/hyrax/actors/apply_permission_template_actor.rb +25 -0
  22. data/app/actors/hyrax/actors/assign_representative_actor.rb +8 -6
  23. data/app/actors/hyrax/actors/attach_members_actor.rb +14 -18
  24. data/app/actors/hyrax/actors/base_actor.rb +58 -32
  25. data/app/actors/hyrax/actors/cleanup_file_sets_actor.rb +30 -0
  26. data/app/actors/hyrax/actors/cleanup_trophies_actor.rb +20 -0
  27. data/app/actors/hyrax/actors/collections_membership_actor.rb +35 -0
  28. data/app/actors/hyrax/actors/create_with_files_actor.rb +53 -0
  29. data/app/actors/hyrax/actors/create_with_remote_files_actor.rb +55 -0
  30. data/app/actors/hyrax/actors/default_admin_set_actor.rb +48 -0
  31. data/app/actors/hyrax/actors/environment.rb +21 -0
  32. data/app/actors/hyrax/actors/featured_work_actor.rb +32 -0
  33. data/app/actors/hyrax/actors/file_actor.rb +35 -39
  34. data/app/actors/hyrax/actors/file_set_actor.rb +76 -67
  35. data/app/actors/hyrax/actors/initialize_workflow_actor.rb +6 -4
  36. data/app/actors/hyrax/actors/interpret_visibility_actor.rb +60 -49
  37. data/app/actors/hyrax/actors/model_actor.rb +32 -0
  38. data/app/actors/hyrax/actors/optimistic_lock_validator.rb +7 -5
  39. data/app/actors/hyrax/actors/terminator.rb +18 -0
  40. data/app/actors/hyrax/actors/transactional_request.rb +8 -4
  41. data/app/assets/javascripts/hyrax.js +13 -6
  42. data/app/assets/javascripts/hyrax/admin/admin_set/group_participants.es6 +20 -0
  43. data/app/assets/javascripts/hyrax/admin/admin_set/participants.es6 +13 -2
  44. data/app/assets/javascripts/hyrax/admin/admin_set/registered_users.es6 +31 -0
  45. data/app/assets/javascripts/hyrax/admin/admin_set_controls.es6 +16 -8
  46. data/app/assets/javascripts/hyrax/admin/graphs.es6 +1 -1
  47. data/app/assets/javascripts/hyrax/app.js +52 -29
  48. data/app/assets/javascripts/hyrax/authority_select.es6 +31 -37
  49. data/app/assets/javascripts/hyrax/autocomplete.es6 +13 -7
  50. data/app/assets/javascripts/hyrax/autocomplete/default.es6 +10 -5
  51. data/app/assets/javascripts/hyrax/autocomplete/linked_data.es6 +65 -0
  52. data/app/assets/javascripts/hyrax/batch_select.es6 +11 -0
  53. data/app/assets/javascripts/hyrax/batch_select_all.js +17 -25
  54. data/app/assets/javascripts/hyrax/browse_everything.js +11 -7
  55. data/app/assets/javascripts/hyrax/collections/editor.es6 +11 -0
  56. data/app/assets/javascripts/hyrax/config.js.erb +3 -0
  57. data/app/assets/javascripts/hyrax/editor.es6 +49 -2
  58. data/app/assets/javascripts/hyrax/editor/controlled_vocabulary.es6 +122 -0
  59. data/app/assets/javascripts/hyrax/{fileupload.js.erb → fileupload.js} +0 -5
  60. data/app/assets/javascripts/hyrax/monkey_patch_turbolinks.js.coffee +1 -1
  61. data/app/assets/javascripts/hyrax/notification.es6 +37 -0
  62. data/app/assets/javascripts/hyrax/notifications.es6 +5 -10
  63. data/app/assets/javascripts/hyrax/per_page.es6 +15 -0
  64. data/app/assets/javascripts/hyrax/save_work/save_work_control.es6 +8 -1
  65. data/app/assets/javascripts/hyrax/save_work/visibility_component.es6 +8 -13
  66. data/app/assets/javascripts/hyrax/sorting.js +0 -8
  67. data/app/assets/javascripts/hyrax/tabs.js +3 -1
  68. data/app/assets/javascripts/hyrax/thumbnail_select.es6 +29 -0
  69. data/app/assets/javascripts/hyrax/trophy.js +1 -1
  70. data/app/assets/javascripts/hyrax/uploader.js +1 -5
  71. data/app/assets/stylesheets/hyrax/_batch-edit.scss +8 -4
  72. data/app/assets/stylesheets/hyrax/_buttons.scss +9 -7
  73. data/app/assets/stylesheets/hyrax/_catalog.scss +11 -0
  74. data/app/assets/stylesheets/hyrax/_collections.scss +6 -19
  75. data/app/assets/stylesheets/hyrax/_file-listing.scss +5 -25
  76. data/app/assets/stylesheets/hyrax/_file_manager.scss +1 -0
  77. data/app/assets/stylesheets/hyrax/_footer.scss +5 -0
  78. data/app/assets/stylesheets/hyrax/_forms.scss +25 -1
  79. data/app/assets/stylesheets/hyrax/_header.scss +6 -0
  80. data/app/assets/stylesheets/hyrax/_hyrax.scss +8 -2
  81. data/app/assets/stylesheets/hyrax/_positioning.scss +3 -126
  82. data/app/assets/stylesheets/hyrax/_styles.scss +0 -4
  83. data/app/assets/stylesheets/hyrax/_users.scss +15 -0
  84. data/app/assets/stylesheets/hyrax/_variables.scss +1 -0
  85. data/app/assets/stylesheets/hyrax/_work_editor.scss +17 -0
  86. data/app/assets/stylesheets/hyrax/controlled_vocabulary.scss +7 -0
  87. data/app/assets/stylesheets/hyrax/dashboard.scss +247 -0
  88. data/app/assets/stylesheets/hyrax/sidebar.scss +147 -0
  89. data/app/assets/stylesheets/typeahead.css +64 -0
  90. data/app/authorities/qa/authorities/find_works.rb +11 -2
  91. data/app/controlled_vocabularies/hyrax/controlled_vocabularies/location.rb +13 -0
  92. data/app/controllers/concerns/hyrax/admin/stats_behavior.rb +2 -2
  93. data/app/controllers/concerns/hyrax/admin/users_controller_behavior.rb +11 -1
  94. data/app/controllers/concerns/hyrax/breadcrumbs.rb +1 -1
  95. data/app/controllers/concerns/hyrax/breadcrumbs_for_collections.rb +1 -1
  96. data/app/controllers/concerns/hyrax/breadcrumbs_for_works.rb +26 -14
  97. data/app/controllers/concerns/hyrax/collections.rb +4 -0
  98. data/{lib → app/controllers/concerns}/hyrax/collections/accepts_batches.rb +1 -1
  99. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +1 -190
  100. data/app/controllers/concerns/hyrax/controller.rb +1 -23
  101. data/app/controllers/concerns/hyrax/embargoes_controller_behavior.rb +38 -0
  102. data/app/controllers/concerns/hyrax/leases_controller_behavior.rb +37 -0
  103. data/app/controllers/concerns/hyrax/manages_embargoes.rb +18 -0
  104. data/app/controllers/concerns/hyrax/parent_container.rb +2 -2
  105. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +225 -11
  106. data/app/controllers/hyrax/admin/admin_sets_controller.rb +32 -18
  107. data/app/controllers/hyrax/admin/appearances_controller.rb +33 -0
  108. data/app/controllers/hyrax/admin/features_controller.rb +4 -3
  109. data/app/controllers/hyrax/admin/permission_template_accesses_controller.rb +16 -7
  110. data/app/controllers/hyrax/admin/users_controller.rb +1 -1
  111. data/app/controllers/hyrax/admin/workflow_roles_controller.rb +2 -2
  112. data/app/controllers/hyrax/admin/workflows_controller.rb +10 -11
  113. data/app/controllers/hyrax/api/zotero_controller.rb +4 -4
  114. data/app/controllers/hyrax/batch_edits_controller.rb +99 -2
  115. data/app/controllers/hyrax/batch_uploads_controller.rb +92 -2
  116. data/app/controllers/hyrax/citations_controller.rb +2 -2
  117. data/app/controllers/hyrax/collections_controller.rb +26 -0
  118. data/app/controllers/hyrax/contact_form_controller.rb +42 -1
  119. data/app/controllers/hyrax/content_blocks_controller.rb +25 -19
  120. data/app/controllers/hyrax/dashboard/collections_controller.rb +311 -0
  121. data/app/controllers/hyrax/dashboard/profiles_controller.rb +69 -0
  122. data/app/controllers/hyrax/dashboard/works_controller.rb +31 -0
  123. data/app/controllers/hyrax/dashboard_controller.rb +16 -1
  124. data/app/controllers/hyrax/depositors_controller.rb +41 -1
  125. data/app/controllers/hyrax/downloads_controller.rb +83 -1
  126. data/app/controllers/hyrax/embargoes_controller.rb +5 -0
  127. data/app/controllers/hyrax/featured_work_lists_controller.rb +1 -1
  128. data/app/controllers/hyrax/file_sets_controller.rb +236 -1
  129. data/app/controllers/hyrax/fixity_checks_controller.rb +32 -0
  130. data/app/controllers/hyrax/homepage_controller.rb +47 -1
  131. data/app/controllers/hyrax/leases_controller.rb +5 -0
  132. data/app/controllers/hyrax/my/collections_controller.rb +8 -5
  133. data/app/controllers/hyrax/my/highlights_controller.rb +3 -3
  134. data/app/controllers/hyrax/my/shares_controller.rb +3 -3
  135. data/app/controllers/hyrax/my/works_controller.rb +10 -5
  136. data/app/controllers/hyrax/my_controller.rb +79 -2
  137. data/app/controllers/hyrax/{mailbox_controller.rb → notifications_controller.rb} +5 -1
  138. data/app/controllers/hyrax/pages_controller.rb +42 -3
  139. data/app/controllers/hyrax/permissions_controller.rb +30 -1
  140. data/app/controllers/hyrax/single_use_links_controller.rb +46 -1
  141. data/app/controllers/hyrax/single_use_links_viewer_controller.rb +87 -12
  142. data/app/controllers/hyrax/static_controller.rb +0 -1
  143. data/app/controllers/hyrax/stats_controller.rb +2 -2
  144. data/app/controllers/hyrax/transfers_controller.rb +79 -1
  145. data/app/controllers/hyrax/uploads_controller.rb +12 -1
  146. data/app/controllers/hyrax/users_controller.rb +67 -1
  147. data/app/controllers/hyrax/workflow_actions_controller.rb +15 -9
  148. data/app/forms/hyrax/forms/admin/appearance.rb +139 -0
  149. data/app/forms/hyrax/forms/admin_set_form.rb +12 -6
  150. data/app/forms/hyrax/forms/batch_edit_form.rb +22 -21
  151. data/app/forms/hyrax/forms/collection_form.rb +50 -11
  152. data/app/forms/hyrax/forms/file_set_edit_form.rb +2 -2
  153. data/app/forms/hyrax/forms/permission_template_form.rb +2 -8
  154. data/app/forms/hyrax/forms/work_form.rb +46 -9
  155. data/app/forms/hyrax/forms/workflow_action_form.rb +2 -1
  156. data/app/forms/hyrax/forms/workflow_responsibility_form.rb +0 -6
  157. data/app/helpers/hyrax/ability_helper.rb +2 -2
  158. data/app/helpers/hyrax/batch_edits_helper.rb +16 -0
  159. data/app/helpers/hyrax/citations_behaviors/formatters/chicago_formatter.rb +14 -22
  160. data/app/helpers/hyrax/citations_behaviors/formatters/open_url_formatter.rb +17 -21
  161. data/app/helpers/hyrax/citations_behaviors/publication_behavior.rb +4 -3
  162. data/app/helpers/hyrax/citations_behaviors/title_behavior.rb +1 -1
  163. data/app/helpers/hyrax/collections_helper.rb +12 -4
  164. data/app/helpers/hyrax/content_block_helper_behavior.rb +5 -41
  165. data/app/helpers/hyrax/dashboard_helper_behavior.rb +0 -41
  166. data/app/helpers/hyrax/file_set_helper.rb +2 -0
  167. data/app/helpers/hyrax/hyrax_helper_behavior.rb +20 -7
  168. data/app/helpers/hyrax/trophy_helper.rb +5 -3
  169. data/app/indexers/concerns/hyrax/indexes_basic_metadata.rb +9 -0
  170. data/app/indexers/concerns/hyrax/indexes_linked_metadata.rb +9 -0
  171. data/app/indexers/hyrax/admin_set_indexer.rb +0 -1
  172. data/app/indexers/hyrax/basic_metadata_indexer.rb +57 -0
  173. data/app/indexers/hyrax/collection_indexer.rb +4 -1
  174. data/app/indexers/hyrax/collection_with_basic_metadata_indexer.rb +5 -0
  175. data/app/indexers/hyrax/deep_indexing_service.rb +102 -0
  176. data/app/indexers/hyrax/file_set_indexer.rb +19 -19
  177. data/app/indexers/hyrax/work_indexer.rb +7 -6
  178. data/app/inputs/controlled_vocabulary_input.rb +87 -0
  179. data/app/inputs/multi_value_select_input.rb +2 -0
  180. data/app/jobs/attach_files_to_work_job.rb +25 -21
  181. data/app/jobs/batch_create_job.rb +1 -1
  182. data/app/jobs/characterize_job.rb +7 -5
  183. data/app/jobs/create_derivatives_job.rb +1 -1
  184. data/app/jobs/create_work_job.rb +7 -5
  185. data/app/jobs/event_job.rb +4 -5
  186. data/app/jobs/fixity_check_job.rb +63 -0
  187. data/app/jobs/hyrax/application_job.rb +7 -0
  188. data/app/jobs/hyrax/grant_edit_job.rb +14 -0
  189. data/app/jobs/hyrax/grant_edit_to_members_job.rb +24 -0
  190. data/app/jobs/hyrax/grant_read_job.rb +14 -0
  191. data/app/jobs/hyrax/grant_read_to_members_job.rb +24 -0
  192. data/app/jobs/hyrax/revoke_edit_from_members_job.rb +23 -0
  193. data/app/jobs/hyrax/revoke_edit_job.rb +14 -0
  194. data/app/jobs/import_export_job.rb +31 -0
  195. data/app/jobs/import_url_job.rb +27 -23
  196. data/app/jobs/ingest_job.rb +18 -0
  197. data/app/jobs/ingest_local_file_job.rb +1 -1
  198. data/app/jobs/inherit_permissions_job.rb +1 -1
  199. data/app/jobs/resolrize_job.rb +1 -1
  200. data/app/jobs/visibility_copy_job.rb +20 -11
  201. data/app/models/admin_set.rb +109 -3
  202. data/app/models/batch_upload_item.rb +3 -1
  203. data/app/models/checksum_audit_log.rb +59 -12
  204. data/app/models/concerns/hyrax/ability.rb +61 -8
  205. data/app/models/concerns/hyrax/basic_metadata.rb +26 -57
  206. data/app/models/concerns/hyrax/collection_behavior.rb +9 -9
  207. data/app/models/concerns/hyrax/{required_metadata.rb → core_metadata.rb} +3 -1
  208. data/app/models/concerns/hyrax/file_set/belongs_to_works.rb +2 -2
  209. data/app/models/concerns/hyrax/file_set/derivatives.rb +1 -1
  210. data/app/models/concerns/hyrax/file_set/indexing.rb +0 -1
  211. data/app/models/concerns/hyrax/file_set_behavior.rb +2 -2
  212. data/app/models/concerns/hyrax/nested_works.rb +1 -1
  213. data/app/models/concerns/hyrax/proxy_deposit.rb +1 -1
  214. data/app/models/concerns/hyrax/solr_document/metadata.rb +88 -0
  215. data/app/models/concerns/hyrax/solr_document_behavior.rb +9 -151
  216. data/app/models/concerns/hyrax/user.rb +16 -9
  217. data/app/models/concerns/hyrax/with_file_sets.rb +0 -25
  218. data/app/models/concerns/hyrax/work_behavior.rb +3 -4
  219. data/app/models/content_block.rb +102 -1
  220. data/app/models/featured_work_list.rb +7 -3
  221. data/app/models/hyrax/operation.rb +6 -4
  222. data/app/models/hyrax/permission_template.rb +2 -2
  223. data/app/models/hyrax/permission_template_access.rb +26 -1
  224. data/app/models/hyrax/uploaded_file.rb +2 -0
  225. data/app/models/job_io_wrapper.rb +105 -0
  226. data/app/models/proxy_deposit_request.rb +16 -12
  227. data/app/models/single_use_link.rb +1 -1
  228. data/app/models/sipity/method.rb +11 -0
  229. data/app/presenters/hyrax/admin/users_presenter.rb +1 -1
  230. data/app/presenters/hyrax/admin_set_options_presenter.rb +7 -2
  231. data/app/presenters/hyrax/admin_stats_presenter.rb +21 -13
  232. data/app/presenters/hyrax/characterization_behavior.rb +1 -1
  233. data/app/presenters/hyrax/collection_options_presenter.rb +1 -1
  234. data/app/presenters/hyrax/collection_presenter.rb +4 -3
  235. data/app/presenters/hyrax/dashboard/user_presenter.rb +60 -0
  236. data/app/presenters/hyrax/embargo_presenter.rb +1 -1
  237. data/app/presenters/hyrax/file_set_presenter.rb +12 -17
  238. data/app/presenters/hyrax/fixity_status_presenter.rb +89 -0
  239. data/app/presenters/hyrax/homepage_presenter.rb +15 -3
  240. data/app/presenters/hyrax/lease_presenter.rb +1 -1
  241. data/app/presenters/hyrax/member_presenter_factory.rb +3 -1
  242. data/app/presenters/hyrax/menu_presenter.rb +31 -7
  243. data/app/presenters/hyrax/permission_badge.rb +12 -14
  244. data/app/presenters/hyrax/presenter_factory.rb +25 -6
  245. data/app/presenters/hyrax/presenter_renderer.rb +1 -1
  246. data/app/presenters/hyrax/select_type_presenter.rb +16 -0
  247. data/app/presenters/hyrax/transfers_presenter.rb +37 -0
  248. data/app/presenters/hyrax/trophy_presenter.rb +1 -5
  249. data/app/presenters/hyrax/twitter_presenter.rb +18 -0
  250. data/app/presenters/hyrax/work_show_presenter.rb +25 -15
  251. data/app/presenters/hyrax/workflow_presenter.rb +7 -0
  252. data/app/renderers/hyrax/renderers/attribute_renderer.rb +2 -2
  253. data/app/renderers/hyrax/renderers/faceted_attribute_renderer.rb +1 -1
  254. data/app/renderers/hyrax/renderers/{rights_attribute_renderer.rb → license_attribute_renderer.rb} +4 -6
  255. data/app/search_builders/hyrax/README.md +3 -3
  256. data/app/search_builders/hyrax/admin_set_search_builder.rb +3 -21
  257. data/app/search_builders/hyrax/collection_member_search_builder.rb +9 -1
  258. data/app/search_builders/hyrax/collection_search_builder.rb +1 -25
  259. data/app/search_builders/hyrax/deposit_search_builder.rb +26 -0
  260. data/app/search_builders/hyrax/filter_by_type.rb +1 -3
  261. data/app/search_builders/hyrax/member_with_files_search_builder.rb +1 -1
  262. data/app/search_builders/hyrax/my/collections_search_builder.rb +8 -0
  263. data/app/search_builders/hyrax/{find_works_search_builder.rb → my/find_works_search_builder.rb} +2 -3
  264. data/app/search_builders/hyrax/{my_highlights_search_builder.rb → my/highlights_search_builder.rb} +2 -2
  265. data/app/search_builders/hyrax/my/search_builder.rb +21 -0
  266. data/app/search_builders/hyrax/{my_search_builder_behavior.rb → my/search_builder_behavior.rb} +1 -1
  267. data/app/search_builders/hyrax/{my_shares_search_builder.rb → my/shares_search_builder.rb} +3 -3
  268. data/app/search_builders/hyrax/{my_works_search_builder.rb → my/works_search_builder.rb} +6 -2
  269. data/app/search_builders/hyrax/parent_collection_search_builder.rb +12 -0
  270. data/app/search_builders/hyrax/search_builder.rb +0 -8
  271. data/app/search_builders/hyrax/search_filters.rb +11 -5
  272. data/app/search_builders/hyrax/single_admin_set_search_builder.rb +4 -2
  273. data/app/search_builders/hyrax/works_search_builder.rb +6 -1
  274. data/app/services/hyrax/admin_set_create_service.rb +37 -12
  275. data/app/services/hyrax/admin_set_service.rb +3 -2
  276. data/app/services/hyrax/analytics.rb +1 -1
  277. data/app/services/hyrax/collection_thumbnail_path_service.rb +1 -0
  278. data/{lib → app/services}/hyrax/collections/search_service.rb +1 -1
  279. data/app/services/hyrax/collections_service.rb +2 -2
  280. data/app/services/hyrax/curation_concern.rb +39 -7
  281. data/app/services/hyrax/default_middleware_stack.rb +27 -0
  282. data/app/services/hyrax/file_set_csv_service.rb +1 -1
  283. data/app/services/hyrax/file_set_derivatives_service.rb +6 -1
  284. data/app/services/hyrax/file_set_fixity_check_service.rb +122 -0
  285. data/app/services/hyrax/fixity_check_failure_service.rb +25 -0
  286. data/app/services/hyrax/form_metadata_service.rb +9 -3
  287. data/app/services/hyrax/lock_manager.rb +1 -14
  288. data/app/services/hyrax/microdata.rb +44 -13
  289. data/app/services/hyrax/noid.rb +0 -5
  290. data/app/services/hyrax/qa_select_service.rb +1 -1
  291. data/app/services/hyrax/quick_classification_query.rb +2 -2
  292. data/app/services/hyrax/repository_fixity_check_service.rb +12 -0
  293. data/app/services/hyrax/resource_types_service.rb +4 -1
  294. data/app/services/hyrax/statistics/depositors/summary.rb +9 -1
  295. data/app/services/hyrax/statistics/system_stats.rb +9 -0
  296. data/app/services/hyrax/statistics/term_query.rb +7 -0
  297. data/app/services/hyrax/statistics/works/count.rb +11 -0
  298. data/app/services/hyrax/thumbnail_path_service.rb +1 -1
  299. data/app/services/hyrax/user_stat_importer.rb +20 -18
  300. data/app/services/hyrax/workflow/abstract_notification.rb +1 -3
  301. data/app/services/hyrax/workflow/changes_required_notification.rb +1 -3
  302. data/app/services/hyrax/workflow/deposited_notification.rb +1 -3
  303. data/app/services/hyrax/workflow/grant_edit_to_depositor.rb +5 -0
  304. data/app/services/hyrax/workflow/grant_read_to_depositor.rb +3 -0
  305. data/app/services/hyrax/workflow/notification_service.rb +12 -4
  306. data/app/services/hyrax/workflow/pending_review_notification.rb +1 -3
  307. data/app/services/hyrax/workflow/permission_generator.rb +26 -2
  308. data/app/services/hyrax/workflow/permission_query.rb +21 -24
  309. data/app/services/hyrax/workflow/revoke_edit_from_depositor.rb +3 -0
  310. data/app/services/hyrax/workflow/workflow_action_service.rb +3 -3
  311. data/app/services/hyrax/working_directory.rb +3 -0
  312. data/app/uploaders/hyrax/avatar_uploader.rb +1 -1
  313. data/app/views/_flash_msg.html.erb +1 -1
  314. data/app/views/_masthead.html.erb +0 -2
  315. data/app/views/_user_util_links.html.erb +7 -10
  316. data/app/views/catalog/_document.html.erb +1 -3
  317. data/app/views/catalog/_index_list_default.html.erb +2 -1
  318. data/app/views/catalog/_search_form.html.erb +5 -5
  319. data/app/views/catalog/_thumbnail_list_default.html.erb +1 -2
  320. data/app/views/collections/edit_fields/_based_near.html.erb +8 -0
  321. data/app/views/hyrax/admin/admin_sets/_form.html.erb +3 -1
  322. data/app/views/hyrax/admin/admin_sets/_form_participant_table.html.erb +12 -3
  323. data/app/views/hyrax/admin/admin_sets/_show_document_list.html.erb +1 -1
  324. data/app/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb +2 -2
  325. data/app/views/hyrax/admin/admin_sets/edit.html.erb +1 -1
  326. data/app/views/hyrax/admin/admin_sets/index.html.erb +8 -9
  327. data/app/views/hyrax/admin/admin_sets/index.json.jbuilder +5 -0
  328. data/app/views/hyrax/admin/admin_sets/new.html.erb +1 -1
  329. data/app/views/hyrax/admin/admin_sets/show.html.erb +22 -16
  330. data/app/views/hyrax/admin/appearances/show.html.erb +16 -0
  331. data/app/views/hyrax/admin/features/index.html.erb +5 -5
  332. data/app/views/hyrax/admin/stats/_deposits.html.erb +1 -2
  333. data/app/views/hyrax/admin/stats/_new_users.html.erb +1 -2
  334. data/app/views/hyrax/admin/stats/_works.html.erb +6 -6
  335. data/app/views/hyrax/admin/users/index.html.erb +3 -4
  336. data/app/views/hyrax/admin/workflow_roles/index.html.erb +58 -39
  337. data/app/views/hyrax/admin/workflows/index.html.erb +1 -1
  338. data/app/views/hyrax/base/_attribute_rows.html.erb +2 -1
  339. data/app/views/hyrax/base/_attributes.html.erb +1 -1
  340. data/app/views/hyrax/base/_form.html.erb +4 -3
  341. data/app/views/hyrax/base/_form_files.html.erb +2 -2
  342. data/app/views/hyrax/base/_form_member_of_collections.html.erb +1 -0
  343. data/app/views/hyrax/base/_form_metadata.html.erb +15 -15
  344. data/app/views/hyrax/base/_form_permission_under_embargo.html.erb +5 -4
  345. data/app/views/hyrax/base/_form_permission_under_lease.html.erb +3 -4
  346. data/app/views/hyrax/base/_form_progress.html.erb +6 -3
  347. data/app/views/hyrax/base/_form_share.html.erb +6 -6
  348. data/app/views/hyrax/base/_form_visibility_component.html.erb +9 -1
  349. data/app/views/hyrax/base/_guts4form.html.erb +39 -37
  350. data/app/views/hyrax/base/_metadata.html.erb +1 -1
  351. data/app/views/hyrax/base/_relationships_parent_rows.html.erb +8 -20
  352. data/app/views/hyrax/base/_work_title.erb +3 -1
  353. data/app/views/hyrax/base/edit.html.erb +1 -1
  354. data/app/views/hyrax/base/show.html.erb +5 -3
  355. data/app/views/hyrax/base/show.json.jbuilder +1 -1
  356. data/app/views/hyrax/base/unavailable.html.erb +3 -2
  357. data/app/views/hyrax/batch_edits/edit.html.erb +1 -1
  358. data/app/views/{batch_select → hyrax/batch_select}/_add_button.html.erb +0 -0
  359. data/app/views/hyrax/batch_uploads/_form.html.erb +2 -3
  360. data/app/views/hyrax/citations/work.html.erb +0 -2
  361. data/app/views/hyrax/collections/_collection_description.erb +1 -1
  362. data/app/views/hyrax/{my/_index_partials → collections}/_default_group.html.erb +4 -4
  363. data/app/views/hyrax/collections/_document_list.html.erb +1 -1
  364. data/app/views/hyrax/{my/_index_partials → collections}/_list_collections.html.erb +1 -1
  365. data/app/views/hyrax/collections/_list_works.html.erb +36 -0
  366. data/app/views/hyrax/collections/_media_display.html.erb +8 -1
  367. data/app/views/hyrax/collections/_search_form.html.erb +1 -1
  368. data/app/views/hyrax/collections/_show_document_list.html.erb +0 -3
  369. data/app/views/hyrax/collections/_show_document_list_row.html.erb +0 -5
  370. data/app/views/hyrax/collections/_sort_and_per_page.html.erb +0 -10
  371. data/app/views/hyrax/collections/show.html.erb +2 -5
  372. data/app/views/hyrax/content_blocks/_form.html.erb +63 -0
  373. data/app/views/hyrax/content_blocks/edit.html.erb +9 -0
  374. data/app/views/hyrax/content_blocks/templates/agreement.html.erb +44 -0
  375. data/app/views/hyrax/content_blocks/templates/terms.html.erb +62 -0
  376. data/app/views/hyrax/{admin/_collections.html.erb → dashboard/_admin_sets.html.erb} +3 -5
  377. data/app/views/hyrax/dashboard/_index_partials/_transfers.html.erb +3 -3
  378. data/app/views/hyrax/dashboard/_sidebar.html.erb +19 -0
  379. data/app/views/hyrax/{collections → dashboard/collections}/_batch_edits_actions.html.erb +0 -0
  380. data/app/views/hyrax/dashboard/collections/_bookmark_control.html.erb +23 -0
  381. data/app/views/hyrax/dashboard/collections/_button_create_collection.html.erb +1 -0
  382. data/app/views/hyrax/{collections → dashboard/collections}/_button_for_remove_selected_from_collection.html.erb +1 -1
  383. data/app/views/hyrax/{collections → dashboard/collections}/_button_for_update_collection.html.erb +1 -1
  384. data/app/views/hyrax/{collections → dashboard/collections}/_button_remove_from_collection.html.erb +1 -1
  385. data/app/views/hyrax/dashboard/collections/_document_list.html.erb +13 -0
  386. data/app/views/hyrax/{collections → dashboard/collections}/_edit_actions.html.erb +3 -2
  387. data/app/views/hyrax/dashboard/collections/_form.html.erb +86 -0
  388. data/app/views/hyrax/dashboard/collections/_form_default_group.html.erb +25 -0
  389. data/app/views/hyrax/{collections → dashboard/collections}/_form_for_select_collection.html.erb +5 -5
  390. data/app/views/hyrax/{collections → dashboard/collections}/_form_permission.html.erb +0 -0
  391. data/app/views/hyrax/dashboard/collections/_form_share.html.erb +90 -0
  392. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +45 -0
  393. data/app/views/hyrax/dashboard/collections/_list_works.html.erb +40 -0
  394. data/app/views/hyrax/{collections → dashboard/collections}/_show_actions.html.erb +4 -3
  395. data/app/views/hyrax/dashboard/collections/_show_descriptions.html.erb +7 -0
  396. data/app/views/hyrax/dashboard/collections/_show_document_list.html.erb +17 -0
  397. data/app/views/hyrax/{collections → dashboard/collections}/_show_document_list_menu.html.erb +1 -1
  398. data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +49 -0
  399. data/app/views/hyrax/dashboard/collections/_show_fields.html.erb +0 -0
  400. data/app/views/hyrax/{collections → dashboard/collections}/_single_item_action_fields.html.erb +0 -0
  401. data/app/views/hyrax/dashboard/collections/_sort_and_per_page.html.erb +32 -0
  402. data/app/views/hyrax/{collections → dashboard/collections}/_work_action_menu.html.erb +0 -0
  403. data/app/views/hyrax/dashboard/collections/edit.html.erb +35 -0
  404. data/app/views/hyrax/{collections → dashboard/collections}/edit_fields/_description.html.erb +0 -0
  405. data/app/views/hyrax/dashboard/collections/new.html.erb +11 -0
  406. data/app/views/hyrax/dashboard/collections/show.html.erb +36 -0
  407. data/app/views/hyrax/{users → dashboard/profiles}/_edit_primary.html.erb +3 -8
  408. data/app/views/hyrax/{users → dashboard/profiles}/_edit_secondary.html.erb +0 -0
  409. data/app/views/hyrax/{users → dashboard/profiles}/_trophy_edit.html.erb +0 -0
  410. data/app/views/hyrax/{users → dashboard/profiles}/_zotero.html.erb +0 -0
  411. data/app/views/hyrax/dashboard/profiles/edit.html.erb +14 -0
  412. data/app/views/hyrax/dashboard/profiles/show.html.erb +22 -0
  413. data/app/views/hyrax/{admin/show.html.erb → dashboard/show_admin.html.erb} +1 -1
  414. data/app/views/hyrax/dashboard/{_index_partials/_contents.html.erb → show_user.html.erb} +14 -10
  415. data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +27 -0
  416. data/app/views/hyrax/dashboard/sidebar/_configuration.html.erb +31 -0
  417. data/app/views/hyrax/dashboard/sidebar/_repository_content.html.erb +17 -0
  418. data/app/views/hyrax/dashboard/sidebar/_tasks.html.erb +12 -0
  419. data/app/views/hyrax/dashboard/works/_default_group.html.erb +19 -0
  420. data/app/views/hyrax/{my/_index_partials → dashboard/works}/_list_works.html.erb +0 -6
  421. data/app/views/hyrax/embargoes/_embargo_history.html.erb +8 -0
  422. data/app/views/hyrax/embargoes/_list_active_embargoes.html.erb +18 -0
  423. data/app/views/hyrax/embargoes/_list_deactivated_embargoes.html.erb +4 -0
  424. data/app/views/hyrax/embargoes/_list_expired_active_embargoes.html.erb +53 -0
  425. data/app/views/hyrax/embargoes/_table_headers.html.erb +5 -0
  426. data/app/views/hyrax/embargoes/edit.html.erb +45 -0
  427. data/app/views/hyrax/embargoes/index.html.erb +25 -0
  428. data/app/views/hyrax/file_sets/_actions.html.erb +1 -2
  429. data/app/views/hyrax/file_sets/_extra_fields_modal.html.erb +1 -1
  430. data/app/views/hyrax/file_sets/_file_set_title.erb +9 -0
  431. data/app/views/hyrax/file_sets/_permission_form.html.erb +2 -2
  432. data/app/views/hyrax/file_sets/_show_characterization_details.html.erb +1 -1
  433. data/app/views/hyrax/file_sets/_show_details.html.erb +2 -2
  434. data/app/views/hyrax/file_sets/media_display/_image.html.erb +1 -2
  435. data/app/views/hyrax/file_sets/show.html.erb +2 -4
  436. data/app/views/hyrax/homepage/_announcement.html.erb +2 -2
  437. data/app/views/hyrax/homepage/_explore_collections.html.erb +8 -7
  438. data/app/views/hyrax/homepage/_featured_researcher.html.erb +5 -7
  439. data/app/views/hyrax/homepage/_home_content.html.erb +14 -18
  440. data/app/views/hyrax/homepage/_marketing.html.erb +2 -3
  441. data/app/views/hyrax/homepage/index.html.erb +2 -2
  442. data/app/views/hyrax/leases/_lease_history.html.erb +8 -0
  443. data/app/views/hyrax/leases/_list_active_leases.html.erb +18 -0
  444. data/app/views/hyrax/leases/_list_deactivated_leases.html.erb +4 -0
  445. data/app/views/hyrax/leases/_list_expired_active_leases.html.erb +53 -0
  446. data/app/views/hyrax/leases/_table_headers.html.erb +5 -0
  447. data/app/views/hyrax/leases/edit.html.erb +45 -0
  448. data/app/views/hyrax/leases/index.html.erb +24 -0
  449. data/app/views/hyrax/my/_collection_action_menu.html.erb +3 -3
  450. data/app/views/hyrax/my/_constraints.html.erb +11 -9
  451. data/app/views/hyrax/my/_document_list.html.erb +1 -1
  452. data/app/views/hyrax/my/_facet_layout.html.erb +6 -11
  453. data/app/views/hyrax/my/_facet_limit.html.erb +5 -1
  454. data/app/views/hyrax/my/_scripts.js.erb +0 -5
  455. data/app/views/hyrax/my/_search_form.html.erb +14 -0
  456. data/app/views/hyrax/my/_search_header.html.erb +25 -1
  457. data/app/views/hyrax/my/_sort_and_per_page.html.erb +1 -27
  458. data/app/views/hyrax/my/_work_action_menu.html.erb +1 -1
  459. data/app/views/hyrax/my/collections/_default_group.html.erb +18 -0
  460. data/app/views/hyrax/my/collections/_facets.html.erb +7 -0
  461. data/app/views/hyrax/my/collections/_list_collections.html.erb +43 -0
  462. data/app/views/hyrax/my/collections/_tabs.html.erb +9 -0
  463. data/app/views/hyrax/my/collections/index.html.erb +38 -0
  464. data/app/views/hyrax/my/index.html.erb +18 -27
  465. data/app/views/hyrax/my/works/_default_group.html.erb +20 -0
  466. data/app/views/hyrax/my/works/_facets.html.erb +7 -0
  467. data/app/views/hyrax/my/works/_list_works.html.erb +40 -0
  468. data/app/views/hyrax/my/works/_tabs.html.erb +9 -0
  469. data/app/views/hyrax/my/works/index.html.erb +62 -0
  470. data/app/views/hyrax/notifications/_notifications.html.erb +37 -0
  471. data/app/views/hyrax/notifications/index.html.erb +15 -0
  472. data/app/views/hyrax/pages/_form.html.erb +82 -0
  473. data/app/views/hyrax/pages/edit.html.erb +9 -0
  474. data/app/views/hyrax/pages/show.html.erb +3 -1
  475. data/app/views/hyrax/permissions/confirm_access.html.erb +1 -1
  476. data/app/views/hyrax/stats/file.html.erb +1 -1
  477. data/app/views/hyrax/stats/work.html.erb +1 -1
  478. data/app/views/hyrax/transfers/_received.html.erb +9 -11
  479. data/app/views/hyrax/transfers/_sent.html.erb +7 -9
  480. data/app/views/hyrax/transfers/index.html.erb +27 -5
  481. data/app/views/hyrax/transfers/new.html.erb +9 -3
  482. data/app/views/hyrax/uploads/_js_templates.html.erb +4 -3
  483. data/app/views/hyrax/users/_activity_log.html.erb +7 -2
  484. data/app/views/hyrax/users/_left_sidebar.html.erb +1 -1
  485. data/app/views/hyrax/users/_notify_number.html.erb +8 -3
  486. data/app/views/hyrax/users/_profile_tabs.html.erb +1 -1
  487. data/app/views/hyrax/users/_user.html.erb +1 -5
  488. data/app/views/hyrax/users/_user_row.html.erb +3 -3
  489. data/app/views/layouts/_head_tag_content.html.erb +1 -1
  490. data/app/views/layouts/dashboard.html.erb +34 -0
  491. data/app/views/layouts/hyrax.html.erb +13 -34
  492. data/app/views/records/edit_fields/_based_near.html.erb +5 -1
  493. data/app/views/records/edit_fields/{_rights.html.erb → _license.html.erb} +1 -1
  494. data/app/views/records/edit_fields/_rights_statement.html.erb +5 -0
  495. data/app/views/shared/_appearance_styles.html.erb +59 -0
  496. data/app/views/shared/_citations.html.erb +5 -5
  497. data/app/views/shared/_footer.html.erb +1 -1
  498. data/app/views/shared/_select_work_type_modal.html.erb +2 -2
  499. data/artifacts/entity-relationship-diagram.dot +76 -0
  500. data/artifacts/entity-relationship-diagram.pdf +0 -0
  501. data/config/brakeman.ignore +105 -0
  502. data/config/features.rb +4 -0
  503. data/config/i18n-tasks.yml +127 -0
  504. data/config/initializers/hyrax_callbacks.rb +5 -6
  505. data/config/locales/hyrax.de.yml +865 -0
  506. data/config/locales/hyrax.en.yml +224 -102
  507. data/config/locales/hyrax.es.yml +649 -526
  508. data/config/locales/hyrax.fr.yml +865 -0
  509. data/config/locales/hyrax.it.yml +865 -0
  510. data/config/locales/hyrax.pt-BR.yml +865 -0
  511. data/config/locales/hyrax.zh.yml +627 -497
  512. data/config/locales/simple_form.de.yml +10 -0
  513. data/config/locales/simple_form.es.yml +10 -0
  514. data/config/locales/simple_form.fr.yml +10 -0
  515. data/config/locales/simple_form.it.yml +10 -0
  516. data/config/locales/simple_form.pt-BR.yml +10 -0
  517. data/config/locales/simple_form.zh.yml +10 -0
  518. data/config/routes.rb +69 -28
  519. data/db/migrate/20170307142607_tidy_up_because_of_bad_exception.rb +1 -1
  520. data/db/migrate/20170504192714_change_checksum_audit_log.rb +18 -0
  521. data/db/migrate/20170621201939_create_job_io_wrappers.rb +15 -0
  522. data/hyrax.gemspec +23 -27
  523. data/lib/generators/hyrax/assets_generator.rb +1 -0
  524. data/lib/generators/hyrax/clamav_generator.rb +1 -0
  525. data/lib/generators/hyrax/config_generator.rb +6 -0
  526. data/lib/generators/hyrax/install_generator.rb +0 -12
  527. data/lib/generators/hyrax/models_generator.rb +2 -0
  528. data/lib/generators/hyrax/templates/app/models/collection.rb +1 -0
  529. data/lib/generators/hyrax/templates/catalog_controller.rb +4 -4
  530. data/lib/generators/hyrax/templates/config/hyrax.rb +23 -33
  531. data/lib/generators/hyrax/templates/config/locales/hyrax.de.yml +56 -0
  532. data/lib/generators/hyrax/templates/config/locales/hyrax.en.yml +3 -3
  533. data/lib/generators/hyrax/templates/config/locales/hyrax.es.yml +9 -8
  534. data/lib/generators/hyrax/templates/config/locales/hyrax.fr.yml +56 -0
  535. data/lib/generators/hyrax/templates/config/locales/hyrax.it.yml +56 -0
  536. data/lib/generators/hyrax/templates/config/locales/hyrax.pt-BR.yml +56 -0
  537. data/lib/generators/hyrax/templates/config/locales/hyrax.zh.yml +9 -8
  538. data/lib/generators/hyrax/work/templates/controller.rb.erb +3 -0
  539. data/lib/generators/hyrax/work/templates/feature_spec.rb.erb +1 -1
  540. data/lib/generators/hyrax/work/templates/indexer.rb.erb +19 -0
  541. data/lib/generators/hyrax/work/templates/locale.de.yml.erb +8 -0
  542. data/lib/generators/hyrax/work/templates/locale.fr.yml.erb +8 -0
  543. data/lib/generators/hyrax/work/templates/locale.it.yml.erb +8 -0
  544. data/lib/generators/hyrax/work/templates/locale.pt-BR.yml.erb +8 -0
  545. data/lib/generators/hyrax/work/templates/model.rb.erb +7 -2
  546. data/lib/generators/hyrax/work/templates/presenter.rb.erb +6 -0
  547. data/lib/generators/hyrax/work/templates/presenter_spec.rb.erb +9 -0
  548. data/lib/generators/hyrax/work/work_generator.rb +25 -10
  549. data/lib/hyrax.rb +0 -1
  550. data/lib/hyrax/arkivo/actor.rb +14 -5
  551. data/lib/hyrax/arkivo/create_subscription_job.rb +1 -1
  552. data/lib/hyrax/arkivo/schema_validator.rb +1 -1
  553. data/lib/hyrax/configuration.rb +58 -100
  554. data/lib/hyrax/controller_resource.rb +1 -1
  555. data/lib/hyrax/engine.rb +7 -4
  556. data/lib/hyrax/rails/routes.rb +2 -18
  557. data/lib/hyrax/resource_sync/capability_list_writer.rb +3 -0
  558. data/lib/hyrax/resource_sync/change_list_writer.rb +14 -2
  559. data/lib/hyrax/role_registry.rb +5 -0
  560. data/lib/hyrax/version.rb +1 -1
  561. data/lib/tasks/default_admin_set.rake +12 -1
  562. data/lib/tasks/migrate.rake +21 -4
  563. data/spec/abilities/ability_spec.rb +98 -8
  564. data/spec/abilities/admin_ability_spec.rb +5 -2
  565. data/spec/abilities/admin_set_abilities_spec.rb +2 -2
  566. data/spec/abilities/collection_abilities_spec.rb +5 -2
  567. data/spec/abilities/embargo_and_lease_ability_spec.rb +1 -2
  568. data/spec/abilities/file_set_abilities_spec.rb +8 -5
  569. data/spec/abilities/generic_work_abilities_spec.rb +10 -7
  570. data/spec/abilities/operation_ability_spec.rb +4 -3
  571. data/spec/abilities/proxies_and_transfer_abilities_spec.rb +13 -2
  572. data/spec/actors/hyrax/actors/apply_order_actor_spec.rb +25 -35
  573. data/spec/actors/hyrax/{apply_permission_template_actor_spec.rb → actors/apply_permission_template_actor_spec.rb} +15 -16
  574. data/spec/actors/hyrax/actors/attach_members_actor_spec.rb +16 -16
  575. data/spec/actors/hyrax/actors/cleanup_file_sets_actor_spec.rb +24 -0
  576. data/spec/actors/hyrax/actors/cleanup_trophies_actor_spec.rb +25 -0
  577. data/spec/actors/hyrax/actors/{add_as_member_of_collections_actor_spec.rb → collections_membership_actor_spec.rb} +29 -20
  578. data/spec/actors/hyrax/{create_with_files_actor_spec.rb → actors/create_with_files_actor_spec.rb} +27 -16
  579. data/spec/actors/hyrax/actors/create_with_remote_files_actor_spec.rb +68 -0
  580. data/spec/actors/hyrax/{default_admin_set_actor_spec.rb → actors/default_admin_set_actor_spec.rb} +19 -18
  581. data/spec/actors/hyrax/actors/embargo_actor_spec.rb +2 -3
  582. data/spec/actors/hyrax/actors/featured_work_actor_spec.rb +38 -0
  583. data/spec/actors/hyrax/actors/file_actor_spec.rb +102 -35
  584. data/spec/actors/hyrax/actors/file_set_actor_spec.rb +102 -175
  585. data/spec/actors/hyrax/actors/generic_work_actor_spec.rb +86 -54
  586. data/spec/actors/hyrax/actors/initialize_workflow_actor_spec.rb +15 -15
  587. data/spec/actors/hyrax/actors/interpret_visibility_actor_spec.rb +71 -52
  588. data/spec/actors/hyrax/actors/lease_actor_spec.rb +2 -3
  589. data/spec/actors/hyrax/actors/model_actor_spec.rb +26 -0
  590. data/spec/actors/hyrax/actors/optimistic_lock_validator_spec.rb +19 -17
  591. data/spec/actors/hyrax/actors/transactional_request_spec.rb +17 -11
  592. data/spec/authorities/qa/authorities/find_works_spec.rb +6 -9
  593. data/spec/config/hyrax_events_spec.rb +3 -8
  594. data/spec/controllers/catalog_controller_spec.rb +5 -2
  595. data/spec/controllers/hyrax/accepts_batches_controller_spec.rb +6 -6
  596. data/spec/controllers/hyrax/admin/admin_sets_controller_spec.rb +29 -5
  597. data/spec/controllers/hyrax/admin/appearances_controller_spec.rb +66 -0
  598. data/spec/controllers/hyrax/admin/features_controller_spec.rb +4 -2
  599. data/spec/controllers/hyrax/admin/permission_template_accesses_controller_spec.rb +29 -12
  600. data/spec/controllers/hyrax/admin/permission_templates_controller_spec.rb +2 -4
  601. data/spec/controllers/hyrax/admin/stats_controller_spec.rb +1 -1
  602. data/spec/controllers/hyrax/admin/strategies_controller_spec.rb +2 -15
  603. data/spec/controllers/hyrax/admin/users_controller_spec.rb +3 -13
  604. data/spec/controllers/hyrax/admin/workflow_roles_controller_spec.rb +4 -8
  605. data/spec/controllers/hyrax/admin/workflows_controller_spec.rb +2 -4
  606. data/spec/controllers/hyrax/api/items_controller_spec.rb +22 -15
  607. data/spec/controllers/hyrax/api/zotero_controller_spec.rb +4 -4
  608. data/spec/controllers/hyrax/batch_edits_controller_spec.rb +7 -6
  609. data/spec/controllers/hyrax/batch_uploads_controller_spec.rb +25 -3
  610. data/spec/controllers/hyrax/citations_controller_spec.rb +3 -3
  611. data/spec/controllers/hyrax/collections_controller_spec.rb +7 -229
  612. data/spec/controllers/hyrax/contact_form_controller_spec.rb +11 -3
  613. data/spec/controllers/hyrax/content_blocks_controller_spec.rb +55 -55
  614. data/spec/controllers/hyrax/dashboard/collections_controller_spec.rb +353 -0
  615. data/spec/controllers/hyrax/dashboard/profiles_controller_spec.rb +155 -0
  616. data/spec/controllers/hyrax/dashboard/works_controller_spec.rb +13 -0
  617. data/spec/controllers/hyrax/dashboard_controller_spec.rb +19 -58
  618. data/spec/controllers/hyrax/depositors_controller_spec.rb +1 -1
  619. data/spec/controllers/hyrax/downloads_controller_spec.rb +19 -15
  620. data/spec/controllers/hyrax/embargoes_controller_spec.rb +106 -0
  621. data/spec/controllers/hyrax/featured_work_lists_controller_spec.rb +3 -3
  622. data/spec/controllers/hyrax/featured_works_controller_spec.rb +1 -1
  623. data/spec/controllers/hyrax/file_sets_controller_spec.rb +26 -25
  624. data/spec/controllers/hyrax/{audits_controller_spec.rb → fixity_checks_controller_spec.rb} +17 -10
  625. data/spec/controllers/hyrax/generic_works_controller_json_spec.rb +6 -10
  626. data/spec/controllers/hyrax/generic_works_controller_spec.rb +104 -82
  627. data/spec/controllers/hyrax/homepage_controller_spec.rb +19 -26
  628. data/spec/controllers/hyrax/leases_controller_spec.rb +106 -0
  629. data/spec/controllers/hyrax/my/collections_controller_spec.rb +23 -16
  630. data/spec/controllers/hyrax/my/highlights_controller_spec.rb +2 -3
  631. data/spec/controllers/hyrax/my/shares_controller_spec.rb +2 -1
  632. data/spec/controllers/hyrax/my/works_controller_spec.rb +33 -30
  633. data/spec/controllers/hyrax/{mailbox_controller_spec.rb → notifications_controller_spec.rb} +2 -2
  634. data/spec/controllers/hyrax/operations_controller_spec.rb +2 -3
  635. data/spec/controllers/hyrax/pages_controller_spec.rb +100 -12
  636. data/spec/controllers/hyrax/permissions_controller_spec.rb +7 -3
  637. data/spec/controllers/hyrax/resource_sync_controller_spec.rb +1 -1
  638. data/spec/controllers/hyrax/single_use_links_controller_spec.rb +4 -3
  639. data/spec/controllers/hyrax/single_use_links_viewer_controller_spec.rb +1 -3
  640. data/spec/controllers/hyrax/static_controller_spec.rb +1 -1
  641. data/spec/controllers/hyrax/stats_controller_spec.rb +10 -7
  642. data/spec/controllers/hyrax/transfers_controller_spec.rb +12 -31
  643. data/spec/controllers/hyrax/uploads_controller_spec.rb +3 -1
  644. data/spec/controllers/hyrax/users_controller_spec.rb +17 -166
  645. data/spec/controllers/hyrax/workflow_actions_controller_spec.rb +3 -4
  646. data/spec/conversions/power_converters/polymorphic_type_spec.rb +1 -1
  647. data/spec/conversions/power_converters/sipity_action_name_spec.rb +1 -1
  648. data/spec/conversions/power_converters/sipity_action_spec.rb +1 -1
  649. data/spec/conversions/power_converters/sipity_entity_spec.rb +5 -0
  650. data/spec/conversions/power_converters/sipity_role_spec.rb +0 -2
  651. data/spec/conversions/power_converters/sipity_workflow_state_spec.rb +1 -2
  652. data/spec/factories/admin_sets.rb +1 -1
  653. data/spec/factories/api_items.rb +3 -3
  654. data/spec/factories/collections_factory.rb +2 -2
  655. data/spec/factories/content_blocks.rb +1 -1
  656. data/spec/factories/featured_works.rb +1 -1
  657. data/spec/factories/file_sets.rb +3 -36
  658. data/spec/factories/generic_works.rb +15 -15
  659. data/spec/factories/operations.rb +1 -1
  660. data/spec/factories/permission_template_accesses.rb +5 -2
  661. data/spec/factories/permission_templates.rb +1 -1
  662. data/spec/factories/proxy_deposit_requests.rb +2 -2
  663. data/spec/factories/single_use_links.rb +1 -1
  664. data/spec/factories/sipity_entities.rb +1 -1
  665. data/spec/factories/uploaded_files.rb +1 -1
  666. data/spec/factories/users.rb +2 -2
  667. data/spec/factories/workflow_actions.rb +1 -1
  668. data/spec/factories/workflow_states.rb +1 -1
  669. data/spec/factories/workflows.rb +1 -1
  670. data/spec/features/admin_admin_set_spec.rb +5 -8
  671. data/spec/features/admin_spec.rb +2 -4
  672. data/spec/features/batch_create_spec.rb +1 -1
  673. data/spec/features/batch_edit_spec.rb +47 -115
  674. data/spec/features/browse_catalog_spec.rb +1 -1
  675. data/spec/features/browse_dashboard_works_spec.rb +55 -0
  676. data/spec/features/catalog_search_spec.rb +1 -1
  677. data/spec/features/collection_spec.rb +14 -222
  678. data/spec/features/contact_form_spec.rb +1 -1
  679. data/spec/features/create_child_work_spec.rb +3 -2
  680. data/spec/features/create_work_spec.rb +52 -41
  681. data/spec/features/dashboard/all_works.rb +14 -0
  682. data/spec/features/dashboard/collection_spec.rb +262 -0
  683. data/spec/features/dashboard/display_dashboard_spec.rb +18 -0
  684. data/spec/features/delete_work_spec.rb +1 -1
  685. data/spec/features/edit_file_spec.rb +1 -1
  686. data/spec/features/edit_work_spec.rb +1 -1
  687. data/spec/features/embargo_spec.rb +35 -0
  688. data/spec/features/homepage_spec.rb +5 -8
  689. data/spec/features/lease_spec.rb +35 -0
  690. data/spec/features/notifications_spec.rb +4 -3
  691. data/spec/features/ownership_transfer_spec.rb +8 -7
  692. data/spec/features/proxy_spec.rb +11 -4
  693. data/spec/features/search_spec.rb +3 -3
  694. data/spec/features/static_pages_spec.rb +0 -2
  695. data/spec/features/users_spec.rb +3 -12
  696. data/spec/features/work_generator_spec.rb +5 -3
  697. data/spec/features/work_show_spec.rb +4 -1
  698. data/spec/features/workflow_roles_spec.rb +2 -3
  699. data/spec/features/workflow_state_changes_spec.rb +2 -3
  700. data/spec/fixtures/config/schema_org.yml +2 -0
  701. data/spec/fixtures/config/schema_org_second.yml +7 -0
  702. data/spec/forms/hyrax/forms/admin/appearance_spec.rb +46 -0
  703. data/spec/forms/hyrax/forms/admin_set_form_spec.rb +71 -3
  704. data/spec/forms/hyrax/forms/batch_edit_form_spec.rb +10 -6
  705. data/spec/forms/hyrax/forms/batch_upload_form_spec.rb +9 -3
  706. data/spec/forms/hyrax/forms/collection_form_spec.rb +39 -13
  707. data/spec/forms/hyrax/forms/file_manager_form_spec.rb +2 -2
  708. data/spec/forms/hyrax/forms/file_set_edit_form_spec.rb +3 -4
  709. data/spec/forms/hyrax/forms/permission_template_form_spec.rb +58 -5
  710. data/spec/forms/hyrax/forms/work_form_spec.rb +70 -16
  711. data/spec/forms/hyrax/forms/workflow_action_form_spec.rb +23 -7
  712. data/spec/forms/hyrax/forms/workflow_responsibility_form_spec.rb +3 -3
  713. data/spec/forms/hyrax/generic_work_form_spec.rb +14 -7
  714. data/spec/helpers/blacklight_helper_spec.rb +32 -19
  715. data/spec/helpers/dashboard_helper_spec.rb +4 -19
  716. data/spec/helpers/hyrax/ability_helper_spec.rb +10 -5
  717. data/spec/helpers/{batch_edits_helper_spec.rb → hyrax/batch_edits_helper_spec.rb} +6 -1
  718. data/spec/helpers/hyrax/charts_helper_spec.rb +4 -3
  719. data/spec/helpers/hyrax/collections_helper_spec.rb +11 -10
  720. data/spec/helpers/hyrax/content_block_helper_spec.rb +22 -51
  721. data/spec/helpers/hyrax/file_set_helper_spec.rb +8 -4
  722. data/spec/helpers/hyrax/trophy_helper_spec.rb +2 -2
  723. data/spec/helpers/hyrax_helper_spec.rb +49 -3
  724. data/spec/indexers/hyrax/collection_indexer_spec.rb +24 -11
  725. data/spec/indexers/hyrax/file_set_indexer_spec.rb +36 -37
  726. data/spec/indexers/hyrax/{work_indexer_spec.rb → generic_work_indexer_spec.rb} +42 -5
  727. data/spec/inputs/controlled_vocabulary_input_spec.rb +57 -0
  728. data/spec/inputs/multifile_input_spec.rb +2 -3
  729. data/spec/javascripts/authority_select_spec.js +22 -0
  730. data/spec/javascripts/autocomplete_spec.js.coffee +16 -8
  731. data/spec/javascripts/batch_select_spec.js +15 -0
  732. data/spec/javascripts/fixtures/chart_example.html +1 -1
  733. data/spec/javascripts/fixtures/dashboard_batch_forms.html +11 -0
  734. data/spec/javascripts/jasmine_spec.rb +1 -1
  735. data/spec/javascripts/save_work_spec.js +19 -6
  736. data/spec/javascripts/visibility_component_spec.js +17 -36
  737. data/spec/jobs/attach_files_to_work_job_spec.rb +17 -16
  738. data/spec/jobs/batch_create_job_spec.rb +2 -1
  739. data/spec/jobs/characterize_job_spec.rb +24 -12
  740. data/spec/jobs/content_delete_event_job_spec.rb +1 -1
  741. data/spec/jobs/content_deposit_event_job_spec.rb +6 -7
  742. data/spec/jobs/content_depositor_change_event_job_spec.rb +4 -3
  743. data/spec/jobs/content_new_version_event_job_spec.rb +2 -2
  744. data/spec/jobs/content_restored_version_event_job_spec.rb +3 -2
  745. data/spec/jobs/content_update_event_job_spec.rb +6 -7
  746. data/spec/jobs/create_derivatives_job_spec.rb +1 -3
  747. data/spec/jobs/create_work_job_spec.rb +10 -7
  748. data/spec/jobs/file_set_attached_event_job_spec.rb +3 -3
  749. data/spec/jobs/fixity_check_job_spec.rb +51 -0
  750. data/spec/jobs/hyrax/grant_edit_job_spec.rb +11 -0
  751. data/spec/jobs/hyrax/grant_edit_to_members_job_spec.rb +16 -0
  752. data/spec/jobs/hyrax/grant_read_job_spec.rb +11 -0
  753. data/spec/jobs/hyrax/grant_read_to_members_job_spec.rb +16 -0
  754. data/spec/jobs/hyrax/revoke_edit_from_members_job_spec.rb +16 -0
  755. data/spec/jobs/hyrax/revoke_edit_job_spec.rb +11 -0
  756. data/spec/jobs/import_export_job_spec.rb +28 -0
  757. data/spec/jobs/import_url_job_spec.rb +3 -19
  758. data/spec/jobs/ingest_local_file_job_spec.rb +1 -3
  759. data/spec/jobs/inherit_permissions_job_spec.rb +1 -3
  760. data/spec/jobs/user_edit_profile_event_job_spec.rb +2 -1
  761. data/spec/jobs/visibility_copy_job_spec.rb +3 -5
  762. data/spec/lib/hyrax/analytics_spec.rb +1 -1
  763. data/spec/lib/hyrax/arkivo/actor_spec.rb +18 -16
  764. data/spec/lib/hyrax/arkivo/create_subscription_job_spec.rb +1 -3
  765. data/spec/lib/hyrax/arkivo/metadata_munger_spec.rb +2 -4
  766. data/spec/lib/hyrax/arkivo/schema_validator_spec.rb +5 -7
  767. data/spec/lib/hyrax/arkivo_spec.rb +1 -3
  768. data/spec/lib/hyrax/collections/search_service_spec.rb +2 -3
  769. data/spec/lib/hyrax/configuration_spec.rb +14 -13
  770. data/spec/lib/hyrax/controlled_vocabulary/importer/downloader_spec.rb +3 -1
  771. data/spec/lib/hyrax/controlled_vocabulary/importer/language_spec.rb +1 -1
  772. data/spec/lib/hyrax/move_all_works_to_admin_set_spec.rb +2 -2
  773. data/spec/lib/hyrax/name_spec.rb +4 -3
  774. data/spec/lib/hyrax/redis_event_store_spec.rb +5 -1
  775. data/spec/lib/hyrax/resource_sync/capability_list_writer_spec.rb +1 -3
  776. data/spec/lib/hyrax/resource_sync/change_list_writer_spec.rb +38 -28
  777. data/spec/lib/hyrax/resource_sync/resource_list_writer_spec.rb +2 -4
  778. data/spec/lib/hyrax/resource_sync/source_description_writer_spec.rb +1 -4
  779. data/spec/lib/hyrax/role_registry_spec.rb +9 -2
  780. data/spec/lib/hyrax/search_state_spec.rb +3 -2
  781. data/spec/lib/hyrax/zotero/config_spec.rb +2 -4
  782. data/spec/lib/hyrax/zotero_spec.rb +2 -1
  783. data/spec/models/admin_set_spec.rb +26 -12
  784. data/spec/models/batch_upload_item_spec.rb +1 -2
  785. data/spec/models/checksum_audit_log_spec.rb +131 -35
  786. data/spec/models/collection_spec.rb +5 -2
  787. data/spec/models/content_block_spec.rb +158 -49
  788. data/spec/models/featured_work_list_spec.rb +32 -11
  789. data/spec/models/featured_work_spec.rb +5 -1
  790. data/spec/models/file_download_stat_spec.rb +9 -6
  791. data/spec/models/file_set_spec.rb +84 -57
  792. data/spec/models/file_view_stat_spec.rb +5 -4
  793. data/spec/models/flipflop_spec.rb +11 -2
  794. data/spec/models/generic_work_spec.rb +14 -42
  795. data/spec/models/hyrax/download_spec.rb +1 -1
  796. data/spec/models/hyrax/operation_spec.rb +10 -3
  797. data/spec/models/hyrax/pageview_spec.rb +1 -1
  798. data/spec/models/hyrax/permission_template_access_spec.rb +57 -0
  799. data/spec/models/hyrax/permission_template_spec.rb +38 -1
  800. data/spec/models/hyrax/permissions/readable_permissions_spec.rb +4 -6
  801. data/spec/models/hyrax/permissions/writable_permissions_spec.rb +1 -3
  802. data/spec/models/hyrax/uploaded_file_spec.rb +2 -1
  803. data/spec/models/hyrax/user_usage_stats_spec.rb +2 -2
  804. data/spec/models/hyrax/work_behavior_spec.rb +4 -5
  805. data/spec/models/job_io_wrapper_spec.rb +172 -0
  806. data/spec/models/proxy_deposit_request_spec.rb +4 -5
  807. data/spec/models/single_use_link_spec.rb +3 -3
  808. data/spec/models/sipity/agent_spec.rb +1 -2
  809. data/spec/models/sipity/comment_spec.rb +3 -1
  810. data/spec/models/sipity/entity_spec.rb +2 -3
  811. data/spec/models/sipity/entity_specific_responsibility_spec.rb +1 -0
  812. data/spec/models/sipity/notifiable_context_spec.rb +1 -2
  813. data/spec/models/sipity/notification_recipient_spec.rb +1 -2
  814. data/spec/models/sipity/notification_spec.rb +2 -2
  815. data/spec/models/sipity/role_spec.rb +1 -2
  816. data/spec/models/sipity/workflow_action_spec.rb +1 -0
  817. data/spec/models/sipity/workflow_responsibility_spec.rb +1 -0
  818. data/spec/models/sipity/workflow_spec.rb +4 -0
  819. data/spec/models/sipity/workflow_state_action_permission_spec.rb +1 -0
  820. data/spec/models/sipity/workflow_state_action_spec.rb +1 -0
  821. data/spec/models/sipity/workflow_state_spec.rb +2 -0
  822. data/spec/models/solr_document_spec.rb +57 -3
  823. data/spec/models/trophy_spec.rb +1 -1
  824. data/spec/models/user_mailbox_spec.rb +4 -1
  825. data/spec/models/user_spec.rb +33 -10
  826. data/spec/models/work_view_stat_spec.rb +8 -4
  827. data/spec/presenters/hyrax/admin/dashboard_presenter_spec.rb +3 -2
  828. data/spec/presenters/hyrax/admin/repository_growth_presenter_spec.rb +1 -2
  829. data/spec/presenters/hyrax/admin/repository_object_presenter_spec.rb +2 -2
  830. data/spec/presenters/hyrax/admin/user_activity_presenter_spec.rb +1 -2
  831. data/spec/presenters/hyrax/admin/users_presenter_spec.rb +3 -3
  832. data/spec/presenters/hyrax/admin/workflow_role_presenter_spec.rb +0 -2
  833. data/spec/presenters/hyrax/admin/workflow_roles_presenter_spec.rb +0 -2
  834. data/spec/presenters/hyrax/admin_set_options_presenter_spec.rb +4 -4
  835. data/spec/presenters/hyrax/admin_set_presenter_spec.rb +14 -19
  836. data/spec/presenters/hyrax/admin_stats_presenter_spec.rb +20 -114
  837. data/spec/presenters/hyrax/collection_options_presenter_spec.rb +1 -2
  838. data/spec/presenters/hyrax/collection_presenter_spec.rb +13 -2
  839. data/spec/presenters/hyrax/dashboard/user_presenter_spec.rb +65 -0
  840. data/spec/presenters/hyrax/embargo_presenter_spec.rb +6 -3
  841. data/spec/presenters/hyrax/file_set_presenter_spec.rb +38 -15
  842. data/spec/presenters/hyrax/file_usage_spec.rb +14 -10
  843. data/spec/presenters/hyrax/fixity_status_presenter_spec.rb +55 -0
  844. data/spec/presenters/hyrax/homepage_presenter_spec.rb +30 -10
  845. data/spec/presenters/hyrax/inspect_work_presenter_spec.rb +3 -2
  846. data/spec/presenters/hyrax/lease_presenter_spec.rb +6 -3
  847. data/spec/presenters/hyrax/member_presenter_factory_spec.rb +5 -4
  848. data/spec/presenters/hyrax/menu_presenter_spec.rb +51 -7
  849. data/spec/presenters/hyrax/permission_badge_spec.rb +14 -9
  850. data/spec/presenters/hyrax/presenter_factory_spec.rb +10 -9
  851. data/spec/presenters/hyrax/presenter_renderer_spec.rb +3 -1
  852. data/spec/presenters/hyrax/select_type_list_presenter_spec.rb +10 -3
  853. data/spec/presenters/hyrax/select_type_presenter_spec.rb +43 -2
  854. data/spec/presenters/hyrax/single_use_link_presenter_spec.rb +3 -3
  855. data/spec/presenters/hyrax/transfers_presenter_spec.rb +44 -0
  856. data/spec/presenters/hyrax/trophy_presenter_spec.rb +7 -0
  857. data/spec/presenters/hyrax/twitter_presenter_spec.rb +27 -0
  858. data/spec/presenters/hyrax/user_profile_presenter_spec.rb +2 -0
  859. data/spec/presenters/hyrax/version_list_presenter_spec.rb +1 -3
  860. data/spec/presenters/hyrax/version_presenter_spec.rb +6 -3
  861. data/spec/presenters/hyrax/work_show_presenter_spec.rb +63 -6
  862. data/spec/presenters/hyrax/work_usage_spec.rb +13 -7
  863. data/spec/presenters/hyrax/workflow_presenter_spec.rb +24 -2
  864. data/spec/renderers/hyrax/renderers/attribute_renderer_spec.rb +7 -5
  865. data/spec/renderers/hyrax/renderers/date_attribute_renderer_spec.rb +4 -3
  866. data/spec/renderers/hyrax/renderers/external_link_attribute_renderer_spec.rb +3 -3
  867. data/spec/renderers/hyrax/renderers/faceted_attribute_renderer_spec.rb +15 -3
  868. data/spec/renderers/hyrax/renderers/{rights_attribute_renderer_spec.rb → license_attribute_renderer_spec.rb} +7 -7
  869. data/spec/renderers/hyrax/renderers/linked_attribute_renderer_spec.rb +3 -3
  870. data/spec/requests/legacy_routing_spec.rb +1 -1
  871. data/spec/routing/admin_routes_spec.rb +4 -3
  872. data/spec/routing/api_route_spec.rb +1 -1
  873. data/spec/routing/citations_route_spec.rb +1 -1
  874. data/spec/routing/featured_works_route_spec.rb +1 -1
  875. data/spec/routing/operations_spec.rb +1 -1
  876. data/spec/routing/ownership_transfers_route_spec.rb +1 -1
  877. data/spec/routing/resource_sync_spec.rb +1 -1
  878. data/spec/routing/route_spec.rb +51 -26
  879. data/spec/routing/single_use_link_spec.rb +1 -3
  880. data/spec/routing/stats_route_spec.rb +1 -1
  881. data/spec/search_builders/hyrax/admin_admin_set_member_search_builder_spec.rb +1 -2
  882. data/spec/{search_builder → search_builders}/hyrax/admin_set_search_builder_spec.rb +7 -9
  883. data/spec/{search_builder → search_builders}/hyrax/catalog_search_builder_spec.rb +4 -1
  884. data/spec/{search_builder → search_builders}/hyrax/embargo_search_builder_spec.rb +3 -3
  885. data/spec/{search_builder → search_builders}/hyrax/file_set_search_builder_spec.rb +2 -3
  886. data/spec/{search_builder → search_builders}/hyrax/lease_search_builder_spec.rb +3 -3
  887. data/spec/{search_builder/hyrax → search_builders/hyrax/my}/find_works_search_builder_spec.rb +6 -3
  888. data/spec/{search_builder/hyrax/my_shares_search_builder_spec.rb → search_builders/hyrax/my/shares_search_builder_spec.rb} +1 -1
  889. data/spec/{search_builder/hyrax/my_works_search_builder_spec.rb → search_builders/hyrax/my/works_search_builder_spec.rb} +3 -1
  890. data/spec/{search_builder → search_builders}/hyrax/single_admin_set_search_builder_spec.rb +2 -2
  891. data/spec/{search_builder → search_builders}/hyrax/stats/work_status_search_builder_spec.rb +0 -2
  892. data/spec/{search_builder → search_builders}/hyrax/work_relation_spec.rb +2 -3
  893. data/spec/{search_builder → search_builders}/hyrax/work_search_builder_spec.rb +5 -1
  894. data/spec/search_builders/hyrax/works_search_builder_spec.rb +1 -2
  895. data/spec/services/hyrax/admin_set_create_service_spec.rb +32 -15
  896. data/spec/services/hyrax/admin_set_service_spec.rb +13 -7
  897. data/spec/services/hyrax/batch_create_failure_service_spec.rb +1 -1
  898. data/spec/services/hyrax/batch_create_success_service_spec.rb +1 -1
  899. data/spec/services/hyrax/change_content_depositor_service_spec.rb +1 -1
  900. data/spec/services/hyrax/collection_member_service_spec.rb +1 -1
  901. data/spec/services/hyrax/collection_size_service_spec.rb +1 -1
  902. data/spec/services/hyrax/collections_service_spec.rb +5 -3
  903. data/spec/services/hyrax/curation_concern_spec.rb +4 -5
  904. data/spec/services/hyrax/default_middleware_stack_spec.rb +36 -0
  905. data/spec/services/hyrax/derivative_path_spec.rb +7 -3
  906. data/spec/services/hyrax/derivative_service_spec.rb +4 -1
  907. data/spec/services/hyrax/embargo_service_spec.rb +6 -7
  908. data/spec/services/hyrax/file_set_csv_service_spec.rb +19 -10
  909. data/spec/services/hyrax/file_set_derivatives_service_spec.rb +2 -1
  910. data/spec/services/hyrax/file_set_fixity_check_service_spec.rb +116 -0
  911. data/spec/services/hyrax/fixity_check_failure_service_spec.rb +29 -0
  912. data/spec/services/hyrax/graph_exporter_spec.rb +3 -2
  913. data/spec/services/hyrax/import_url_failure_service_spec.rb +1 -1
  914. data/spec/services/hyrax/lease_service_spec.rb +2 -5
  915. data/spec/services/hyrax/license_service_spec.rb +1 -3
  916. data/spec/services/hyrax/lock_manager_spec.rb +2 -3
  917. data/spec/services/hyrax/microdata_spec.rb +94 -0
  918. data/spec/services/hyrax/noid_spec.rb +3 -6
  919. data/spec/services/hyrax/parent_service_spec.rb +0 -2
  920. data/spec/services/hyrax/persist_derivatives_spec.rb +1 -3
  921. data/spec/services/hyrax/persist_directly_contained_output_file_service_spec.rb +2 -3
  922. data/spec/services/hyrax/qa_select_service_spec.rb +8 -4
  923. data/spec/services/hyrax/query_service_spec.rb +17 -1
  924. data/spec/services/hyrax/quick_classification_query_spec.rb +6 -3
  925. data/spec/services/hyrax/repository_fixity_check_service_spec.rb +18 -0
  926. data/spec/services/hyrax/resource_types_service_spec.rb +4 -3
  927. data/spec/services/hyrax/rights_statements_spec.rb +1 -3
  928. data/spec/services/hyrax/statistics/collections/over_time_spec.rb +1 -1
  929. data/spec/services/hyrax/statistics/depositors/summary_spec.rb +10 -2
  930. data/spec/services/hyrax/statistics/file_sets/by_format_spec.rb +4 -5
  931. data/spec/services/hyrax/statistics/system_stats_spec.rb +5 -4
  932. data/spec/services/hyrax/statistics/users/over_time_spec.rb +1 -2
  933. data/spec/services/hyrax/statistics/works/by_depositor_spec.rb +3 -4
  934. data/spec/services/hyrax/statistics/works/by_resource_type_spec.rb +1 -1
  935. data/spec/services/hyrax/statistics/works/count_spec.rb +7 -7
  936. data/spec/services/hyrax/statistics/works/over_time_spec.rb +1 -1
  937. data/spec/services/hyrax/thumbnail_path_service_spec.rb +12 -4
  938. data/spec/services/hyrax/user_stat_importer_spec.rb +52 -46
  939. data/spec/services/hyrax/versioning_service_spec.rb +1 -3
  940. data/spec/services/hyrax/work_query_service_spec.rb +6 -0
  941. data/spec/services/hyrax/workflow/action_taken_service_spec.rb +2 -2
  942. data/spec/services/hyrax/workflow/activate_object_spec.rb +1 -1
  943. data/spec/services/hyrax/workflow/changes_required_notification_spec.rb +4 -5
  944. data/spec/services/hyrax/workflow/deactivate_object_spec.rb +1 -1
  945. data/spec/services/hyrax/workflow/deposited_notification_spec.rb +4 -5
  946. data/spec/services/hyrax/workflow/grant_edit_to_depositor_spec.rb +19 -1
  947. data/spec/services/hyrax/workflow/grant_read_to_depositor_spec.rb +48 -0
  948. data/spec/services/hyrax/workflow/method_generator_spec.rb +1 -2
  949. data/spec/services/hyrax/workflow/notification_configuration_parameter_spec.rb +1 -2
  950. data/spec/services/hyrax/workflow/notification_generator_spec.rb +3 -3
  951. data/spec/services/hyrax/workflow/notification_service_spec.rb +37 -3
  952. data/spec/services/hyrax/workflow/pending_review_notification_spec.rb +4 -5
  953. data/spec/services/hyrax/workflow/permission_generator_spec.rb +4 -6
  954. data/spec/services/hyrax/workflow/permission_query_spec.rb +25 -3
  955. data/spec/services/hyrax/workflow/revoke_edit_from_depositor_spec.rb +16 -3
  956. data/spec/services/hyrax/workflow/sipity_actions_generator_spec.rb +0 -2
  957. data/spec/services/hyrax/workflow/state_machine_generator_spec.rb +12 -13
  958. data/spec/services/hyrax/workflow/status_list_service_spec.rb +2 -4
  959. data/spec/services/hyrax/workflow/workflow_factory_spec.rb +2 -1
  960. data/spec/services/hyrax/workflow/workflow_importer_spec.rb +7 -0
  961. data/spec/services/hyrax/workflow/workflow_permissions_generator_spec.rb +2 -0
  962. data/spec/services/hyrax/workflow/workflow_schema_spec.rb +2 -2
  963. data/spec/services/hyrax/working_directory_spec.rb +3 -3
  964. data/spec/spec_helper.rb +35 -61
  965. data/spec/strategies/hyrax/strategies/yaml_strategy_spec.rb +2 -2
  966. data/spec/support/controller_level_helpers.rb +1 -0
  967. data/spec/support/features.rb +2 -2
  968. data/spec/support/features/batch_edit_actions.rb +28 -0
  969. data/spec/support/features/session_helpers.rb +1 -1
  970. data/spec/support/features/workflow.rb +9 -0
  971. data/spec/support/logging_formatter.rb +66 -0
  972. data/spec/support/spec_statistic.rb +23 -0
  973. data/spec/tasks/rake_spec.rb +1 -1
  974. data/spec/test_app_templates/disable_animations_in_test_environment.rb +54 -0
  975. data/spec/test_app_templates/lib/generators/test_app_generator.rb +10 -1
  976. data/spec/views/_flash_msg.html.erb_spec.rb +4 -1
  977. data/spec/views/_user_util_links.html.erb_spec.rb +8 -8
  978. data/spec/views/catalog/_index_list_default.html.erb_spec.rb +1 -0
  979. data/spec/views/catalog/_search_form.html.erb_spec.rb +0 -2
  980. data/spec/views/catalog/_thumbnail_list_collection.html.erb_spec.rb +1 -1
  981. data/spec/views/catalog/index.html.erb_spec.rb +1 -1
  982. data/spec/views/content_blocks/edit.html.erb_spec.rb +21 -0
  983. data/spec/views/hyrax/admin/admin_sets/_form.html.erb_spec.rb +7 -3
  984. data/spec/views/hyrax/admin/admin_sets/_form_participant_table.html.erb_spec.rb +6 -2
  985. data/spec/views/hyrax/admin/admin_sets/_form_participants.html.erb_spec.rb +1 -2
  986. data/spec/views/hyrax/admin/admin_sets/_form_visibility.html.erb_spec.rb +0 -2
  987. data/spec/views/hyrax/admin/admin_sets/_form_workflow.html.erb_spec.rb +1 -2
  988. data/spec/views/hyrax/admin/admin_sets/_show_document_list.html.erb_spec.rb +4 -18
  989. data/spec/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb_spec.rb +2 -2
  990. data/spec/views/hyrax/admin/admin_sets/index.html.erb_spec.rb +11 -2
  991. data/spec/views/hyrax/admin/admin_sets/index.json.erb_spec.rb +30 -0
  992. data/spec/views/hyrax/admin/admin_sets/show.html.erb_spec.rb +7 -9
  993. data/spec/views/hyrax/admin/features/index.html.erb_spec.rb +2 -1
  994. data/spec/views/hyrax/admin/stats/show.html.erb_spec.rb +6 -1
  995. data/spec/views/hyrax/admin/users/index.html.erb_spec.rb +2 -2
  996. data/spec/views/hyrax/admin/workflow_roles/index.html.erb_spec.rb +17 -10
  997. data/spec/views/hyrax/base/_attribute_rows.html.erb_spec.rb +11 -4
  998. data/spec/views/hyrax/base/_attributes.html.erb_spec.rb +1 -3
  999. data/spec/views/hyrax/base/_browse_everything.html.erb_spec.rb +7 -4
  1000. data/spec/views/hyrax/base/_citations.html.erb_spec.rb +2 -3
  1001. data/spec/views/hyrax/base/_find_work_widget.html.erb_spec.rb +1 -2
  1002. data/spec/views/hyrax/base/_form.html.erb_spec.rb +30 -7
  1003. data/spec/views/hyrax/base/_form_child_work_relationships.html.erb_spec.rb +4 -3
  1004. data/spec/views/hyrax/base/_form_metadata.html.erb_spec.rb +40 -0
  1005. data/spec/views/hyrax/base/_form_progress.html.erb_spec.rb +17 -8
  1006. data/spec/views/hyrax/base/_form_relationships.html.erb_spec.rb +7 -8
  1007. data/spec/views/hyrax/base/_items.html.erb_spec.rb +25 -34
  1008. data/spec/views/hyrax/base/_member.html.erb_spec.rb +6 -4
  1009. data/spec/views/hyrax/base/_relationships.html.erb_spec.rb +9 -48
  1010. data/spec/views/hyrax/base/_show_actions.html.erb_spec.rb +8 -11
  1011. data/spec/views/hyrax/base/_social_media.html.erb_spec.rb +1 -3
  1012. data/spec/views/hyrax/base/edit.html.erb_spec.rb +4 -4
  1013. data/spec/views/hyrax/base/file_manager.html.erb_spec.rb +1 -3
  1014. data/spec/views/hyrax/base/show.html.erb_spec.rb +151 -7
  1015. data/spec/views/hyrax/base/show.json.jbuilder_spec.rb +3 -5
  1016. data/spec/views/hyrax/base/unauthorized.html.erb_spec.rb +3 -3
  1017. data/spec/views/hyrax/base/unavailable.html.erb_spec.rb +6 -6
  1018. data/spec/views/hyrax/batch_edits/check_all_spec.rb +1 -1
  1019. data/spec/views/hyrax/batch_edits/edit.html.erb_spec.rb +8 -4
  1020. data/spec/views/hyrax/batch_uploads/_form.html.erb_spec.rb +5 -8
  1021. data/spec/views/hyrax/citations/work.html.erb_spec.rb +1 -1
  1022. data/spec/views/hyrax/collections/_show_descriptions.html.erb_spec.rb +14 -9
  1023. data/spec/views/hyrax/collections/_show_document_list.html.erb_spec.rb +14 -18
  1024. data/spec/views/hyrax/collections/_show_document_list_row.html.erb_spec.rb +1 -2
  1025. data/spec/views/hyrax/collections/show.html.erb_spec.rb +2 -7
  1026. data/spec/views/hyrax/dashboard/_sidebar.html.erb_spec.rb +105 -0
  1027. data/spec/views/hyrax/dashboard/collections/_form.html.erb_spec.rb +56 -0
  1028. data/spec/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb_spec.rb +55 -0
  1029. data/spec/views/hyrax/dashboard/collections/_form_share.erb_spec.rb +42 -0
  1030. data/spec/views/hyrax/dashboard/collections/_show_descriptions.html.erb_spec.rb +32 -0
  1031. data/spec/views/hyrax/dashboard/collections/_show_document_list.html.erb_spec.rb +24 -0
  1032. data/spec/views/hyrax/{collections → dashboard/collections}/_show_document_list_menu.html.erb_spec.rb +6 -6
  1033. data/spec/views/hyrax/dashboard/collections/_show_document_list_row.html.erb_spec.rb +31 -0
  1034. data/spec/views/hyrax/{collections → dashboard/collections}/edit.html.erb_spec.rb +4 -4
  1035. data/spec/views/hyrax/dashboard/collections/show.html.erb_spec.rb +37 -0
  1036. data/spec/views/hyrax/{users → dashboard/profiles}/edit.html.erb_spec.rb +3 -2
  1037. data/spec/views/hyrax/dashboard/show_user_spec.rb +34 -0
  1038. data/spec/views/hyrax/embargoes/index.html.erb_spec.rb +14 -0
  1039. data/spec/views/hyrax/file_sets/_permission.html.erb_spec.rb +1 -3
  1040. data/spec/views/hyrax/file_sets/_permission_form.html.erb_spec.rb +1 -3
  1041. data/spec/views/hyrax/file_sets/_show_actions.html.erb_spec.rb +2 -3
  1042. data/spec/views/hyrax/file_sets/_show_characterization_details.html.erb_spec.rb +2 -5
  1043. data/spec/views/hyrax/file_sets/_single_use_links.html.erb_spec.rb +2 -3
  1044. data/spec/views/hyrax/file_sets/_versioning.html.erb_spec.rb +1 -1
  1045. data/spec/views/hyrax/file_sets/media_display/_default.html.erb_spec.rb +1 -3
  1046. data/spec/views/hyrax/file_sets/show.html.erb_spec.rb +13 -8
  1047. data/spec/views/hyrax/file_sets/show.json.jbuilder_spec.rb +0 -2
  1048. data/spec/views/hyrax/homepage/_announcement.html.erb_spec.rb +5 -28
  1049. data/spec/views/hyrax/homepage/_featured_works.html.erb_spec.rb +4 -1
  1050. data/spec/views/hyrax/homepage/_sortable_featured.html.erb_spec.rb +3 -1
  1051. data/spec/views/hyrax/homepage/index.html.erb_spec.rb +5 -2
  1052. data/spec/views/hyrax/leases/index.html.erb_spec.rb +14 -0
  1053. data/spec/views/hyrax/my/{_sort_and_per_page.html.erb_spec.rb → _search_header.html.erb_spec.rb} +10 -11
  1054. data/spec/views/hyrax/my/_work_action_menu.html.erb_spec.rb +1 -3
  1055. data/spec/views/hyrax/my/{_list_collections.html.erb_spec.rb → collections/_list_collections.html.erb_spec.rb} +5 -5
  1056. data/spec/views/hyrax/my/facet.html.erb_spec.rb +2 -1
  1057. data/spec/views/hyrax/my/{_list_works.html.erb_spec.rb → works/_list_works.html.erb_spec.rb} +3 -3
  1058. data/spec/views/hyrax/my/works/index.html.erb_spec.rb +64 -0
  1059. data/spec/views/hyrax/permissions/confirm.html.erb_spec.rb +4 -5
  1060. data/spec/views/hyrax/single_use_links_viewer/show.html.erb_spec.rb +1 -12
  1061. data/spec/views/hyrax/single_use_links_viewer/single_use_error.html.erb_spec.rb +1 -3
  1062. data/spec/views/hyrax/stats/file.html.erb_spec.rb +1 -1
  1063. data/spec/views/hyrax/uploads/create.json.jbuilder_spec.rb +1 -3
  1064. data/spec/views/hyrax/users/_user_info.html.erb_spec.rb +1 -1
  1065. data/spec/views/hyrax/users/index.html.erb_spec.rb +2 -1
  1066. data/spec/views/hyrax/users/show.html.erb_spec.rb +1 -1
  1067. data/spec/views/layouts/error.html.erb_spec.rb +1 -3
  1068. data/spec/views/pages/edit.html.erb_spec.rb +27 -0
  1069. data/spec/views/pages/show.html.erb_spec.rb +16 -0
  1070. data/spec/views/records/edit_fields/_based_near.html.erb_spec.rb +1 -1
  1071. data/spec/views/records/edit_fields/_description.html.erb_spec.rb +2 -1
  1072. data/spec/views/records/edit_fields/_language.html.erb_spec.rb +1 -1
  1073. data/spec/views/records/edit_fields/_subject.html.erb_spec.rb +1 -1
  1074. data/spec/views/shared/select_work_type_modal.html.erb_spec.rb +4 -11
  1075. data/tasks/{hyrax-dev.rake → hyrax_dev.rake} +2 -2
  1076. data/template.rb +1 -5
  1077. data/vendor/assets/javascripts/handlebars-v4.0.5.js +4612 -0
  1078. metadata +453 -396
  1079. data/CONTRIBUTING.md +0 -159
  1080. data/app/actors/hyrax/actors/actor_stack.rb +0 -70
  1081. data/app/actors/hyrax/actors/add_as_member_of_collections_actor.rb +0 -26
  1082. data/app/actors/hyrax/actors/attach_files_actor.rb +0 -53
  1083. data/app/actors/hyrax/actors/root_actor.rb +0 -20
  1084. data/app/actors/hyrax/apply_permission_template_actor.rb +0 -21
  1085. data/app/actors/hyrax/create_with_files_actor.rb +0 -46
  1086. data/app/actors/hyrax/create_with_remote_files_actor.rb +0 -71
  1087. data/app/actors/hyrax/default_admin_set_actor.rb +0 -42
  1088. data/app/assets/javascripts/batch_edit.js.coffee +0 -166
  1089. data/app/assets/javascripts/hyrax/batch_select.js +0 -10
  1090. data/app/assets/javascripts/hyrax/featured_researcher.js +0 -14
  1091. data/app/assets/stylesheets/hyrax/_dashboard.scss +0 -153
  1092. data/app/assets/stylesheets/hyrax/_multi_value_fields.css.scss +0 -18
  1093. data/app/assets/stylesheets/hyrax/admin.scss +0 -178
  1094. data/app/controllers/concerns/hydra/batch_edit_behavior.rb +0 -73
  1095. data/app/controllers/concerns/hyrax/batch_edits_controller_behavior.rb +0 -84
  1096. data/app/controllers/concerns/hyrax/batch_uploads_controller_behavior.rb +0 -69
  1097. data/app/controllers/concerns/hyrax/contact_form_controller_behavior.rb +0 -45
  1098. data/app/controllers/concerns/hyrax/curation_concern_controller.rb +0 -241
  1099. data/app/controllers/concerns/hyrax/dashboard_controller_behavior.rb +0 -47
  1100. data/app/controllers/concerns/hyrax/depositors_controller_behavior.rb +0 -48
  1101. data/app/controllers/concerns/hyrax/download_behavior.rb +0 -87
  1102. data/app/controllers/concerns/hyrax/file_sets_controller_behavior.rb +0 -273
  1103. data/app/controllers/concerns/hyrax/homepage_controller_behavior.rb +0 -52
  1104. data/app/controllers/concerns/hyrax/my_controller_behavior.rb +0 -59
  1105. data/app/controllers/concerns/hyrax/permissions_controller_behavior.rb +0 -38
  1106. data/app/controllers/concerns/hyrax/single_use_links_controller_behavior.rb +0 -53
  1107. data/app/controllers/concerns/hyrax/single_use_links_viewer_controller_behavior.rb +0 -85
  1108. data/app/controllers/concerns/hyrax/transfers_controller_behavior.rb +0 -80
  1109. data/app/controllers/concerns/hyrax/uploads_controller_behavior.rb +0 -18
  1110. data/app/controllers/concerns/hyrax/users_controller_behavior.rb +0 -113
  1111. data/app/controllers/hyrax/admin_controller.rb +0 -20
  1112. data/app/controllers/hyrax/admin_sets_controller.rb +0 -25
  1113. data/app/controllers/hyrax/audits_controller.rb +0 -16
  1114. data/app/controllers/hyrax/tinymce_assets_controller.rb +0 -14
  1115. data/app/helpers/batch_edits_helper.rb +0 -14
  1116. data/app/helpers/contact_form_helper.rb +0 -2
  1117. data/app/helpers/file_set_helper.rb +0 -7
  1118. data/app/helpers/hyrax/search_paths_helper.rb +0 -11
  1119. data/app/jobs/audit_job.rb +0 -47
  1120. data/app/jobs/ingest_file_job.rb +0 -37
  1121. data/app/models/concerns/hyrax/admin_set_behavior.rb +0 -118
  1122. data/app/models/concerns/hyrax/content_block_behavior.rb +0 -47
  1123. data/app/models/concerns/hyrax/works/featured.rb +0 -23
  1124. data/app/models/concerns/hyrax/works/trophies.rb +0 -12
  1125. data/app/models/hyrax/classify_concern.rb +0 -43
  1126. data/app/models/tinymce_asset.rb +0 -3
  1127. data/app/search_builders/deposit_search_builder.rb +0 -24
  1128. data/app/search_builders/hyrax/active_works_search_builder.rb +0 -13
  1129. data/app/search_builders/hyrax/admin_set_member_search_builder.rb +0 -12
  1130. data/app/search_builders/hyrax/my_collections_search_builder.rb +0 -11
  1131. data/app/search_builders/parent_collection_search_builder.rb +0 -10
  1132. data/app/services/hyrax/actor_factory.rb +0 -33
  1133. data/app/services/hyrax/audit_failure_service.rb +0 -20
  1134. data/app/services/hyrax/file_set_audit_service.rb +0 -122
  1135. data/app/services/hyrax/import_url_success_service.rb +0 -22
  1136. data/app/services/hyrax/repository_audit_service.rb +0 -9
  1137. data/app/services/hyrax/workflow/workflow_by_model_name_strategy.rb +0 -14
  1138. data/app/uploaders/tinymce_asset_uploader.rb +0 -45
  1139. data/app/views/_toolbar.html.erb +0 -75
  1140. data/app/views/hyrax/admin/_menu.html.erb +0 -5
  1141. data/app/views/hyrax/admin/_sidebar.html.erb +0 -33
  1142. data/app/views/hyrax/admin_sets/_admin_set.html.erb +0 -25
  1143. data/app/views/hyrax/admin_sets/_document_list.html.erb +0 -30
  1144. data/app/views/hyrax/admin_sets/_member_document.html.erb +0 -26
  1145. data/app/views/hyrax/admin_sets/_search_form.html.erb +0 -11
  1146. data/app/views/hyrax/admin_sets/_sort_and_per_page.html.erb +0 -5
  1147. data/app/views/hyrax/admin_sets/index.html.erb +0 -2
  1148. data/app/views/hyrax/admin_sets/show.html.erb +0 -32
  1149. data/app/views/hyrax/base/_relationships_parent_row_empty.html.erb +0 -6
  1150. data/app/views/hyrax/collections/_button_create_collection.html.erb +0 -1
  1151. data/app/views/hyrax/collections/_dashboard_document_list.html.erb +0 -4
  1152. data/app/views/hyrax/collections/_form.html.erb +0 -41
  1153. data/app/views/hyrax/collections/edit.html.erb +0 -29
  1154. data/app/views/hyrax/collections/new.html.erb +0 -3
  1155. data/app/views/hyrax/content_blocks/_featured_researcher.html.erb +0 -3
  1156. data/app/views/hyrax/content_blocks/index.html.erb +0 -7
  1157. data/app/views/hyrax/dashboard/_create_work_action.html.erb +0 -20
  1158. data/app/views/hyrax/dashboard/_index_partials/_heading_actions.html.erb +0 -25
  1159. data/app/views/hyrax/dashboard/_index_partials/_heading_greetings.html.erb +0 -3
  1160. data/app/views/hyrax/dashboard/index.html.erb +0 -10
  1161. data/app/views/hyrax/file_sets/_edit.js.erb +0 -20
  1162. data/app/views/hyrax/mailbox/_notifications.html.erb +0 -27
  1163. data/app/views/hyrax/mailbox/index.html.erb +0 -8
  1164. data/app/views/hyrax/my/_facets.html.erb +0 -18
  1165. data/app/views/hyrax/static/agreement.html.erb +0 -44
  1166. data/app/views/hyrax/static/help.html.erb +0 -4
  1167. data/app/views/hyrax/static/terms.html.erb +0 -62
  1168. data/app/views/hyrax/users/edit.html.erb +0 -8
  1169. data/app/views/layouts/admin.html.erb +0 -11
  1170. data/app/views/records/edit_fields/_default.html.erb +0 -6
  1171. data/lib/hyrax/collections.rb +0 -7
  1172. data/lib/hyrax/collections_migration.rb +0 -18
  1173. data/spec/actors/hyrax/actors/actor_stack_spec.rb +0 -35
  1174. data/spec/actors/hyrax/create_with_remote_files_actor_spec.rb +0 -105
  1175. data/spec/controllers/hyrax/admin_controller_spec.rb +0 -19
  1176. data/spec/controllers/hyrax/admin_sets_controller_spec.rb +0 -28
  1177. data/spec/controllers/hyrax/tinymce_assets_controller_spec.rb +0 -37
  1178. data/spec/features/browse_dashboard_files_spec.rb +0 -67
  1179. data/spec/features/cloud_upload_spec.rb +0 -15
  1180. data/spec/features/display_dashboard_spec.rb +0 -28
  1181. data/spec/features/show_admin_set_spec.rb +0 -11
  1182. data/spec/features/user_admin_set_spec.rb +0 -55
  1183. data/spec/helpers/hyrax/citations_behaviors/formatters/chicago_formatter_spec.rb +0 -10
  1184. data/spec/jobs/audit_job_spec.rb +0 -57
  1185. data/spec/jobs/ingest_file_job_spec.rb +0 -79
  1186. data/spec/lib/hyrax/collections_migration_spec.rb +0 -34
  1187. data/spec/routing/admin_sets_spec.rb +0 -7
  1188. data/spec/search_builders/hyrax/active_works_search_builder_spec.rb +0 -53
  1189. data/spec/services/hyrax/actor_factory_spec.rb +0 -55
  1190. data/spec/services/hyrax/audit_failure_service_spec.rb +0 -26
  1191. data/spec/services/hyrax/file_set_audit_service_spec.rb +0 -156
  1192. data/spec/services/hyrax/import_url_success_service_spec.rb +0 -20
  1193. data/spec/services/hyrax/repository_audit_service_spec.rb +0 -17
  1194. data/spec/support/locations.rb +0 -17
  1195. data/spec/support/proxies.rb +0 -15
  1196. data/spec/views/_toolbar.html.erb_spec.rb +0 -93
  1197. data/spec/views/hyrax/collections/_form.html.erb_spec.rb +0 -33
  1198. data/spec/views/hyrax/collections/_form_for_select_collection.html.erb_spec.rb +0 -51
  1199. data/spec/views/hyrax/dashboard/create_work_action.html.erb_spec.rb +0 -27
  1200. data/spec/views/hyrax/dashboard/index_spec.rb +0 -169
  1201. data/vendor/assets/javascripts/jquery.validate.js +0 -1248
@@ -1,62 +0,0 @@
1
- <h1>Terms of Use for <%= application_name %></h1>
2
-
3
- <p>
4
- 1. <strong>General:</strong> The Site is maintained by the <%= institution_name_full %> Libraries and <%= institution_name_full %> Information Technology Services (ITS), in support of our mission to disseminate information and research to scholars, educators and the public. As used in these Terms of Use, the terms "we, "us," and "our" refer to the Libraries, ITS, and <%= institution_name_full %> ("<%= institution_name %>"). Use of <%= application_name %> (the Site and its contents) is subject to the following terms and conditions and all applicable laws. By using the Site or any of its content, you accept and agree to be bound by these Terms of Use and all applicable laws. If any of these Terms of Use are unacceptable to you, do not use the Site.
5
- </p>
6
-
7
- <p>
8
- 2. <strong>Changes to Terms of Use Are Binding:</strong> We may change these Terms of Use from time-to-time without advance notice. Your use of the Site or any of its content after any changes have been made will constitute your agreement on a prospective basis to the modified Terms of Use and all of the changes. Accordingly, you should read these Terms of Use from time-to-time for any changes.
9
- </p>
10
-
11
- <p>
12
- 3. <strong>Copyright and Use of <%= application_name %> Content:</strong> The Site includes text, images, graphics, information, articles, multi-media objects, scholarly projects and other works protected by copyright, trademark and other laws ("Content"). Some of the Content on this site may include materials from older published works that have passed into the "public domain" under U.S. copyright law. Where such information is known, it is included specifically in the metadata associated with each item of Content. However, the Site itself and most of the materials held as Content on the Site are protected by copyright and other laws. These materials have been deposited to enable teaching, research, and other non-profit educational activities. Unless otherwise specified in the metadata attached to an item of Content, you may use the Site and the Content only for non-commercial, research, educational, or related academic purposes. Further, you have the responsibility to make your own assessment of the copyright or other legal concerns that might affect your use of <%= application_name %> content and to assume personal responsibility for your uses of Content.
13
- </p>
14
-
15
- <p>
16
- 4. <strong>Special Permissions:</strong> <%= application_name %> does not have the authority to grant or deny special permissions to use images or other Content found on the site beyond those uses that are specifically described in these Terms of Use or as noted specifically on individual items of Content. <%= application_name %> staff are not able to undertake copyright investigations on behalf of Site users.
17
- </p>
18
-
19
- <p>
20
- 5. <strong><%= application_name %> Access Levels:</strong> Where possible, <%= application_name %> makes its Content available to the general public. However, some of the Content on this Site has been made available only to <%= institution_name %> community users or other user subgroups by the depositor. Such Content cannot be used, downloaded, or distributed outside the <%= institution_name %> community (or subgroup identified) without the specific permission of the depositor.
21
- </p>
22
-
23
- <p>
24
- 6. <strong>Use of <%= application_name %> Site and Content:</strong> Unless otherwise specified in the metadata attached to an item, Content that has been made accessible to the general public may be used for non-commercial, research, educational, or related academic purposes only. Such uses include personal study, distribution to students, research and scholarship (including computational research uses such as data and text-mining, citation-extraction, or cross-referencing) as long as you do not sell the Content or sell advertising on any page on which the Content is displayed. If you make an item of Content available to others, you shall do so in accordance with the terms of the rights granted pursuant to the particular item of Content, or at a minimum, you will retain with the Content its title, the name of the author(s), a reference to these Terms of Use, any copyright notice included on the original, and any metadata associated with the original. You may not use a facsimile of the published version of an article that may be posted in <%= application_name %> under these open access terms, unless the publisher so permits. You will not make any translation, adaptation or other derivative work of an item of Content except as authorized under U.S. law. You may not sublicense or otherwise transfer your rights in an item of Content, unless specifically authorized by the copyright license granted to the item of Content and will only make Content available to others for use by them under these Terms of Use. Links on the Site to third-party web sites are provided solely as a convenience to you. We do not approve or endorse the content of linked third-party sites, and you agree that we will have no responsibility or liability in connection with your use of any linked third-party sites. Nothing in these Terms of Use or on the Site will be construed as granting you any right or license to use any trademarks, service marks or logos displayed on the Site. You agree not to use or register any name, logo or insignia of <%= institution_name_full %> or any of its subdivisions for any purpose except with our prior written approval and in accordance with any restrictions required by us.
25
- </p>
26
-
27
- <p>
28
- 7. <strong>Fair Use and Other Lawful Uses:</strong> Nothing in these Terms of Use is intended to restrict or limit you from making uses of Content that, in the absence of rights granted hereunder, would not infringe or violate anyone's copyright, trademark or other rights. To the extent permitted by law, adaptation of <%= application_name %> Content to enable use and access by persons with disabilities is encouraged.
29
- </p>
30
-
31
- <p>
32
- 8. <strong>Reserved Rights; Obtaining Permissions:</strong> All rights in the Site and the Content that are not expressly granted are reserved. You agree to use the Site and the Content only in ways that comply with copyright and all other applicable laws, as well as with these Terms of Use, and that do not infringe or violate anyone's rights. If you wish to make any use of the Content that requires authorization under copyright, trademark or other rights, you agree to obtain all necessary permissions. You are responsible for determining whether permission is needed to make any use of the Content that you wish to make.
33
- </p>
34
-
35
- <p>
36
- 9. <strong>Disclaimer of Warranties:</strong> THE SITE AND THE CONTENT ARE PROVIDED "AS IS." TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, WE DISCLAIM ALL WARRANTIES OF ANY KIND (EXPRESS, IMPLIED OR OTHERWISE) REGARDING THE SITE OR THE CONTENT, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OWNERSHIP, AND NON-INFRINGEMENT. WE MAKE NO WARRANTY ABOUT THE ACCURACY, RELIABILITY, COMPLETENESS, TIMELINESS, SUFFICIENCY OR QUALITY OF THE SITE OR THE CONTENT, NOR THAT ANY PARTICULAR CONTENT WILL CONTINUE TO BE MADE AVAILABLE. WE DO NOT APPROVE OR ENDORSE ANY POSTED MATERIAL OR CONTENT PROVIDED BY OTHERS, INCLUDING <%= institution_name.upcase %> AUTHORS. WE DO NOT WARRANT THAT THE SITE WILL OPERATE WITHOUT ERROR OR INTERRUPTION, OR THAT THE SITE OR ITS SERVER ARE FREE OF COMPUTER VIRUSES OR OTHER HARMFUL MATERIALS.
37
- </p>
38
-
39
- <p>
40
- 10. <strong>Limitations of Liability and Remedies:</strong> WE MAKE THE SITE AND THE CONTENT AVAILABLE FREE OF CHARGE. YOUR USE OF THE SITE AND THE CONTENT IS AT YOUR OWN SOLE RISK. IN NO EVENT SHALL WE BE LIABLE TO YOU, IN CONTRACT, TORT OR OTHERWISE, FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY OR OTHER DAMAGES OF ANY KIND ARISING OUT OF OR RELATING TO THE SITE OR THE CONTENT, OR YOUR USE OF THE SITE OR THE CONTENT, OR ANY THIRD PARTY RIGHTS IN THE CONTENT, EVEN IF THE SITE OR CONTENT IS DEFECTIVE OR WE ARE NEGLIGENT OR OTHERWISE AT FAULT, AND REGARDLESS WHETHER WE ARE ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE FOREGOING LIMITATIONS SHALL APPLY TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW.
41
- </p>
42
-
43
- <p>
44
- 11. <strong>Indemnity:</strong> You agree to indemnify and hold harmless <%= institution_name_full %> and its trustees, officers, fellows, students, employees and agents, from and against all claims, actions, suits, damages, liabilities and costs (including, without limitation, reasonable legal fees) arising from or relating to your use of the Site or any of the Content or your failure to comply with any provision of these Terms of Use.
45
- </p>
46
-
47
- <p>
48
- 12. <strong>Communications:</strong>
49
- <ul>
50
- <li>
51
- A. Copyright Complaints: We respect the intellectual property rights of others. If you believe your copyright has been violated on the Site, please notify us through <%= institution_name %>'s designated agent under the Digital Millennium Copyright Act (see 17 U.S.C. Â&sect;512(c)(3).</li>
52
- <li> B. Other Site Issues: Please direct all other communications to <a href="<%= hyrax.contact_path %>">contact form</a>.</ul>
53
- </ul>
54
- </p>
55
-
56
- <p>
57
- 13. <strong>Applicable Law and Jurisdiction; Access from Outside the Commonwealth of Pennsylvania:</strong> The Site is controlled and operated from our facilities in and around University Park, PA. These Terms of Use, and any claim or dispute that arises from or relates to your use of the Site or the Content, will be governed by the laws of Pennsylvania, without regard to its conflicts of laws principles. You agree that all such claims and disputes will be heard and resolved exclusively in the courts of Centre County, Pennsylvania. You consent to the personal jurisdiction of such courts over you for this purpose, and waive and agree not to assert any objection to such proceedings in such courts (including any defense or objection of lack of proper jurisdiction or venue or inconvenience of forum). If you choose to access our website from locations other than Pennsylvania, you will be responsible for compliance with all local laws of those other locations.
58
- </p>
59
-
60
- <p>
61
- 14. <strong>Termination:</strong> The permissions granted to you will terminate automatically upon any breach by you of these Terms of Use. If we take down or otherwise cease to make a work available as an item of Content, the permission granted to you hereunder to use that Content thereafter will terminate at that time. <%= application_name %> is maintained as a scholarly and educational resource by <%= institution_name %> which may be modified or terminated by the University in its sole discretion.
62
- </p>
@@ -1,8 +0,0 @@
1
- <h1 class="col-sm-12">Edit Profile</h1>
2
- <div class="col-xs-12 col-sm-5 profile">
3
- <%= render 'edit_primary' %>
4
- </div>
5
-
6
- <div class="col-xs-12 col-sm-offset-1 col-sm-6 profile">
7
- <%= render 'edit_secondary' %>
8
- </div>
@@ -1,11 +0,0 @@
1
- <% content_for(:head) do %>
2
- <%= stylesheet_link_tag 'hyrax/admin', data: { turbolinks_track: 'reload' } %>
3
- <% end %>
4
-
5
- <% content_for(:sidebar) do %>
6
- <%= render 'hyrax/admin/sidebar' %>
7
- <% end %>
8
-
9
- <% content_for(:container_class, 'container-fluid') %>
10
-
11
- <%= render template: 'layouts/hyrax' %>
@@ -1,6 +0,0 @@
1
- <% # TODO: I think this file can be removed, because it duplicates what is in hydra-editor %>
2
- <% if f.object.multiple? key %>
3
- <%= f.input key, as: :multi_value, input_html: { class: 'form-control' }, required: f.object.required?(key) %>
4
- <% else %>
5
- <%= f.input key, required: f.object.required?(key) %>
6
- <% end %>
@@ -1,7 +0,0 @@
1
- module Hyrax
2
- module Collections
3
- extend ActiveSupport::Autoload
4
- autoload :SearchService
5
- autoload :AcceptsBatches
6
- end
7
- end
@@ -1,18 +0,0 @@
1
- module Hyrax
2
- class CollectionsMigration
3
- def self.run
4
- ::Collection.all.each do |collection|
5
- collection.members.each do |member|
6
- member.member_of_collections << collection
7
- unless member.save
8
- raise "Work #{member.id} failed to save after recording its membership in collection #{collection.id}"
9
- end
10
- end
11
- collection.members = []
12
- unless collection.save
13
- raise "Collection #{collection.id} failed to save after emptying its member list"
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,35 +0,0 @@
1
- require 'spec_helper'
2
- describe Hyrax::Actors::ActorStack do
3
- let(:user_or_ability) { create(:user) }
4
- let(:curation_concern) { GenericWork.new }
5
- let(:attributes) { {} }
6
- subject do
7
- described_class.new(curation_concern,
8
- user_or_ability,
9
- [])
10
- end
11
-
12
- context "when an ability is passed as the second argument" do
13
- let(:user_or_ability) { Ability.new(create(:user)) }
14
- it "assigns user to the ability's user" do
15
- expect(subject.user).to eq user_or_ability.current_user
16
- end
17
- end
18
-
19
- ## Remove these specs when user support is removed.
20
- context "when a user is passed as the second argument" do
21
- let(:user_or_ability) { create(:user) }
22
- before do
23
- allow(Deprecation).to receive(:warn)
24
- end
25
- it "assigns user the user" do
26
- expect(subject.user).to eq user_or_ability
27
- end
28
- it "builds an ability" do
29
- expect(subject.ability.current_user).to eq user_or_ability
30
- end
31
- it "throws a deprecation warning" do
32
- expect(Deprecation).to have_received(:warn).with(subject, "Passing a user as an argument to Hyrax::Actors::ActorStack is deprecated, pass an Ability instead")
33
- end
34
- end
35
- end
@@ -1,105 +0,0 @@
1
- describe Hyrax::CreateWithRemoteFilesActor do
2
- let(:create_actor) do
3
- double('create actor', create: true,
4
- curation_concern: work,
5
- user: user)
6
- end
7
- let(:actor) do
8
- Hyrax::Actors::ActorStack.new(work, ::Ability.new(user), [described_class])
9
- end
10
- let(:user) { create(:user) }
11
- let(:work) { create(:generic_work, user: user) }
12
- let(:url1) { "https://dl.dropbox.com/fake/blah-blah.filepicker-demo.txt.txt" }
13
- let(:url2) { "https://dl.dropbox.com/fake/blah-blah.Getting%20Started.pdf" }
14
- let(:file) { "file:///local/file/here.txt" }
15
-
16
- let(:remote_files) do
17
- [{ url: url1,
18
- expires: "2014-03-31T20:37:36.214Z",
19
- file_name: "filepicker-demo.txt.txt" },
20
- { url: url2,
21
- expires: "2014-03-31T20:37:36.731Z",
22
- file_name: "Getting+Started.pdf" }]
23
- end
24
- let(:attributes) { { remote_files: remote_files } }
25
-
26
- before do
27
- allow(Hyrax::Actors::RootActor).to receive(:new).and_return(create_actor)
28
- allow(create_actor).to receive(:create).and_return(true)
29
- end
30
-
31
- context "with source uris that are remote" do
32
- let(:remote_files) do
33
- [{ url: url1,
34
- expires: "2014-03-31T20:37:36.214Z",
35
- file_name: "filepicker-demo.txt.txt" },
36
- { url: url2,
37
- expires: "2014-03-31T20:37:36.731Z",
38
- file_name: "Getting+Started.pdf" }]
39
- end
40
-
41
- it "attaches files" do
42
- expect(ImportUrlJob).to receive(:perform_later).with(FileSet, Hyrax::Operation).twice
43
- expect(actor.create(attributes)).to be true
44
- end
45
- end
46
-
47
- context "with source uris that are local files" do
48
- let(:remote_files) do
49
- [{ url: file,
50
- expires: "2014-03-31T20:37:36.214Z",
51
- file_name: "here.txt" }]
52
- end
53
-
54
- before do
55
- allow(Hyrax.config).to receive(:whitelisted_ingest_dirs).and_return(["/local/file/"])
56
- end
57
-
58
- it "attaches files" do
59
- expect(IngestLocalFileJob).to receive(:perform_later).with(FileSet, "/local/file/here.txt", user)
60
- expect(actor.create(attributes)).to be true
61
- end
62
-
63
- context "with files from non-whitelisted directories" do
64
- let(:file) { "file:///local/otherdir/test.txt" }
65
-
66
- # rubocop:disable RSpec/AnyInstance
67
- it "doesn't attach files" do
68
- expect_any_instance_of(described_class).to receive(:validate_remote_url).and_call_original
69
- expect(IngestLocalFileJob).not_to receive(:perform_later)
70
- expect(actor.create(attributes)).to be false
71
- end
72
- # rubocop:enable RSpec/AnyInstance
73
- end
74
-
75
- context "with spaces" do
76
- let(:file) { "file:///local/file/ pigs .txt" }
77
- it "attaches files" do
78
- expect(IngestLocalFileJob).to receive(:perform_later).with(FileSet, "/local/file/ pigs .txt", user)
79
- expect(actor.create(attributes)).to be true
80
- end
81
- end
82
- end
83
-
84
- describe "#validate_remote_url" do
85
- before do
86
- allow(Hyrax.config).to receive(:whitelisted_ingest_dirs).and_return(['/test/', '/local/file/'])
87
- end
88
-
89
- it "accepts file: urls in whitelisted directories" do
90
- expect(actor.actor.send(:validate_remote_url, "file:///local/file/test.txt")).to be true
91
- expect(actor.actor.send(:validate_remote_url, "file:///local/file/subdirectory/test.txt")).to be true
92
- expect(actor.actor.send(:validate_remote_url, "file:///test/test.txt")).to be true
93
- end
94
-
95
- it "rejects file: urls outside whitelisted directories" do
96
- expect(actor.actor.send(:validate_remote_url, "file:///tmp/test.txt")).to be false
97
- expect(actor.actor.send(:validate_remote_url, "file:///test/../tmp/test.txt")).to be false
98
- expect(actor.actor.send(:validate_remote_url, "file:///test/")).to be false
99
- end
100
-
101
- it "accepts other types of urls" do
102
- expect(actor.actor.send(:validate_remote_url, "https://example.com/test.txt")).to be true
103
- end
104
- end
105
- end
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe Hyrax::AdminController do
4
- describe '#show' do
5
- let(:service) { instance_double(Hyrax::AdminSetService, search_results_with_work_count: results) }
6
- let(:results) { instance_double(Array) }
7
-
8
- before do
9
- expect(controller).to receive(:authorize!).with(:read, :admin_dashboard).and_return(true)
10
- allow(Hyrax::AdminSetService).to receive(:new).and_return(service)
11
- end
12
-
13
- it "is successful" do
14
- get :show
15
- expect(response).to be_success
16
- expect(assigns[:admin_set_rows]).to eq results
17
- end
18
- end
19
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe Hyrax::AdminSetsController do
4
- describe "#index" do
5
- let!(:admin_set) { create(:admin_set, :public) }
6
- before do
7
- create(:collection, :public) # This should not be returned
8
- end
9
-
10
- it "returns only admin sets" do
11
- get :index
12
- expect(response).to be_success
13
- expect(assigns[:document_list].map(&:id)).to match_array [admin_set.id]
14
- end
15
- end
16
-
17
- describe "#show" do
18
- let(:admin_set) { create(:admin_set, :public) }
19
- let!(:work) { create(:work, :public, admin_set: admin_set) }
20
-
21
- it "returns a presenter and members" do
22
- get :show, params: { id: admin_set }
23
- expect(response).to be_success
24
- expect(assigns[:presenter].id).to eq admin_set.id
25
- expect(assigns[:member_docs].map(&:id)).to eq [work.id]
26
- end
27
- end
28
- end
@@ -1,37 +0,0 @@
1
- describe Hyrax::TinymceAssetsController, type: :controller do
2
- let(:file) { fixture_file_upload('/world.png', 'image/png') }
3
-
4
- context "when logged in" do
5
- let(:user) { FactoryBot.create(:user) }
6
- before { sign_in user }
7
-
8
- context "as a user who can upload" do
9
- before { expect(controller).to receive(:authorize!).with(:create, TinymceAsset).and_return(true) }
10
-
11
- it "uploads the file" do
12
- expect do
13
- post :create, params: { file: file }
14
- expect(response).to be_successful
15
- end.to change { TinymceAsset.count }.by(1)
16
-
17
- json = JSON.parse(response.body)
18
- expect(json).to eq("image" => { "url" => "/uploads/tinymce_asset/file/1/world.png" })
19
- end
20
- end
21
-
22
- context "as a user who can't upload" do
23
- it "is unauthorized" do
24
- post :create, params: { file: file }
25
- expect(response.code).to eq '401'
26
- expect(response).to render_template 'unauthorized'
27
- end
28
- end
29
- end
30
-
31
- context "when not logged in" do
32
- it "redirects to root path" do
33
- post :create, params: { file: file }
34
- expect(response).to redirect_to main_app.new_user_session_path(locale: 'en')
35
- end
36
- end
37
- end
@@ -1,67 +0,0 @@
1
- describe "Browse Dashboard", type: :feature do
2
- let(:user) { FactoryBot.create(:user) }
3
- let!(:dissertation) { FactoryBot.create(:public_work, user: user, title: ["Fake PDF Title"], subject: %w(lorem ipsum dolor sit amet)) }
4
- let!(:mp3_work) { FactoryBot.create(:public_work, user: user, title: ["Test Document MP3"], subject: %w(consectetur adipisicing elit)) }
5
- let!(:audio_work) { FactoryBot.create(:public_work, user: user, title: ["Fake Wav Files"], subject: %w(sed do eiusmod tempor incididunt ut labore)) }
6
-
7
- before do
8
- sign_in user
9
- user.trophies.create!(work_id: dissertation.id)
10
- visit "/dashboard"
11
- end
12
-
13
- it "lets the user search and display their files" do
14
- expect(page).to have_link "Create Collection"
15
- expect(page).to have_link "Create Work"
16
-
17
- # Search
18
- fill_in "q", with: "PDF"
19
- click_button "search-submit-header"
20
- expect(page).to have_content("Fake PDF Title")
21
-
22
- visit "/dashboard/works"
23
- fill_in "q", with: "PDF"
24
- click_button "search-submit-header"
25
- expect(page).to have_content("Fake PDF Title")
26
- within(".constraints-container") do
27
- expect(page).to have_content("You searched for:")
28
- expect(page).to have_css("span.glyphicon-remove")
29
- find(".dropdown-toggle").click
30
- end
31
- expect(page).to have_content("Fake Wav File")
32
-
33
- # Browse facets
34
- click_link "Subject"
35
- click_link "more Subjects"
36
- click_link "consectetur"
37
-
38
- within("#document_#{mp3_work.id}") do
39
- expect(page).to have_link("Display all details of Test Document MP3",
40
- href: hyrax_generic_work_path(mp3_work, locale: 'en'))
41
- end
42
- click_link("Remove constraint Subject: consectetur")
43
-
44
- # Refresh the page
45
- click_button "Refresh"
46
- within("#document_#{dissertation.id}") do
47
- click_button("Select an action")
48
- expect(page).to have_content("Edit Work")
49
- end
50
-
51
- # View other tabs
52
- ["My Collections", "My Highlights", "Works Shared with Me"].each do |tab|
53
- within("#my_nav") do
54
- click_link(tab)
55
- end
56
- expect(page).to have_content(tab)
57
- end
58
- end
59
-
60
- it "allows me to delete works in upload_sets", js: true do
61
- visit "/dashboard/works"
62
- first('input#check_all').click
63
- expect do
64
- click_button('Delete Selected')
65
- end.to change { GenericWork.count }.by(-3)
66
- end
67
- end
@@ -1,15 +0,0 @@
1
- describe "Selecting files to import from cloud providers", type: :feature do
2
- before do
3
- sign_in :user
4
- end
5
-
6
- it "has a Cloud file picker using browse-everything" do
7
- skip "TBD in https://github.com/projecthydra/hyrax/issues/1699"
8
- click_link "Create Work"
9
- click_link "Cloud Providers"
10
- expect(page).to have_content "Browse cloud files"
11
- expect(page).to have_content "Submit selected files"
12
- expect(page).to have_content "0 items selected"
13
- click_button 'Browse cloud files'
14
- end
15
- end
@@ -1,28 +0,0 @@
1
- describe "The Dashboard", type: :feature do
2
- before do
3
- sign_in :user_with_fixtures
4
- end
5
-
6
- context "upon sign-in" do
7
- it "shows the user's information" do
8
- expect(page).to have_content "My Dashboard"
9
- expect(page).to have_content "User Activity"
10
- expect(page).to have_content "User Notifications"
11
- expect(page).to have_content "Collections created"
12
- expect(page).to have_content "Works created"
13
- end
14
-
15
- it "lets the user create collections" do
16
- click_link "Create Collection"
17
- expect(page).to have_content "Create New Collection"
18
- end
19
-
20
- it "lets the user view works" do
21
- click_link "View Works"
22
- expect(page).to have_content "My Works"
23
- expect(page).to have_content "My Collections"
24
- expect(page).to have_content "My Highlights"
25
- expect(page).to have_content "Works Shared with Me"
26
- end
27
- end
28
- end