enju_seed 0.3.5 → 0.4.0.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +9 -7
  3. data/Rakefile +16 -7
  4. data/app/controllers/profiles_controller.rb +33 -33
  5. data/app/controllers/roles_controller.rb +3 -2
  6. data/app/models/concerns/enju_seed/enju_user.rb +26 -30
  7. data/app/models/concerns/master_model.rb +2 -13
  8. data/app/models/identity.rb +3 -3
  9. data/app/models/profile.rb +14 -14
  10. data/app/models/role.rb +11 -27
  11. data/app/models/user_has_role.rb +6 -3
  12. data/app/policies/user_export_file_policy.rb +21 -0
  13. data/app/policies/user_import_file_policy.rb +21 -0
  14. data/app/policies/user_import_result_policy.rb +21 -0
  15. data/app/views/profiles/show.html.erb +1 -1
  16. data/app/views/roles/_form.html.erb +1 -1
  17. data/app/views/roles/show.html.erb +6 -1
  18. data/db/migrate/041_create_roles.rb +6 -7
  19. data/db/migrate/20100606065209_create_user_has_roles.rb +3 -3
  20. data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +2 -2
  21. data/db/migrate/20140122054321_create_profiles.rb +5 -8
  22. data/db/migrate/20140811031145_add_expired_at_to_profile.rb +1 -1
  23. data/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +1 -1
  24. data/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +1 -1
  25. data/db/migrate/20150421023923_create_identities.rb +4 -6
  26. data/db/migrate/20151126005552_add_provider_to_identity.rb +2 -2
  27. data/db/migrate/20170114174536_add_profile_id_to_user.rb +5 -0
  28. data/lib/enju_seed.rb +2 -3
  29. data/lib/enju_seed/engine.rb +2 -3
  30. data/lib/enju_seed/localized_name.rb +1 -3
  31. data/lib/enju_seed/version.rb +1 -1
  32. data/lib/tasks/enju_seed_tasks.rake +4 -8
  33. data/spec/controllers/my_accounts_controller_spec.rb +45 -56
  34. data/spec/controllers/profiles_controller_spec.rb +147 -152
  35. data/spec/controllers/roles_controller_spec.rb +35 -35
  36. data/spec/dummy/Rakefile +1 -1
  37. data/spec/dummy/app/models/user.rb +3 -3
  38. data/spec/dummy/bin/rails +1 -1
  39. data/spec/dummy/bin/setup +10 -19
  40. data/spec/dummy/config.ru +1 -2
  41. data/spec/dummy/config/application.rb +1 -6
  42. data/spec/dummy/config/database.yml +70 -10
  43. data/spec/dummy/config/environments/development.rb +1 -1
  44. data/spec/dummy/config/environments/production.rb +3 -8
  45. data/spec/dummy/config/environments/test.rb +1 -1
  46. data/spec/dummy/config/initializers/assets.rb +4 -7
  47. data/spec/dummy/config/initializers/cookies_serializer.rb +0 -2
  48. data/spec/dummy/config/initializers/friendly_id.rb +75 -75
  49. data/spec/dummy/config/initializers/wrap_parameters.rb +2 -2
  50. data/spec/dummy/config/routes.rb +0 -4
  51. data/spec/dummy/config/secrets.yml +5 -15
  52. data/spec/dummy/db/migrate/001_create_agents.rb +7 -7
  53. data/spec/dummy/db/migrate/002_devise_create_users.rb +3 -4
  54. data/spec/dummy/db/migrate/005_create_manifestations.rb +4 -5
  55. data/spec/dummy/db/migrate/006_create_items.rb +3 -4
  56. data/spec/dummy/db/migrate/012_create_owns.rb +3 -5
  57. data/spec/dummy/db/migrate/015_create_creates.rb +3 -5
  58. data/spec/dummy/db/migrate/032_create_checkins.rb +1 -1
  59. data/spec/dummy/db/migrate/033_create_checkouts.rb +1 -1
  60. data/spec/dummy/db/migrate/035_create_reserves.rb +1 -1
  61. data/spec/dummy/db/migrate/047_create_produces.rb +3 -5
  62. data/spec/dummy/db/migrate/059_create_libraries.rb +8 -7
  63. data/spec/dummy/db/migrate/069_create_shelves.rb +3 -3
  64. data/spec/dummy/db/migrate/073_create_carrier_types.rb +2 -2
  65. data/spec/dummy/db/migrate/077_create_user_groups.rb +4 -4
  66. data/spec/dummy/db/migrate/080_create_library_groups.rb +6 -6
  67. data/spec/dummy/db/migrate/112_create_frequencies.rb +2 -2
  68. data/spec/dummy/db/migrate/117_create_form_of_works.rb +2 -2
  69. data/spec/dummy/db/migrate/120_create_baskets.rb +2 -2
  70. data/spec/dummy/db/migrate/121_create_checked_items.rb +1 -1
  71. data/spec/dummy/db/migrate/124_create_bookstores.rb +3 -3
  72. data/spec/dummy/db/migrate/125_create_donates.rb +3 -3
  73. data/spec/dummy/db/migrate/127_create_use_restrictions.rb +1 -1
  74. data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +1 -1
  75. data/spec/dummy/db/migrate/130_create_request_status_types.rb +3 -3
  76. data/spec/dummy/db/migrate/131_create_request_types.rb +3 -3
  77. data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +1 -1
  78. data/spec/dummy/db/migrate/133_create_agent_merges.rb +2 -2
  79. data/spec/dummy/db/migrate/134_create_agent_merge_lists.rb +1 -1
  80. data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +3 -5
  81. data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +11 -0
  82. data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +2 -2
  83. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +5 -3
  84. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +3 -4
  85. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +6 -6
  86. data/spec/dummy/db/migrate/20081025083323_create_countries.rb +5 -5
  87. data/spec/dummy/db/migrate/20081025083905_create_languages.rb +6 -6
  88. data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +2 -2
  89. data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +1 -1
  90. data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +1 -1
  91. data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +1 -1
  92. data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +1 -1
  93. data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +1 -1
  94. data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +1 -1
  95. data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +1 -1
  96. data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +1 -1
  97. data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +1 -1
  98. data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +1 -1
  99. data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +1 -1
  100. data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +1 -1
  101. data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +1 -1
  102. data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +1 -1
  103. data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +1 -1
  104. data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +1 -1
  105. data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +2 -2
  106. data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +2 -2
  107. data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +2 -2
  108. data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +1 -1
  109. data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +2 -2
  110. data/spec/dummy/db/migrate/20091214131723_create_series_statements.rb +1 -1
  111. data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +4 -7
  112. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +2 -2
  113. data/spec/dummy/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +1 -1
  114. data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +1 -1
  115. data/spec/dummy/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +1 -1
  116. data/spec/dummy/db/migrate/20100525124311_create_manifestation_relationships.rb +4 -6
  117. data/spec/dummy/db/migrate/20100606073747_create_agent_relationships.rb +1 -1
  118. data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +2 -2
  119. data/spec/dummy/db/migrate/20100814091104_add_position_to_agent_relationship.rb +1 -1
  120. data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +1 -1
  121. data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +1 -1
  122. data/spec/dummy/db/migrate/20101212070145_add_acquired_at_to_item.rb +1 -1
  123. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +2 -2
  124. data/spec/dummy/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +1 -1
  125. data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb +1 -1
  126. data/spec/dummy/db/migrate/20110301134521_add_expire_date_to_reserve.rb +1 -1
  127. data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +2 -2
  128. data/spec/dummy/db/migrate/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +1 -1
  129. data/spec/dummy/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +1 -1
  130. data/spec/dummy/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +1 -1
  131. data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +1 -1
  132. data/spec/dummy/db/migrate/20110621093332_remove_expire_date_from_reserve.rb +1 -1
  133. data/spec/dummy/db/migrate/20110627034940_create_series_statement_merge_lists.rb +1 -1
  134. data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +3 -3
  135. data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +1 -1
  136. data/spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +1 -1
  137. data/spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +1 -1
  138. data/spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb +1 -1
  139. data/spec/dummy/db/migrate/20111124110059_create_create_types.rb +1 -1
  140. data/spec/dummy/db/migrate/20111124110319_create_realize_types.rb +1 -1
  141. data/spec/dummy/db/migrate/20111124110355_create_produce_types.rb +1 -1
  142. data/spec/dummy/db/migrate/20111124112131_add_create_type_to_create.rb +1 -1
  143. data/spec/dummy/db/migrate/20111129044509_add_pickup_location_to_reserve.rb +1 -1
  144. data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +1 -1
  145. data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +1 -1
  146. data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +1 -1
  147. data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +1 -1
  148. data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +2 -2
  149. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +4 -4
  150. data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +1 -1
  151. data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +1 -1
  152. data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +1 -1
  153. data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +1 -1
  154. data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +1 -1
  155. data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +1 -1
  156. data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +1 -1
  157. data/spec/dummy/db/migrate/20120424103932_add_librarian_id_to_checked_item.rb +1 -1
  158. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +2 -2
  159. data/spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +1 -1
  160. data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +1 -1
  161. data/spec/dummy/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +1 -1
  162. data/spec/dummy/db/migrate/20130303124821_add_retained_at_to_reserve.rb +1 -1
  163. data/spec/dummy/db/migrate/20130304015019_add_postponed_at_to_reserve.rb +1 -1
  164. data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +1 -1
  165. data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +1 -1
  166. data/spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb +1 -1
  167. data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +1 -1
  168. data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +1 -1
  169. data/spec/dummy/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb +1 -1
  170. data/spec/dummy/db/migrate/20130506175303_create_identifier_types.rb +1 -1
  171. data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +2 -3
  172. data/spec/dummy/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +1 -1
  173. data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +1 -1
  174. data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +1 -1
  175. data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +3 -3
  176. data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +3 -3
  177. data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +3 -3
  178. data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +3 -3
  179. data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +3 -3
  180. data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +3 -3
  181. data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +3 -2
  182. data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +4 -4
  183. data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +4 -4
  184. data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +5 -5
  185. data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +5 -5
  186. data/spec/dummy/db/migrate/20140529014410_create_item_transitions.rb +15 -0
  187. data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +1 -2
  188. data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +3 -3
  189. data/spec/dummy/db/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +1 -1
  190. data/spec/dummy/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +1 -1
  191. data/spec/dummy/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +1 -1
  192. data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +2 -3
  193. data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +2 -2
  194. data/spec/dummy/db/migrate/20140720140916_add_binding_item_identifier_to_item.rb +1 -1
  195. data/spec/dummy/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +2 -2
  196. data/spec/dummy/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +2 -2
  197. data/spec/dummy/db/migrate/20140721151416_add_default_shelf_id_to_resource_import_file.rb +1 -1
  198. data/spec/dummy/db/migrate/20140802082007_add_manifestation_id_to_item.rb +2 -3
  199. data/spec/dummy/db/migrate/20140810061942_add_user_id_to_user_checkout_stat.rb +1 -1
  200. data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +1 -1
  201. data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +1 -1
  202. data/spec/dummy/db/migrate/20140813182425_add_publication_place_to_manifestation.rb +1 -1
  203. data/spec/dummy/db/migrate/20140821151023_create_colors.rb +4 -2
  204. data/spec/dummy/db/migrate/20140823083524_add_extent_to_manifestation.rb +1 -1
  205. data/spec/dummy/db/migrate/20140823094847_add_dimensions_to_manifestation.rb +1 -1
  206. data/spec/dummy/db/migrate/20140823095740_rename_manifestation_periodical_to_serial.rb +1 -1
  207. data/spec/dummy/db/migrate/20141014065831_add_shelf_id_to_checkout.rb +1 -1
  208. data/spec/dummy/db/migrate/20141020120523_add_library_id_to_checkout.rb +1 -1
  209. data/spec/dummy/db/migrate/20141029131633_create_periodicals.rb +11 -0
  210. data/spec/dummy/db/migrate/20150106001709_create_demands.rb +1 -1
  211. data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +2 -2
  212. data/spec/dummy/db/migrate/20150302110310_add_attachment_id_to_manifestation.rb +7 -0
  213. data/spec/dummy/db/migrate/20150304183215_add_picture_id_to_picture_file.rb +7 -0
  214. data/spec/dummy/db/migrate/20150305025906_add_resource_import_id_to_resource_import_file.rb +7 -0
  215. data/spec/dummy/db/migrate/20150305030046_add_resource_export_id_to_resource_export_file.rb +8 -0
  216. data/spec/dummy/db/migrate/20150305031709_add_agent_import_id_to_agent_import_file.rb +7 -0
  217. data/spec/dummy/db/migrate/20150305105231_add_attachment_fingerprint_to_manifestation.rb +5 -0
  218. data/spec/dummy/db/migrate/20150420145354_add_attachment_to_carrier_type.rb +8 -0
  219. data/spec/dummy/db/migrate/20150420145420_add_attachment_to_content_type.rb +8 -0
  220. data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +4 -4
  221. data/spec/dummy/db/migrate/20151125004028_add_profile_id_to_agent.rb +1 -1
  222. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +11 -5
  223. data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +3 -20
  224. data/spec/dummy/db/migrate/20151216123621_create_doi_records.rb +12 -0
  225. data/spec/dummy/db/migrate/20160319144230_create_issn_records.rb +2 -1
  226. data/spec/dummy/db/migrate/20160506144040_create_isbn_records.rb +2 -1
  227. data/spec/dummy/db/migrate/20160513000929_create_agent_names.rb +18 -0
  228. data/spec/dummy/db/migrate/20160610093229_add_html_snippet_to_library_group.rb +1 -1
  229. data/spec/dummy/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb +1 -1
  230. data/spec/dummy/db/migrate/20160627232316_add_most_recent_to_user_export_file_transitions.rb +1 -1
  231. data/spec/dummy/db/migrate/20160703184619_add_most_recent_to_reserve_transitions.rb +1 -1
  232. data/spec/dummy/db/migrate/20160703184650_add_most_recent_to_manifestation_checkout_stat_transitions.rb +1 -1
  233. data/spec/dummy/db/migrate/20160703184723_add_most_recent_to_manifestation_reserve_stat_transitions.rb +1 -1
  234. data/spec/dummy/db/migrate/20160703184747_add_most_recent_to_user_checkout_stat_transitions.rb +1 -1
  235. data/spec/dummy/db/migrate/20160703184805_add_most_recent_to_user_reserve_stat_transitions.rb +1 -1
  236. data/spec/dummy/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +1 -1
  237. data/spec/dummy/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +1 -1
  238. data/spec/dummy/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +1 -1
  239. data/spec/dummy/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +1 -1
  240. data/spec/dummy/db/migrate/20160813191533_add_book_jacket_source_to_library_group.rb +5 -0
  241. data/spec/dummy/db/migrate/20160813191647_add_max_number_of_results_to_library_group.rb +1 -1
  242. data/spec/dummy/db/migrate/20160813191733_add_family_name_first_to_library_group.rb +1 -1
  243. data/spec/dummy/db/migrate/20160813191820_add_screenshot_generator_to_library_group.rb +5 -0
  244. data/spec/dummy/db/migrate/20160813192542_add_pub_year_facet_range_interval_to_library_group.rb +1 -1
  245. data/spec/dummy/db/migrate/20160813203039_add_user_id_to_library_group.rb +1 -1
  246. data/spec/dummy/db/migrate/20161111175127_add_attachment_data_to_manifestation.rb +5 -0
  247. data/spec/dummy/db/migrate/20161111193255_add_attachment_data_to_carrier_type.rb +5 -0
  248. data/spec/dummy/db/migrate/20161111193346_add_attachment_data_to_content_type.rb +5 -0
  249. data/spec/dummy/db/migrate/20161112122706_add_attachment_data_to_resource_import_file.rb +5 -0
  250. data/spec/dummy/db/migrate/20161112122750_add_attachment_data_to_resource_export_file.rb +5 -0
  251. data/spec/dummy/db/migrate/20161112122814_add_attachment_data_to_agent_import_file.rb +5 -0
  252. data/spec/dummy/db/migrate/20161114083857_add_image_data_to_picture_file.rb +5 -0
  253. data/spec/dummy/db/migrate/20161115184747_add_attachment_data_to_user_import_file.rb +5 -0
  254. data/spec/dummy/db/migrate/20161115184756_add_attachment_data_to_user_export_file.rb +5 -0
  255. data/spec/dummy/db/schema.rb +401 -450
  256. data/spec/factories/profile.rb +8 -8
  257. data/spec/factories/user.rb +25 -22
  258. data/spec/factories/user_group.rb +1 -1
  259. data/spec/fixtures/libraries.yml +37 -37
  260. data/spec/fixtures/library_groups.yml +27 -19
  261. data/spec/fixtures/profiles.yml +27 -35
  262. data/spec/fixtures/roles.yml +12 -12
  263. data/spec/fixtures/user_groups.yml +20 -10
  264. data/spec/fixtures/user_has_roles.yml +2 -2
  265. data/spec/fixtures/users.yml +7 -0
  266. data/spec/models/profile_spec.rb +17 -18
  267. data/spec/models/role_spec.rb +17 -18
  268. data/spec/models/user_has_role_spec.rb +4 -5
  269. data/spec/models/user_spec.rb +14 -16
  270. data/spec/rails_helper.rb +4 -9
  271. data/spec/requests/profiles_spec.rb +3 -3
  272. data/spec/routing/profiles_routing_spec.rb +16 -18
  273. data/spec/routing/roles_routing_spec.rb +16 -18
  274. data/spec/routing/users_spec.rb +6 -7
  275. data/spec/spec_helper.rb +47 -49
  276. data/spec/support/controller_macros.rb +6 -6
  277. data/spec/views/my_accounts/show.html.erb_spec.rb +6 -6
  278. data/spec/views/profiles/edit.html.erb_spec.rb +7 -7
  279. data/spec/views/profiles/index.html.erb_spec.rb +3 -3
  280. data/spec/views/profiles/new.html.erb_spec.rb +5 -6
  281. data/spec/views/profiles/show.html.erb_spec.rb +4 -4
  282. metadata +309 -456
  283. data/db/migrate/20140610123439_drop_email_unique_constraint_enju_leaf_rc10.rb +0 -11
  284. data/lib/generators/enju_seed/setup/setup_generator.rb +0 -9
  285. data/lib/generators/enju_seed/setup/templates/db/fixtures/roles.yml +0 -38
  286. data/lib/generators/enju_seed/update/update_generator.rb +0 -9
  287. data/spec/dummy/app/models/application_record.rb +0 -3
  288. data/spec/dummy/bin/update +0 -29
  289. data/spec/dummy/bin/yarn +0 -11
  290. data/spec/dummy/config/cable.yml +0 -10
  291. data/spec/dummy/config/initializers/application_controller_renderer.rb +0 -8
  292. data/spec/dummy/config/puma.rb +0 -56
  293. data/spec/dummy/config/spring.rb +0 -6
  294. data/spec/dummy/db/migrate/149_create_message_templates.rb +0 -18
  295. data/spec/dummy/db/migrate/154_create_messages.rb +0 -23
  296. data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +0 -18
  297. data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +0 -21
  298. data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +0 -11
  299. data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +0 -6
  300. data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +0 -5
  301. data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +0 -5
  302. data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +0 -18
  303. data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +0 -18
  304. data/spec/dummy/db/migrate/20140822114527_add_error_message_to_resource_import_result.rb +0 -5
  305. data/spec/dummy/db/migrate/20150117111136_add_foreign_key_to_items_referencing_manifestations.rb +0 -5
  306. data/spec/dummy/db/migrate/20150506105356_add_error_message_to_user_import_result.rb +0 -5
  307. data/spec/dummy/db/migrate/20160703185015_add_most_recent_to_message_transitions.rb +0 -9
  308. data/spec/dummy/db/migrate/20160703190209_add_foreign_key_on_manifestation_id_to_reserve.rb +0 -5
  309. data/spec/dummy/db/migrate/20160811102604_add_picture_width_to_picture_file.rb +0 -6
  310. data/spec/dummy/db/migrate/20160814165332_add_most_recent_to_message_request_transitions.rb +0 -9
  311. data/spec/dummy/db/migrate/20160820004638_add_attachment_attachment_to_carrier_types.rb +0 -11
  312. data/spec/dummy/db/migrate/20170116134107_create_issn_record_and_manifestations.rb +0 -11
  313. data/spec/dummy/db/migrate/20170116134120_create_isbn_record_and_manifestations.rb +0 -11
  314. data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +0 -5
  315. data/spec/dummy/db/migrate/20171014084528_add_header_logo_to_library_group.rb +0 -5
  316. data/spec/dummy/db/migrate/20171119051258_set_not_null_to_manifestation_id_on_items.rb +0 -5
  317. data/spec/dummy/db/migrate/20171126133835_rename_login_banner_to_old_login_banner.rb +0 -5
  318. data/spec/dummy/db/migrate/20171126135238_add_foreign_key_to_library_group_id_on_library.rb +0 -5
  319. data/spec/dummy/db/migrate/20180102162311_add_header_logo_meta_to_library_group.rb +0 -5
  320. data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +0 -13
  321. data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +0 -13
  322. data/spec/dummy/db/migrate/20180107161311_add_constraints_to_most_recent_for_agent_import_file_transitions.rb +0 -13
  323. data/spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb +0 -13
  324. data/spec/dummy/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb +0 -13
  325. data/spec/dummy/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb +0 -13
  326. data/spec/dummy/db/migrate/20180107162659_add_constraints_to_most_recent_for_message_transitions.rb +0 -13
  327. data/spec/dummy/db/migrate/20180107162711_add_constraints_to_most_recent_for_message_request_transitions.rb +0 -13
  328. data/spec/dummy/db/migrate/20181026064038_add_login_banner_to_library_group.rb +0 -6
  329. data/spec/dummy/db/migrate/20181030072731_add_not_null_to_position_on_carrier_type.rb +0 -14
  330. data/spec/dummy/db/migrate/20181030074920_add_not_null_to_position_on_library.rb +0 -14
  331. data/spec/dummy/db/migrate/20190208135957_create_active_storage_tables.active_storage.rb +0 -27
  332. data/spec/dummy/db/migrate/20190311154610_create_periodicals.rb +0 -10
  333. data/spec/dummy/db/migrate/20190314151124_add_full_name_translations_to_create.rb +0 -7
  334. data/spec/dummy/package.json +0 -5
  335. data/spec/fixtures/message_requests.yml +0 -26
  336. data/spec/fixtures/message_templates.yml +0 -98
  337. data/spec/fixtures/messages.yml +0 -56
  338. data/spec/system/profiles_spec.rb +0 -39
  339. data/spec/views/roles/edit.html.erb_spec.rb +0 -18
  340. data/spec/views/roles/index.html.erb_spec.rb +0 -14
  341. data/spec/views/roles/new.html.erb_spec.rb +0 -18
  342. data/spec/views/roles/show.html.erb_spec.rb +0 -14
@@ -1,19 +1,20 @@
1
- class Profile < ApplicationRecord
1
+ class Profile < ActiveRecord::Base
2
+ enju_search_log_profile_model if defined?(EnjuSearchLog)
3
+
2
4
  scope :administrators, -> { joins(user: :role).where('roles.name = ?', 'Administrator') }
3
5
  scope :librarians, -> { joins(user: :role).where('roles.name = ? OR roles.name = ?', 'Administrator', 'Librarian') }
4
- belongs_to :user, dependent: :destroy, optional: true
5
- belongs_to :library
6
+ has_one :user
7
+ belongs_to :library, validate: true
6
8
  belongs_to :user_group
7
- belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id' #, validate: true
9
+ belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id' # , validate: true
8
10
  has_many :identities
9
11
  has_many :agents
10
12
  accepts_nested_attributes_for :identities, allow_destroy: true, reject_if: :all_blank
11
13
 
12
14
  validates_associated :user_group, :library
13
- validates :user, uniqueness: true, associated: true, allow_blank: true
14
- validates_presence_of :user_group, :library, :locale #, :user_number
15
+ validates_associated :user
16
+ validates :user_group, :library, :locale, presence: true # , :user_number
15
17
  validates :user_number, uniqueness: true, format: { with: /\A[0-9A-Za-z_]+\z/ }, allow_blank: true
16
- validates :user_id, uniqueness: true, allow_blank: true
17
18
  validates :birth_date, format: { with: /\A\d{4}-\d{1,2}-\d{1,2}\z/ }, allow_blank: true
18
19
 
19
20
  strip_attributes only: :user_number
@@ -50,7 +51,7 @@ class Profile < ApplicationRecord
50
51
  # 既定のユーザ権限を設定します。
51
52
  # @return [void]
52
53
  def set_role_and_agent
53
- self.required_role = Role.find_by(name: 'Librarian') unless required_role
54
+ self.required_role = Role.where(name: 'Librarian').first unless required_role
54
55
  self.locale = I18n.default_locale.to_s unless locale
55
56
  end
56
57
 
@@ -77,18 +78,17 @@ end
77
78
  #
78
79
  # Table name: profiles
79
80
  #
80
- # id :integer not null, primary key
81
- # user_id :integer
82
- # user_group_id :integer
83
- # library_id :integer
81
+ # id :uuid not null, primary key
82
+ # user_group_id :uuid
83
+ # library_id :uuid
84
84
  # locale :string
85
85
  # user_number :string
86
86
  # full_name :text
87
87
  # note :text
88
88
  # keyword_list :text
89
89
  # required_role_id :integer
90
- # created_at :datetime
91
- # updated_at :datetime
90
+ # created_at :datetime not null
91
+ # updated_at :datetime not null
92
92
  # checkout_icalendar_token :string
93
93
  # save_checkout_history :boolean default(FALSE), not null
94
94
  # expired_at :datetime
@@ -1,35 +1,19 @@
1
- class Role < ApplicationRecord
1
+ class Role < ActiveRecord::Base
2
2
  include MasterModel
3
3
  validates :name, presence: true, format: { with: /\A[A-Za-z][a-z_,]*[a-z]\z/ }
4
4
  has_many :user_has_roles
5
5
  has_many :users, through: :user_has_roles
6
- after_save :clear_all_cache
7
- after_destroy :clear_all_cache
8
6
 
9
7
  extend FriendlyId
10
8
  friendly_id :name
11
-
12
- def localized_name
13
- display_name.localize
14
- end
15
-
16
- def self.all_cache
17
- if Rails.env == 'production'
18
- Rails.cache.fetch('role_all'){ Role.select(:name).all }
19
- else
20
- Role.select(:name)
21
- end
22
- end
23
-
24
- def clear_all_cache
25
- Rails.cache.delete('role_all')
26
- end
9
+ translates :display_name
27
10
 
28
11
  def self.default_role
29
12
  Role.find_by(name: 'Guest')
30
13
  end
31
14
 
32
15
  private
16
+
33
17
  def valid_name?
34
18
  true
35
19
  end
@@ -39,12 +23,12 @@ end
39
23
  #
40
24
  # Table name: roles
41
25
  #
42
- # id :integer not null, primary key
43
- # name :string not null
44
- # display_name :string
45
- # note :text
46
- # created_at :datetime
47
- # updated_at :datetime
48
- # score :integer default(0), not null
49
- # position :integer
26
+ # id :integer not null, primary key
27
+ # name :string not null
28
+ # display_name_translations :jsonb
29
+ # note :text
30
+ # created_at :datetime not null
31
+ # updated_at :datetime not null
32
+ # score :integer default(0), not null
33
+ # position :integer
50
34
  #
@@ -1,7 +1,10 @@
1
- class UserHasRole < ApplicationRecord
1
+ class UserHasRole < ActiveRecord::Base
2
2
  belongs_to :user
3
3
  belongs_to :role
4
4
  accepts_nested_attributes_for :role
5
+
6
+ # validates_uniqueness_of :role_id, scope: :user_id
7
+ # validates_presence_of :role_id, :user_id
5
8
  end
6
9
 
7
10
  # == Schema Information
@@ -11,6 +14,6 @@ end
11
14
  # id :integer not null, primary key
12
15
  # user_id :integer not null
13
16
  # role_id :integer not null
14
- # created_at :datetime
15
- # updated_at :datetime
17
+ # created_at :datetime not null
18
+ # updated_at :datetime not null
16
19
  #
@@ -0,0 +1,21 @@
1
+ class UserExportFilePolicy < ApplicationPolicy
2
+ def index?
3
+ true if user.try(:has_role?, 'Administrator')
4
+ end
5
+
6
+ def show?
7
+ true if user.try(:has_role?, 'Administrator')
8
+ end
9
+
10
+ def create?
11
+ true if user.try(:has_role?, 'Administrator')
12
+ end
13
+
14
+ def update?
15
+ true if user.try(:has_role?, 'Administrator')
16
+ end
17
+
18
+ def destroy?
19
+ true if user.try(:has_role?, 'Administrator')
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ class UserImportFilePolicy < ApplicationPolicy
2
+ def index?
3
+ true if user.try(:has_role?, 'Librarian')
4
+ end
5
+
6
+ def show?
7
+ true if user.try(:has_role?, 'Librarian')
8
+ end
9
+
10
+ def create?
11
+ true if user.try(:has_role?, 'Librarian')
12
+ end
13
+
14
+ def update?
15
+ true if user.try(:has_role?, 'Librarian')
16
+ end
17
+
18
+ def destroy?
19
+ true if user.try(:has_role?, 'Librarian')
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ class UserImportResultPolicy < ApplicationPolicy
2
+ def index?
3
+ true if user.try(:has_role?, 'Librarian')
4
+ end
5
+
6
+ def show?
7
+ true if user.try(:has_role?, 'Librarian')
8
+ end
9
+
10
+ def create?
11
+ false
12
+ end
13
+
14
+ def update?
15
+ false
16
+ end
17
+
18
+ def destroy?
19
+ false
20
+ end
21
+ end
@@ -28,7 +28,7 @@
28
28
  <%= render 'submenu_checkout', profile: @profile %>
29
29
  <% end %>
30
30
  <ul>
31
- <li><%= back_to_index(flash[:page_info]) -%></li>
31
+ <li><%= link_to t('page.back'), :back %></li>
32
32
  <% if user_signed_in? %>
33
33
  <% if policy(@profile).update? %>
34
34
  <li><%= link_to t('page.edit'), edit_profile_path(@profile) -%></li>
@@ -3,7 +3,7 @@
3
3
 
4
4
  <div class="field">
5
5
  <%= f.label :name %><br />
6
- <%= f.text_field :name, required: true %>
6
+ <%= f.text_field :name %>
7
7
  </div>
8
8
  <div class="field">
9
9
  <%= f.label :display_name %><br />
@@ -13,6 +13,11 @@
13
13
  <%= @role.display_name.localize -%>
14
14
  </p>
15
15
 
16
+ <p>
17
+ <strong><%= t('activerecord.attributes.role.score') -%>:</strong>
18
+ <%= @role.score -%>
19
+ </p>
20
+
16
21
  <p>
17
22
  <strong><%= t('activerecord.attributes.role.note') -%>:</strong>
18
23
  <%= @role.note -%>
@@ -36,6 +41,6 @@
36
41
  <%- if policy(@role).update? -%>
37
42
  <li><%= link_to t('page.edit'), edit_role_path(@role) -%></li>
38
43
  <%- end -%>
39
- <li><%= back_to_index(flash[:page_info]) -%></li>
44
+ <li><%= link_to t('page.back'), roles_path -%></li>
40
45
  </ul>
41
46
  </div>
@@ -1,11 +1,10 @@
1
- class CreateRoles < ActiveRecord::Migration[4.2]
1
+ class CreateRoles < ActiveRecord::Migration[5.1]
2
2
  def change
3
- create_table "roles" do |t|
4
- t.column :name, :string, null: false
5
- t.column :display_name, :string
6
- t.column :note, :text
7
- t.column :created_at, :datetime
8
- t.column :updated_at, :datetime
3
+ create_table 'roles' do |t|
4
+ t.string :name, null: false
5
+ t.jsonb :display_name_translations
6
+ t.text :note
7
+ t.timestamps
9
8
  t.integer :score, default: 0, null: false
10
9
  t.integer :position
11
10
  end
@@ -1,8 +1,8 @@
1
- class CreateUserHasRoles < ActiveRecord::Migration[4.2]
1
+ class CreateUserHasRoles < ActiveRecord::Migration[5.1]
2
2
  def change
3
3
  create_table :user_has_roles do |t|
4
- t.references :user, index: true, foreign_key: true, null: false
5
- t.references :role, index: true, foreign_key: true, null: false
4
+ t.references :user, foreign_key: {on_delete: :cascade}, null: false
5
+ t.references :role, foreign_key: true, null: false
6
6
 
7
7
  t.timestamps
8
8
  end
@@ -1,4 +1,4 @@
1
- class AddAdditionalAttributesToUser < ActiveRecord::Migration[4.2]
1
+ class AddAdditionalAttributesToUser < ActiveRecord::Migration[5.1]
2
2
  def change
3
3
  add_column :users, :username, :string
4
4
  add_column :users, :deleted_at, :datetime
@@ -11,6 +11,6 @@ class AddAdditionalAttributesToUser < ActiveRecord::Migration[4.2]
11
11
  add_column :users, :confirmed_at, :datetime
12
12
 
13
13
  add_index :users, :username, unique: true
14
- add_index :users, :unlock_token, unique: true
14
+ add_index :users, :unlock_token, unique: true
15
15
  end
16
16
  end
@@ -1,11 +1,10 @@
1
- class CreateProfiles < ActiveRecord::Migration[4.2]
1
+ class CreateProfiles < ActiveRecord::Migration[5.1]
2
2
  def change
3
- create_table :profiles do |t|
4
- t.references :user, index: true, foreign_key: true
5
- t.references :user_group, index: true
6
- t.references :library, index: true
3
+ create_table :profiles, id: :uuid, default: 'gen_random_uuid()' do |t|
4
+ t.references :user_group, type: :uuid
5
+ t.references :library, type: :uuid
7
6
  t.string :locale
8
- t.string :user_number
7
+ t.string :user_number, index: {unique: true}
9
8
  t.text :full_name
10
9
  t.text :note
11
10
  t.text :keyword_list
@@ -13,7 +12,5 @@ class CreateProfiles < ActiveRecord::Migration[4.2]
13
12
 
14
13
  t.timestamps
15
14
  end
16
-
17
- add_index :profiles, :user_number, unique: true
18
15
  end
19
16
  end
@@ -1,4 +1,4 @@
1
- class AddExpiredAtToProfile < ActiveRecord::Migration[4.2]
1
+ class AddExpiredAtToProfile < ActiveRecord::Migration[5.1]
2
2
  def change
3
3
  add_column :profiles, :expired_at, :datetime
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddFullNameTranscriptionToProfile < ActiveRecord::Migration[4.2]
1
+ class AddFullNameTranscriptionToProfile < ActiveRecord::Migration[5.1]
2
2
  def change
3
3
  add_column :profiles, :full_name_transcription, :text
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddDateOfBirthToProfile < ActiveRecord::Migration[4.2]
1
+ class AddDateOfBirthToProfile < ActiveRecord::Migration[5.1]
2
2
  def change
3
3
  add_column :profiles, :date_of_birth, :datetime
4
4
  end
@@ -1,14 +1,12 @@
1
- class CreateIdentities < ActiveRecord::Migration[4.2]
1
+ class CreateIdentities < ActiveRecord::Migration[5.1]
2
2
  def change
3
3
  create_table :identities do |t|
4
- t.string :name
5
- t.string :email
4
+ t.string :name, index: true
5
+ t.string :email, index: true
6
6
  t.string :password_digest
7
7
  t.references :profile, index: true
8
8
 
9
- t.timestamps null: false
9
+ t.timestamps
10
10
  end
11
- add_index :identities, :name
12
- add_index :identities, :email
13
11
  end
14
12
  end
@@ -1,5 +1,5 @@
1
- class AddProviderToIdentity < ActiveRecord::Migration[4.2]
1
+ class AddProviderToIdentity < ActiveRecord::Migration[5.1]
2
2
  def change
3
- add_column :identities, :provider, :string
3
+ add_column :identities, :provider, :string, null: false
4
4
  end
5
5
  end
@@ -0,0 +1,5 @@
1
+ class AddProfileIdToUser < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_reference :users, :profile, foreign_key: {on_delete: :cascade}, type: :uuid
4
+ end
5
+ end
@@ -1,6 +1,5 @@
1
- require "enju_seed/engine"
2
- require "enju_seed/version"
3
- require "enju_seed/localized_name"
1
+ require 'enju_seed/engine'
4
2
 
5
3
  module EnjuSeed
4
+ # Your code goes here...
6
5
  end
@@ -13,9 +13,8 @@ require 'sitemap_generator'
13
13
  require 'browser'
14
14
  require 'simple_form'
15
15
  require 'validates_timeliness'
16
- require 'paperclip'
17
- require 'globalize'
18
- require 'globalize-accessors'
16
+ require 'json_translate'
17
+ require 'statesman'
19
18
 
20
19
  module EnjuSeed
21
20
  class Engine < ::Rails::Engine
@@ -1,9 +1,7 @@
1
1
  module LocalizedName
2
2
  def localize(locale = I18n.locale)
3
3
  string = YAML.load(self)
4
- if string.is_a?(Hash) and string[locale.to_s]
5
- return string[locale.to_s]
6
- end
4
+ return string[locale.to_s] if string.is_a?(Hash) && string[locale.to_s]
7
5
  self
8
6
  rescue NoMethodError
9
7
  self
@@ -1,3 +1,3 @@
1
1
  module EnjuSeed
2
- VERSION = "0.3.5".freeze
2
+ VERSION = '0.4.0.beta.1'.freeze
3
3
  end
@@ -1,8 +1,4 @@
1
- namespace :enju_seed do
2
- desc "create initial records for enju_seed"
3
- task setup: :environment do
4
- Dir.glob(Rails.root.to_s + '/db/fixtures/enju_seed/*.yml').each do |file|
5
- ActiveRecord::FixtureSet.create_fixtures('db/fixtures/enju_seed', File.basename(file, '.*'))
6
- end
7
- end
8
- end
1
+ # desc "Explaining what the task does"
2
+ # task :enju_seed do
3
+ # # Task goes here
4
+ # end
@@ -3,20 +3,20 @@ require 'rails_helper'
3
3
  describe MyAccountsController do
4
4
  fixtures :all
5
5
 
6
- describe "GET show" do
7
- describe "When logged in as Administrator" do
6
+ describe 'GET show' do
7
+ describe 'When logged in as Administrator' do
8
8
  before(:each) do
9
9
  sign_in User.friendly.find('enjuadmin')
10
10
  end
11
11
 
12
- it "assigns the requested user as @user" do
12
+ it 'assigns the requested user as @user' do
13
13
  get :show, params: { id: 'admin' }
14
14
  expect(response).to be_successful
15
15
  end
16
16
  end
17
17
 
18
- describe "When not logged in" do
19
- it "assigns the requested user as @user" do
18
+ describe 'When not logged in' do
19
+ it 'assigns the requested user as @user' do
20
20
  get :show, params: { id: 'admin' }
21
21
  expect(assigns(:user)).to be_nil
22
22
  expect(response).to redirect_to(new_user_session_url)
@@ -24,52 +24,46 @@ describe MyAccountsController do
24
24
  end
25
25
  end
26
26
 
27
- describe "GET edit" do
28
- describe "When logged in as Administrator" do
27
+ describe 'GET edit' do
28
+ describe 'When logged in as Administrator' do
29
29
  before(:each) do
30
- profile = FactoryBot.create(:profile)
31
30
  @user = FactoryBot.create(:admin)
32
- @user.profile = profile
33
31
  sign_in @user
34
32
  end
35
33
 
36
- it "assigns the requested user as @user" do
34
+ it 'assigns the requested user as @user' do
37
35
  get :edit
38
36
  expect(assigns(:profile)).to eq(@user.profile)
39
37
  end
40
38
  end
41
39
 
42
- describe "When logged in as Librarian" do
40
+ describe 'When logged in as Librarian' do
43
41
  before(:each) do
44
- profile = FactoryBot.create(:profile)
45
42
  @user = FactoryBot.create(:librarian)
46
- @user.profile = profile
47
43
  sign_in @user
48
44
  end
49
45
 
50
- it "should assign the requested user as @user" do
46
+ it 'should assign the requested user as @user' do
51
47
  get :edit
52
48
  expect(assigns(:profile)).to eq(@user.profile)
53
49
  end
54
50
  end
55
51
 
56
- describe "When logged in as User" do
52
+ describe 'When logged in as User' do
57
53
  before(:each) do
58
- profile = FactoryBot.create(:profile)
59
54
  @user = FactoryBot.create(:user)
60
- @user.profile = profile
61
55
  sign_in @user
62
56
  end
63
57
 
64
- it "should assign the requested user as @user" do
58
+ it 'should assign the requested user as @user' do
65
59
  get :edit
66
60
  expect(assigns(:profile)).to eq(@user.profile)
67
61
  expect(response).to be_successful
68
62
  end
69
63
  end
70
64
 
71
- describe "When not logged in" do
72
- it "should not assign the requested user as @user" do
65
+ describe 'When not logged in' do
66
+ it 'should not assign the requested user as @user' do
73
67
  get :edit
74
68
  expect(assigns(:user)).to be_nil
75
69
  expect(response).to redirect_to(new_user_session_url)
@@ -77,34 +71,32 @@ describe MyAccountsController do
77
71
  end
78
72
  end
79
73
 
80
- describe "PUT update" do
74
+ describe 'PUT update' do
81
75
  before(:each) do
82
76
  @attrs = { user_attributes: { email: 'newaddress@example.jp', current_password: 'password' }, locale: 'en' }
83
77
  @invalid_attrs = { user_attributes: { username: '' }, user_number: '日本語' }
84
78
  @invalid_passwd_attrs = { user_attributes: { current_password: '' } }
85
79
  end
86
80
 
87
- describe "When logged in as Administrator" do
81
+ describe 'When logged in as Administrator' do
88
82
  before(:each) do
89
- profile = FactoryBot.create(:profile)
90
83
  @user = FactoryBot.create(:admin, password: 'password', password_confirmation: 'password')
91
- @user.profile = profile
92
84
  sign_in @user
93
85
  end
94
86
 
95
- describe "with valid params" do
96
- it "updates the requested user" do
87
+ describe 'with valid params' do
88
+ it 'updates the requested user' do
97
89
  @attrs[:user_attributes][:id] = @user.id
98
90
  put :update, params: { profile: @attrs }
99
91
  end
100
92
 
101
- it "assigns the requested user as @user" do
93
+ it 'assigns the requested user as @user' do
102
94
  @attrs[:user_attributes][:id] = @user.id
103
95
  put :update, params: { profile: @attrs }
104
96
  expect(assigns(:profile)).to eq(@user.profile)
105
97
  end
106
98
 
107
- it "redirects to the user" do
99
+ it 'redirects to the user' do
108
100
  @attrs[:user_attributes][:id] = @user.id
109
101
  put :update, params: { profile: @attrs }
110
102
  expect(assigns(:profile)).to eq(@user.profile)
@@ -112,15 +104,15 @@ describe MyAccountsController do
112
104
  end
113
105
  end
114
106
 
115
- describe "with invalid params" do
116
- it "assigns the requested user as @user" do
107
+ describe 'with invalid params' do
108
+ it 'assigns the requested user as @user' do
117
109
  put :update, params: { profile: @invalid_attrs }
118
110
  expect(assigns(:profile)).to eq(@user.profile)
119
111
  end
120
112
 
121
113
  it "re-renders the 'edit' template" do
122
114
  put :update, params: { profile: @invalid_attrs }
123
- expect(response).to render_template("edit")
115
+ expect(response).to render_template('edit')
124
116
  end
125
117
  end
126
118
 
@@ -132,27 +124,25 @@ describe MyAccountsController do
132
124
  # end
133
125
  end
134
126
 
135
- describe "When logged in as Librarian" do
127
+ describe 'When logged in as Librarian' do
136
128
  before(:each) do
137
- profile = FactoryBot.create(:profile)
138
129
  @user = FactoryBot.create(:librarian, password: 'password', password_confirmation: 'password')
139
- @user.profile = profile
140
130
  sign_in @user
141
131
  end
142
132
 
143
- describe "with valid params" do
144
- it "updates the requested user" do
133
+ describe 'with valid params' do
134
+ it 'updates the requested user' do
145
135
  @attrs[:user_attributes][:id] = @user.id
146
136
  put :update, params: { profile: @attrs }
147
137
  end
148
138
 
149
- it "assigns the requested user as @user" do
139
+ it 'assigns the requested user as @user' do
150
140
  @attrs[:user_attributes][:id] = @user.id
151
141
  put :update, params: { profile: @attrs }
152
142
  expect(assigns(:profile)).to eq(@user.profile)
153
143
  end
154
144
 
155
- it "redirects to the user" do
145
+ it 'redirects to the user' do
156
146
  @attrs[:user_attributes][:id] = @user.id
157
147
  put :update, params: { profile: @attrs }
158
148
  expect(assigns(:profile)).to eq(@user.profile)
@@ -160,36 +150,34 @@ describe MyAccountsController do
160
150
  end
161
151
  end
162
152
 
163
- describe "with invalid params" do
164
- it "assigns the user as @user" do
153
+ describe 'with invalid params' do
154
+ it 'assigns the user as @user' do
165
155
  put :update, params: { profile: @invalid_attrs }
166
156
  expect(assigns(:profile)).to_not be_valid
167
157
  expect(response).to be_successful
168
158
  end
169
159
 
170
- it "should ignore username" do
160
+ it 'should ignore username' do
171
161
  put :update, params: { profile: @invalid_attrs }
172
- expect(response).to render_template("edit")
162
+ expect(response).to render_template('edit')
173
163
  expect(assigns(:profile).changed?).to be_truthy
174
164
  end
175
165
  end
176
166
  end
177
167
 
178
- describe "When logged in as User" do
168
+ describe 'When logged in as User' do
179
169
  before(:each) do
180
- profile = FactoryBot.create(:profile)
181
170
  @user = FactoryBot.create(:user, password: 'password', password_confirmation: 'password')
182
- @user.profile = profile
183
171
  sign_in @user
184
172
  end
185
173
 
186
- describe "with valid params" do
187
- it "updates the requested user" do
174
+ describe 'with valid params' do
175
+ it 'updates the requested user' do
188
176
  @attrs[:user_attributes][:id] = @user.id
189
177
  put :update, params: { profile: @attrs }
190
178
  end
191
179
 
192
- it "assigns the requested user as @user" do
180
+ it 'assigns the requested user as @user' do
193
181
  @attrs[:user_attributes][:id] = @user.id
194
182
  put :update, params: { profile: @attrs }
195
183
  expect(assigns(:profile)).to eq(@user.profile)
@@ -197,29 +185,30 @@ describe MyAccountsController do
197
185
  end
198
186
  end
199
187
 
200
- describe "with invalid params" do
201
- it "assigns the requested user as @user" do
188
+ describe 'with invalid params' do
189
+ it 'assigns the requested user as @user' do
202
190
  put :update, params: { profile: @invalid_attrs }
191
+ #expect(response).to be_successful
203
192
  expect(assigns(:profile).user.username).to eq(@user.username)
204
193
  expect(response).to redirect_to(my_account_url)
205
194
  end
206
195
  end
207
196
  end
208
197
 
209
- describe "When not logged in" do
210
- describe "with valid params" do
211
- it "updates the requested user" do
198
+ describe 'When not logged in' do
199
+ describe 'with valid params' do
200
+ it 'updates the requested user' do
212
201
  put :update, params: { profile: @attrs }
213
202
  end
214
203
 
215
- it "should be forbidden" do
204
+ it 'should be forbidden' do
216
205
  put :update, params: { profile: @attrs }
217
206
  expect(response).to redirect_to(new_user_session_url)
218
207
  end
219
208
  end
220
209
 
221
- describe "with invalid params" do
222
- it "assigns the requested user as @user" do
210
+ describe 'with invalid params' do
211
+ it 'assigns the requested user as @user' do
223
212
  put :update, params: { profile: @invalid_attrs }
224
213
  expect(response).to redirect_to(new_user_session_url)
225
214
  end