enju_seed 0.1.1.pre12 → 0.2.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/app/controllers/my_accounts_controller.rb +93 -0
  4. data/app/controllers/profiles_controller.rb +219 -0
  5. data/app/controllers/roles_controller.rb +61 -0
  6. data/app/models/concerns/master_model.rb +38 -0
  7. data/app/models/identity.rb +9 -0
  8. data/app/models/profile.rb +101 -0
  9. data/app/models/role.rb +50 -0
  10. data/app/models/user_has_role.rb +19 -0
  11. data/app/policies/application_policy.rb +53 -0
  12. data/app/policies/profile_policy.rb +55 -0
  13. data/app/policies/role_policy.rb +21 -0
  14. data/app/views/my_accounts/_edit_credential.html.erb +99 -0
  15. data/app/views/my_accounts/_form.html.erb +24 -0
  16. data/app/views/my_accounts/_show.html.erb +1 -0
  17. data/app/views/my_accounts/edit.html.erb +32 -0
  18. data/app/views/my_accounts/show.html+phone.erb +1 -0
  19. data/app/views/my_accounts/show.html.erb +49 -0
  20. data/app/views/profiles/_edit_credential.html.erb +88 -0
  21. data/app/views/profiles/_edit_profile.html.erb +42 -0
  22. data/app/views/profiles/_form.html.erb +15 -0
  23. data/app/views/profiles/_show.html.erb +1 -0
  24. data/app/views/profiles/edit.html.erb +33 -0
  25. data/app/views/profiles/index.html.erb +70 -0
  26. data/app/views/profiles/new.html.erb +88 -0
  27. data/app/views/profiles/show.html+phone.erb +1 -0
  28. data/app/views/profiles/show.html.erb +71 -0
  29. data/app/views/roles/_form.html.erb +19 -0
  30. data/app/views/roles/edit.html.erb +13 -0
  31. data/app/views/roles/index.html.erb +32 -0
  32. data/app/views/roles/new.html.erb +12 -0
  33. data/app/views/roles/show.html.erb +46 -0
  34. data/config/routes.rb +5 -0
  35. data/db/migrate/041_create_roles.rb +13 -0
  36. data/db/migrate/20100606065209_create_user_has_roles.rb +12 -0
  37. data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +16 -0
  38. data/db/migrate/20140122054321_create_profiles.rb +20 -0
  39. data/db/migrate/20140610123439_drop_email_unique_constraint_enju_leaf_rc10.rb +11 -0
  40. data/db/migrate/20140811031145_add_expired_at_to_profile.rb +5 -0
  41. data/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +5 -0
  42. data/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +5 -0
  43. data/db/migrate/20150421023923_create_identities.rb +15 -0
  44. data/db/migrate/20151126005552_add_provider_to_identity.rb +5 -0
  45. data/lib/enju_seed/engine.rb +8 -5
  46. data/lib/enju_seed/version.rb +1 -1
  47. data/spec/controllers/my_accounts_controller_spec.rb +229 -0
  48. data/spec/controllers/profiles_controller_spec.rb +594 -0
  49. data/spec/controllers/roles_controller_spec.rb +136 -0
  50. data/spec/dummy/README.rdoc +15 -248
  51. data/spec/dummy/Rakefile +1 -2
  52. data/spec/dummy/app/assets/javascripts/application.js +4 -6
  53. data/spec/dummy/app/assets/stylesheets/application.css +6 -4
  54. data/spec/dummy/app/controllers/application_controller.rb +9 -1
  55. data/spec/dummy/app/models/user.rb +9 -0
  56. data/spec/dummy/app/views/layouts/application.html.erb +2 -2
  57. data/spec/dummy/bin/bundle +3 -0
  58. data/spec/dummy/bin/rails +4 -0
  59. data/spec/dummy/bin/rake +4 -0
  60. data/spec/dummy/bin/setup +29 -0
  61. data/spec/dummy/config.ru +2 -2
  62. data/spec/dummy/config/application.rb +4 -35
  63. data/spec/dummy/config/boot.rb +4 -9
  64. data/spec/dummy/config/database.yml +8 -8
  65. data/spec/dummy/config/environment.rb +3 -3
  66. data/spec/dummy/config/environments/development.rb +22 -18
  67. data/spec/dummy/config/environments/production.rb +46 -34
  68. data/spec/dummy/config/environments/test.rb +19 -14
  69. data/spec/dummy/config/initializers/assets.rb +11 -0
  70. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  71. data/spec/dummy/config/initializers/devise.rb +274 -0
  72. data/spec/dummy/config/initializers/enju_leaf.rb +2 -0
  73. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  74. data/spec/dummy/config/initializers/inflections.rb +6 -5
  75. data/spec/dummy/config/initializers/mime_types.rb +0 -1
  76. data/spec/dummy/config/initializers/secret_token.rb +7 -2
  77. data/spec/dummy/config/initializers/session_store.rb +1 -6
  78. data/spec/dummy/config/initializers/wrap_parameters.rb +6 -6
  79. data/spec/dummy/config/locales/en.yml +20 -2
  80. data/spec/dummy/config/routes.rb +24 -25
  81. data/spec/dummy/config/secrets.yml +22 -0
  82. data/spec/dummy/db/migrate/001_create_agents.rb +50 -0
  83. data/spec/dummy/db/migrate/002_devise_create_users.rb +46 -0
  84. data/spec/dummy/db/migrate/005_create_manifestations.rb +43 -0
  85. data/spec/dummy/db/migrate/006_create_items.rb +21 -0
  86. data/spec/dummy/db/migrate/012_create_owns.rb +12 -0
  87. data/spec/dummy/db/migrate/015_create_creates.rb +12 -0
  88. data/spec/dummy/db/migrate/032_create_checkins.rb +17 -0
  89. data/spec/dummy/db/migrate/033_create_checkouts.rb +25 -0
  90. data/spec/dummy/db/migrate/035_create_reserves.rb +26 -0
  91. data/spec/dummy/db/migrate/047_create_produces.rb +12 -0
  92. data/spec/dummy/db/migrate/059_create_libraries.rb +28 -0
  93. data/spec/dummy/db/migrate/069_create_shelves.rb +15 -0
  94. data/spec/dummy/db/migrate/073_create_carrier_types.rb +11 -0
  95. data/spec/dummy/db/migrate/077_create_user_groups.rb +12 -0
  96. data/spec/dummy/db/migrate/080_create_library_groups.rb +17 -0
  97. data/spec/dummy/db/migrate/112_create_frequencies.rb +12 -0
  98. data/spec/dummy/db/migrate/117_create_form_of_works.rb +12 -0
  99. data/spec/dummy/db/migrate/120_create_baskets.rb +12 -0
  100. data/spec/dummy/db/migrate/121_create_checked_items.rb +17 -0
  101. data/spec/dummy/db/migrate/124_create_bookstores.rb +17 -0
  102. data/spec/dummy/db/migrate/125_create_donates.rb +12 -0
  103. data/spec/dummy/db/migrate/127_create_use_restrictions.rb +16 -0
  104. data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +16 -0
  105. data/spec/dummy/db/migrate/130_create_request_status_types.rb +12 -0
  106. data/spec/dummy/db/migrate/131_create_request_types.rb +12 -0
  107. data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +16 -0
  108. data/spec/dummy/db/migrate/133_create_agent_merges.rb +15 -0
  109. data/spec/dummy/db/migrate/134_create_agent_merge_lists.rb +13 -0
  110. data/spec/dummy/db/migrate/149_create_message_templates.rb +18 -0
  111. data/spec/dummy/db/migrate/154_create_messages.rb +23 -0
  112. data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +18 -0
  113. data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +13 -0
  114. data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +12 -0
  115. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +17 -0
  116. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +14 -0
  117. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +17 -0
  118. data/spec/dummy/db/migrate/20081025083323_create_countries.rb +28 -0
  119. data/spec/dummy/db/migrate/20081025083905_create_languages.rb +23 -0
  120. data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +15 -0
  121. data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +20 -0
  122. data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +20 -0
  123. data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +17 -0
  124. data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +25 -0
  125. data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +18 -0
  126. data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +17 -0
  127. data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +15 -0
  128. data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +15 -0
  129. data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +17 -0
  130. data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +17 -0
  131. data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +15 -0
  132. data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +15 -0
  133. data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +17 -0
  134. data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +23 -0
  135. data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +15 -0
  136. data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +15 -0
  137. data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +12 -0
  138. data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +12 -0
  139. data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +12 -0
  140. data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +21 -0
  141. data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +27 -0
  142. data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +12 -0
  143. data/spec/dummy/db/migrate/20091214131723_create_series_statements.rb +13 -0
  144. data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +14 -0
  145. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +9 -0
  146. data/spec/dummy/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +13 -0
  147. data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +9 -0
  148. data/spec/dummy/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +10 -0
  149. data/spec/dummy/db/migrate/20100525124311_create_manifestation_relationships.rb +13 -0
  150. data/spec/dummy/db/migrate/20100606073747_create_agent_relationships.rb +13 -0
  151. data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +12 -0
  152. data/spec/dummy/db/migrate/20100814091104_add_position_to_agent_relationship.rb +11 -0
  153. data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +15 -0
  154. data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +11 -0
  155. data/spec/dummy/db/migrate/20101212070145_add_acquired_at_to_item.rb +9 -0
  156. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +9 -0
  157. data/spec/dummy/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +9 -0
  158. data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb +11 -0
  159. data/spec/dummy/db/migrate/20110301134521_add_expire_date_to_reserve.rb +9 -0
  160. data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +11 -0
  161. data/spec/dummy/db/migrate/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +9 -0
  162. data/spec/dummy/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +9 -0
  163. data/spec/dummy/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +9 -0
  164. data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +11 -0
  165. data/spec/dummy/db/migrate/20110621093332_remove_expire_date_from_reserve.rb +9 -0
  166. data/spec/dummy/db/migrate/20110627034940_create_series_statement_merge_lists.rb +9 -0
  167. data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +12 -0
  168. data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +13 -0
  169. data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +11 -0
  170. data/spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +13 -0
  171. data/spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +10 -0
  172. data/spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb +9 -0
  173. data/spec/dummy/db/migrate/20111124110059_create_create_types.rb +12 -0
  174. data/spec/dummy/db/migrate/20111124110319_create_realize_types.rb +12 -0
  175. data/spec/dummy/db/migrate/20111124110355_create_produce_types.rb +12 -0
  176. data/spec/dummy/db/migrate/20111124112131_add_create_type_to_create.rb +7 -0
  177. data/spec/dummy/db/migrate/20111129044509_add_pickup_location_to_reserve.rb +6 -0
  178. data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +5 -0
  179. data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +6 -0
  180. data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +6 -0
  181. data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +12 -0
  182. data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +6 -0
  183. data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +6 -0
  184. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +14 -0
  185. data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +5 -0
  186. data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +5 -0
  187. data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +5 -0
  188. data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +5 -0
  189. data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +5 -0
  190. data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +5 -0
  191. data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +5 -0
  192. data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +5 -0
  193. data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +5 -0
  194. data/spec/dummy/db/migrate/20120424103932_add_librarian_id_to_checked_item.rb +5 -0
  195. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +5 -0
  196. data/spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +6 -0
  197. data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +5 -0
  198. data/spec/dummy/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +5 -0
  199. data/spec/dummy/db/migrate/20130303124821_add_retained_at_to_reserve.rb +5 -0
  200. data/spec/dummy/db/migrate/20130304015019_add_postponed_at_to_reserve.rb +5 -0
  201. data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +6 -0
  202. data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +8 -0
  203. data/spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb +5 -0
  204. data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +7 -0
  205. data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +5 -0
  206. data/spec/dummy/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb +6 -0
  207. data/spec/dummy/db/migrate/20130506175303_create_identifier_types.rb +12 -0
  208. data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +15 -0
  209. data/spec/dummy/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +5 -0
  210. data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +5 -0
  211. data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +5 -0
  212. data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +18 -0
  213. data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +11 -0
  214. data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +18 -0
  215. data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +18 -0
  216. data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +18 -0
  217. data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +18 -0
  218. data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +18 -0
  219. data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +18 -0
  220. data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +18 -0
  221. data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +18 -0
  222. data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +18 -0
  223. data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +18 -0
  224. data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +18 -0
  225. data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +11 -0
  226. data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +18 -0
  227. data/spec/dummy/db/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +5 -0
  228. data/spec/dummy/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +5 -0
  229. data/spec/dummy/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +5 -0
  230. data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +11 -0
  231. data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +18 -0
  232. data/spec/dummy/db/migrate/20140720140916_add_binding_item_identifier_to_item.rb +8 -0
  233. data/spec/dummy/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +5 -0
  234. data/spec/dummy/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +5 -0
  235. data/spec/dummy/db/migrate/20140721151416_add_default_shelf_id_to_resource_import_file.rb +5 -0
  236. data/spec/dummy/db/migrate/20140802082007_add_manifestation_id_to_item.rb +6 -0
  237. data/spec/dummy/db/migrate/20140810061942_add_user_id_to_user_checkout_stat.rb +12 -0
  238. data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +6 -0
  239. data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +5 -0
  240. data/spec/dummy/db/migrate/20140813182425_add_publication_place_to_manifestation.rb +5 -0
  241. data/spec/dummy/db/migrate/20140821151023_create_colors.rb +14 -0
  242. data/spec/dummy/db/migrate/20140822114527_add_error_message_to_resource_import_result.rb +5 -0
  243. data/spec/dummy/db/migrate/20140823083524_add_extent_to_manifestation.rb +5 -0
  244. data/spec/dummy/db/migrate/20140823094847_add_dimensions_to_manifestation.rb +5 -0
  245. data/spec/dummy/db/migrate/20140823095740_rename_manifestation_periodical_to_serial.rb +9 -0
  246. data/spec/dummy/db/migrate/20141014065831_add_shelf_id_to_checkout.rb +6 -0
  247. data/spec/dummy/db/migrate/20141020120523_add_library_id_to_checkout.rb +6 -0
  248. data/spec/dummy/db/migrate/20150106001709_create_demands.rb +14 -0
  249. data/spec/dummy/db/migrate/20150117111136_add_foreign_key_to_items_referencing_manifestations.rb +5 -0
  250. data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +5 -0
  251. data/spec/dummy/db/migrate/20150506105356_add_error_message_to_user_import_result.rb +5 -0
  252. data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +13 -0
  253. data/spec/dummy/db/migrate/20151125004028_add_profile_id_to_agent.rb +6 -0
  254. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +13 -0
  255. data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +9 -0
  256. data/spec/dummy/db/migrate/20160610093229_add_html_snippet_to_library_group.rb +5 -0
  257. data/spec/dummy/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb +9 -0
  258. data/spec/dummy/db/migrate/20160627232316_add_most_recent_to_user_export_file_transitions.rb +9 -0
  259. data/spec/dummy/db/migrate/20160703184619_add_most_recent_to_reserve_transitions.rb +9 -0
  260. data/spec/dummy/db/migrate/20160703184650_add_most_recent_to_manifestation_checkout_stat_transitions.rb +9 -0
  261. data/spec/dummy/db/migrate/20160703184723_add_most_recent_to_manifestation_reserve_stat_transitions.rb +9 -0
  262. data/spec/dummy/db/migrate/20160703184747_add_most_recent_to_user_checkout_stat_transitions.rb +9 -0
  263. data/spec/dummy/db/migrate/20160703184805_add_most_recent_to_user_reserve_stat_transitions.rb +9 -0
  264. data/spec/dummy/db/migrate/20160703185015_add_most_recent_to_message_transitions.rb +9 -0
  265. data/spec/dummy/db/migrate/20160703190209_add_foreign_key_on_manifestation_id_to_reserve.rb +5 -0
  266. data/spec/dummy/db/schema.rb +1392 -0
  267. data/spec/dummy/public/404.html +54 -13
  268. data/spec/dummy/public/422.html +54 -13
  269. data/spec/dummy/public/500.html +53 -12
  270. data/spec/factories/profile.rb +17 -0
  271. data/spec/factories/user.rb +43 -0
  272. data/spec/factories/user_group.rb +5 -0
  273. data/spec/fixtures/libraries.yml +101 -0
  274. data/spec/fixtures/library_groups.yml +39 -0
  275. data/spec/fixtures/message_requests.yml +26 -0
  276. data/spec/fixtures/message_templates.yml +98 -0
  277. data/spec/fixtures/messages.yml +56 -0
  278. data/spec/fixtures/profiles.yml +103 -0
  279. data/spec/fixtures/roles.yml +39 -0
  280. data/spec/fixtures/user_groups.yml +40 -0
  281. data/spec/fixtures/user_has_roles.yml +40 -0
  282. data/spec/fixtures/users.yml +51 -0
  283. data/spec/models/profile_spec.rb +98 -0
  284. data/spec/models/role_spec.rb +40 -0
  285. data/spec/rails_helper.rb +71 -0
  286. data/spec/requests/profiles_spec.rb +9 -0
  287. data/spec/routing/profiles_routing_spec.rb +35 -0
  288. data/spec/routing/users_spec.rb +14 -0
  289. data/spec/spec_helper.rb +96 -29
  290. data/spec/support/controller_macros.rb +46 -0
  291. data/spec/support/devise.rb +4 -0
  292. metadata +673 -46
  293. data/spec/dummy/script/rails +0 -6
@@ -0,0 +1,136 @@
1
+ require 'spec_helper'
2
+
3
+ describe RolesController do
4
+ fixtures :all
5
+
6
+ describe "GET index" do
7
+ describe "When logged in as Administrator" do
8
+ login_fixture_admin
9
+
10
+ it "assigns all roles as @roles" do
11
+ get :index
12
+ expect(assigns(:roles)).to eq(Role.order(:position))
13
+ end
14
+ end
15
+
16
+ describe "When logged in as Librarian" do
17
+ login_fixture_librarian
18
+
19
+ it "assigns all roles as @roles" do
20
+ get :index
21
+ expect(assigns(:roles)).to eq(Role.order(:position))
22
+ end
23
+ end
24
+
25
+ describe "When logged in as User" do
26
+ login_fixture_user
27
+
28
+ it "assigns all roles as @roles" do
29
+ get :index
30
+ expect(assigns(:roles)).to be_nil
31
+ end
32
+ end
33
+
34
+ describe "When not logged in" do
35
+ it "assigns all roles as @roles" do
36
+ get :index
37
+ expect(assigns(:roles)).to be_nil
38
+ end
39
+ end
40
+ end
41
+
42
+ describe "GET show" do
43
+ describe "When logged in as Administrator" do
44
+ login_fixture_admin
45
+
46
+ it "assigns the requested role as @role" do
47
+ role = Role.find(1)
48
+ get :show, id: role.id
49
+ expect(assigns(:role)).to eq(role)
50
+ end
51
+ end
52
+
53
+ describe "When not logged in" do
54
+ it "assigns the requested role as @role" do
55
+ role = Role.find(1)
56
+ get :show, id: role.id
57
+ expect(assigns(:role)).to eq(role)
58
+ end
59
+ end
60
+ end
61
+
62
+ describe "GET edit" do
63
+ describe "When logged in as Administrator" do
64
+ login_fixture_admin
65
+
66
+ it "assigns the requested role as @role" do
67
+ role = Role.find(1)
68
+ get :edit, id: role.id
69
+ expect(assigns(:role)).to eq(role)
70
+ end
71
+ end
72
+
73
+ describe "When not logged in" do
74
+ it "should not assign the requested role as @role" do
75
+ role = Role.find(1)
76
+ get :edit, id: role.id
77
+ expect(response).to redirect_to(new_user_session_url)
78
+ end
79
+ end
80
+ end
81
+
82
+ describe "PUT update" do
83
+ before(:each) do
84
+ @role = Role.find(1)
85
+ @attrs = {:display_name => 'guest user'}
86
+ @invalid_attrs = {name: ''}
87
+ end
88
+
89
+ describe "When logged in as Administrator" do
90
+ login_fixture_admin
91
+
92
+ describe "with valid params" do
93
+ it "updates the requested role" do
94
+ put :update, id: @role.id, :role => @attrs
95
+ end
96
+
97
+ it "assigns the requested role as @role" do
98
+ put :update, id: @role.id, :role => @attrs
99
+ expect(assigns(:role)).to eq(@role)
100
+ end
101
+
102
+ it "moves its position when specified" do
103
+ put :update, id: @role.id, :role => @attrs, move: 'lower'
104
+ expect(response).to redirect_to(roles_url)
105
+ end
106
+ end
107
+
108
+ describe "with invalid params" do
109
+ it "assigns the requested role as @role" do
110
+ put :update, id: @role.id, :role => @invalid_attrs
111
+ expect(response).to render_template("edit")
112
+ end
113
+ end
114
+ end
115
+
116
+ describe "When not logged in" do
117
+ describe "with valid params" do
118
+ it "updates the requested role" do
119
+ put :update, id: @role.id, :role => @attrs
120
+ end
121
+
122
+ it "should be forbidden" do
123
+ put :update, id: @role.id, :role => @attrs
124
+ expect(response).to redirect_to(new_user_session_url)
125
+ end
126
+ end
127
+
128
+ describe "with invalid params" do
129
+ it "assigns the requested role as @role" do
130
+ put :update, id: @role.id, :role => @invalid_attrs
131
+ expect(response).to redirect_to(new_user_session_url)
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -1,261 +1,28 @@
1
- == Welcome to Rails
1
+ == README
2
2
 
3
- Rails is a web-application framework that includes everything needed to create
4
- database-backed web applications according to the Model-View-Control pattern.
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
5
 
6
- This pattern splits the view (also called the presentation) into "dumb"
7
- templates that are primarily responsible for inserting pre-built data in between
8
- HTML tags. The model contains the "smart" domain objects (such as Account,
9
- Product, Person, Post) that holds all the business logic and knows how to
10
- persist themselves to a database. The controller handles the incoming requests
11
- (such as Save New Account, Update Product, Show Post) by manipulating the model
12
- and directing data to the view.
6
+ Things you may want to cover:
13
7
 
14
- In Rails, the model is handled by what's called an object-relational mapping
15
- layer entitled Active Record. This layer allows you to present the data from
16
- database rows as objects and embellish these data objects with business logic
17
- methods. You can read more about Active Record in
18
- link:files/vendor/rails/activerecord/README.html.
8
+ * Ruby version
19
9
 
20
- The controller and view are handled by the Action Pack, which handles both
21
- layers by its two parts: Action View and Action Controller. These two layers
22
- are bundled in a single package due to their heavy interdependence. This is
23
- unlike the relationship between the Active Record and Action Pack that is much
24
- more separate. Each of these packages can be used independently outside of
25
- Rails. You can read more about Action Pack in
26
- link:files/vendor/rails/actionpack/README.html.
10
+ * System dependencies
27
11
 
12
+ * Configuration
28
13
 
29
- == Getting Started
14
+ * Database creation
30
15
 
31
- 1. At the command prompt, create a new Rails application:
32
- <tt>rails new myapp</tt> (where <tt>myapp</tt> is the application name)
16
+ * Database initialization
33
17
 
34
- 2. Change directory to <tt>myapp</tt> and start the web server:
35
- <tt>cd myapp; rails server</tt> (run with --help for options)
18
+ * How to run the test suite
36
19
 
37
- 3. Go to http://localhost:3000/ and you'll see:
38
- "Welcome aboard: You're riding Ruby on Rails!"
20
+ * Services (job queues, cache servers, search engines, etc.)
39
21
 
40
- 4. Follow the guidelines to start developing your application. You can find
41
- the following resources handy:
22
+ * Deployment instructions
42
23
 
43
- * The Getting Started Guide: http://guides.rubyonrails.org/getting_started.html
44
- * Ruby on Rails Tutorial Book: http://www.railstutorial.org/
24
+ * ...
45
25
 
46
26
 
47
- == Debugging Rails
48
-
49
- Sometimes your application goes wrong. Fortunately there are a lot of tools that
50
- will help you debug it and get it back on the rails.
51
-
52
- First area to check is the application log files. Have "tail -f" commands
53
- running on the server.log and development.log. Rails will automatically display
54
- debugging and runtime information to these files. Debugging info will also be
55
- shown in the browser on requests from 127.0.0.1.
56
-
57
- You can also log your own messages directly into the log file from your code
58
- using the Ruby logger class from inside your controllers. Example:
59
-
60
- class WeblogController < ActionController::Base
61
- def destroy
62
- @weblog = Weblog.find(params[:id])
63
- @weblog.destroy
64
- logger.info("#{Time.now} Destroyed Weblog ID ##{@weblog.id}!")
65
- end
66
- end
67
-
68
- The result will be a message in your log file along the lines of:
69
-
70
- Mon Oct 08 14:22:29 +1000 2007 Destroyed Weblog ID #1!
71
-
72
- More information on how to use the logger is at http://www.ruby-doc.org/core/
73
-
74
- Also, Ruby documentation can be found at http://www.ruby-lang.org/. There are
75
- several books available online as well:
76
-
77
- * Programming Ruby: http://www.ruby-doc.org/docs/ProgrammingRuby/ (Pickaxe)
78
- * Learn to Program: http://pine.fm/LearnToProgram/ (a beginners guide)
79
-
80
- These two books will bring you up to speed on the Ruby language and also on
81
- programming in general.
82
-
83
-
84
- == Debugger
85
-
86
- Debugger support is available through the debugger command when you start your
87
- Mongrel or WEBrick server with --debugger. This means that you can break out of
88
- execution at any point in the code, investigate and change the model, and then,
89
- resume execution! You need to install ruby-debug to run the server in debugging
90
- mode. With gems, use <tt>sudo gem install ruby-debug</tt>. Example:
91
-
92
- class WeblogController < ActionController::Base
93
- def index
94
- @posts = Post.all
95
- debugger
96
- end
97
- end
98
-
99
- So the controller will accept the action, run the first line, then present you
100
- with a IRB prompt in the server window. Here you can do things like:
101
-
102
- >> @posts.inspect
103
- => "[#<Post:0x14a6be8
104
- @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}>,
105
- #<Post:0x14a6620
106
- @attributes={"title"=>"Rails", "body"=>"Only ten..", "id"=>"2"}>]"
107
- >> @posts.first.title = "hello from a debugger"
108
- => "hello from a debugger"
109
-
110
- ...and even better, you can examine how your runtime objects actually work:
111
-
112
- >> f = @posts.first
113
- => #<Post:0x13630c4 @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}>
114
- >> f.
115
- Display all 152 possibilities? (y or n)
116
-
117
- Finally, when you're ready to resume execution, you can enter "cont".
118
-
119
-
120
- == Console
121
-
122
- The console is a Ruby shell, which allows you to interact with your
123
- application's domain model. Here you'll have all parts of the application
124
- configured, just like it is when the application is running. You can inspect
125
- domain models, change values, and save to the database. Starting the script
126
- without arguments will launch it in the development environment.
127
-
128
- To start the console, run <tt>rails console</tt> from the application
129
- directory.
130
-
131
- Options:
132
-
133
- * Passing the <tt>-s, --sandbox</tt> argument will rollback any modifications
134
- made to the database.
135
- * Passing an environment name as an argument will load the corresponding
136
- environment. Example: <tt>rails console production</tt>.
137
-
138
- To reload your controllers and models after launching the console run
139
- <tt>reload!</tt>
140
-
141
- More information about irb can be found at:
142
- link:http://www.rubycentral.org/pickaxe/irb.html
143
-
144
-
145
- == dbconsole
146
-
147
- You can go to the command line of your database directly through <tt>rails
148
- dbconsole</tt>. You would be connected to the database with the credentials
149
- defined in database.yml. Starting the script without arguments will connect you
150
- to the development database. Passing an argument will connect you to a different
151
- database, like <tt>rails dbconsole production</tt>. Currently works for MySQL,
152
- PostgreSQL and SQLite 3.
153
-
154
- == Description of Contents
155
-
156
- The default directory structure of a generated Ruby on Rails application:
157
-
158
- |-- app
159
- | |-- assets
160
- | | |-- images
161
- | | |-- javascripts
162
- | | `-- stylesheets
163
- | |-- controllers
164
- | |-- helpers
165
- | |-- mailers
166
- | |-- models
167
- | `-- views
168
- | `-- layouts
169
- |-- config
170
- | |-- environments
171
- | |-- initializers
172
- | `-- locales
173
- |-- db
174
- |-- doc
175
- |-- lib
176
- | |-- assets
177
- | `-- tasks
178
- |-- log
179
- |-- public
180
- |-- script
181
- |-- test
182
- | |-- fixtures
183
- | |-- functional
184
- | |-- integration
185
- | |-- performance
186
- | `-- unit
187
- |-- tmp
188
- | `-- cache
189
- | `-- assets
190
- `-- vendor
191
- |-- assets
192
- | |-- javascripts
193
- | `-- stylesheets
194
- `-- plugins
195
-
196
- app
197
- Holds all the code that's specific to this particular application.
198
-
199
- app/assets
200
- Contains subdirectories for images, stylesheets, and JavaScript files.
201
-
202
- app/controllers
203
- Holds controllers that should be named like weblogs_controller.rb for
204
- automated URL mapping. All controllers should descend from
205
- ApplicationController which itself descends from ActionController::Base.
206
-
207
- app/models
208
- Holds models that should be named like post.rb. Models descend from
209
- ActiveRecord::Base by default.
210
-
211
- app/views
212
- Holds the template files for the view that should be named like
213
- weblogs/index.html.erb for the WeblogsController#index action. All views use
214
- eRuby syntax by default.
215
-
216
- app/views/layouts
217
- Holds the template files for layouts to be used with views. This models the
218
- common header/footer method of wrapping views. In your views, define a layout
219
- using the <tt>layout :default</tt> and create a file named default.html.erb.
220
- Inside default.html.erb, call <% yield %> to render the view using this
221
- layout.
222
-
223
- app/helpers
224
- Holds view helpers that should be named like weblogs_helper.rb. These are
225
- generated for you automatically when using generators for controllers.
226
- Helpers can be used to wrap functionality for your views into methods.
227
-
228
- config
229
- Configuration files for the Rails environment, the routing map, the database,
230
- and other dependencies.
231
-
232
- db
233
- Contains the database schema in schema.rb. db/migrate contains all the
234
- sequence of Migrations for your schema.
235
-
236
- doc
237
- This directory is where your application documentation will be stored when
238
- generated using <tt>rake doc:app</tt>
239
-
240
- lib
241
- Application specific libraries. Basically, any kind of custom code that
242
- doesn't belong under controllers, models, or helpers. This directory is in
243
- the load path.
244
-
245
- public
246
- The directory available for the web server. Also contains the dispatchers and the
247
- default HTML files. This should be set as the DOCUMENT_ROOT of your web
248
- server.
249
-
250
- script
251
- Helper scripts for automation and generation.
252
-
253
- test
254
- Unit and functional tests along with fixtures. When using the rails generate
255
- command, template test files will be generated for you and placed in this
256
- directory.
257
-
258
- vendor
259
- External libraries that the application depends on. Also includes the plugins
260
- subdirectory. If the app has frozen rails, those gems also go here, under
261
- vendor/rails/. This directory is in the load path.
27
+ Please feel free to use a different markup language if you do not plan to run
28
+ <tt>rake doc:app</tt>.
data/spec/dummy/Rakefile CHANGED
@@ -1,7 +1,6 @@
1
- #!/usr/bin/env rake
2
1
  # Add your own tasks in files placed in lib/tasks ending in .rake,
3
2
  # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
4
3
 
5
4
  require File.expand_path('../config/application', __FILE__)
6
5
 
7
- Dummy::Application.load_tasks
6
+ Rails.application.load_tasks
@@ -2,14 +2,12 @@
2
2
  // listed below.
3
3
  //
4
4
  // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
6
  //
7
7
  // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // the compiled file.
8
+ // compiled file.
9
9
  //
10
- // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
- // GO AFTER THE REQUIRES BELOW.
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
12
  //
13
- //= require jquery
14
- //= require jquery_ujs
15
13
  //= require_tree .
@@ -3,11 +3,13 @@
3
3
  * listed below.
4
4
  *
5
5
  * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
- * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
7
  *
8
- * You're free to add application-wide styles to this file and they'll appear at the top of the
9
- * compiled file, but it's generally better to create a new file per style scope.
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any styles
10
+ * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11
+ * file per style scope.
10
12
  *
11
- *= require_self
12
13
  *= require_tree .
14
+ *= require_self
13
15
  */