enju_seed 0.3.6 → 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.
- checksums.yaml +5 -5
- data/README.md +9 -7
- data/Rakefile +16 -7
- data/app/controllers/profiles_controller.rb +33 -33
- data/app/controllers/roles_controller.rb +3 -2
- data/app/models/concerns/enju_seed/enju_user.rb +27 -31
- data/app/models/concerns/master_model.rb +2 -13
- data/app/models/identity.rb +3 -3
- data/app/models/profile.rb +14 -14
- data/app/models/role.rb +11 -27
- data/app/models/user_has_role.rb +6 -3
- data/app/policies/user_export_file_policy.rb +21 -0
- data/app/policies/user_import_file_policy.rb +21 -0
- data/app/policies/user_import_result_policy.rb +21 -0
- data/app/views/profiles/show.html.erb +1 -1
- data/app/views/roles/_form.html.erb +1 -1
- data/app/views/roles/show.html.erb +6 -1
- data/db/migrate/041_create_roles.rb +6 -7
- data/db/migrate/20100606065209_create_user_has_roles.rb +3 -3
- data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +2 -2
- data/db/migrate/20140122054321_create_profiles.rb +5 -8
- data/db/migrate/20140811031145_add_expired_at_to_profile.rb +1 -1
- data/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +1 -1
- data/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +1 -1
- data/db/migrate/20150421023923_create_identities.rb +4 -6
- data/db/migrate/20151126005552_add_provider_to_identity.rb +2 -2
- data/db/migrate/20170114174536_add_profile_id_to_user.rb +5 -0
- data/lib/enju_seed/engine.rb +2 -3
- data/lib/enju_seed/localized_name.rb +1 -3
- data/lib/enju_seed/version.rb +1 -1
- data/lib/enju_seed.rb +2 -3
- data/lib/tasks/enju_seed_tasks.rake +4 -8
- data/spec/controllers/my_accounts_controller_spec.rb +45 -56
- data/spec/controllers/profiles_controller_spec.rb +147 -152
- data/spec/controllers/roles_controller_spec.rb +35 -35
- data/spec/dummy/Rakefile +1 -1
- data/spec/dummy/app/models/user.rb +3 -3
- data/spec/dummy/bin/rails +1 -1
- data/spec/dummy/bin/setup +10 -19
- data/spec/dummy/config/application.rb +1 -6
- data/spec/dummy/config/database.yml +70 -10
- data/spec/dummy/config/environments/development.rb +1 -1
- data/spec/dummy/config/environments/production.rb +3 -8
- data/spec/dummy/config/environments/test.rb +1 -1
- data/spec/dummy/config/initializers/assets.rb +4 -7
- data/spec/dummy/config/initializers/cookies_serializer.rb +0 -2
- data/spec/dummy/config/initializers/friendly_id.rb +75 -75
- data/spec/dummy/config/initializers/wrap_parameters.rb +2 -2
- data/spec/dummy/config/routes.rb +0 -4
- data/spec/dummy/config/secrets.yml +5 -15
- data/spec/dummy/config.ru +1 -2
- data/spec/dummy/db/migrate/001_create_agents.rb +7 -7
- data/spec/dummy/db/migrate/002_devise_create_users.rb +3 -4
- data/spec/dummy/db/migrate/005_create_manifestations.rb +4 -5
- data/spec/dummy/db/migrate/006_create_items.rb +3 -4
- data/spec/dummy/db/migrate/012_create_owns.rb +3 -5
- data/spec/dummy/db/migrate/015_create_creates.rb +3 -5
- data/spec/dummy/db/migrate/032_create_checkins.rb +1 -1
- data/spec/dummy/db/migrate/033_create_checkouts.rb +1 -1
- data/spec/dummy/db/migrate/035_create_reserves.rb +1 -1
- data/spec/dummy/db/migrate/047_create_produces.rb +3 -5
- data/spec/dummy/db/migrate/059_create_libraries.rb +8 -7
- data/spec/dummy/db/migrate/069_create_shelves.rb +3 -3
- data/spec/dummy/db/migrate/073_create_carrier_types.rb +2 -2
- data/spec/dummy/db/migrate/077_create_user_groups.rb +4 -4
- data/spec/dummy/db/migrate/080_create_library_groups.rb +6 -6
- data/spec/dummy/db/migrate/112_create_frequencies.rb +2 -2
- data/spec/dummy/db/migrate/117_create_form_of_works.rb +2 -2
- data/spec/dummy/db/migrate/120_create_baskets.rb +2 -2
- data/spec/dummy/db/migrate/121_create_checked_items.rb +1 -1
- data/spec/dummy/db/migrate/124_create_bookstores.rb +3 -3
- data/spec/dummy/db/migrate/125_create_donates.rb +3 -3
- data/spec/dummy/db/migrate/127_create_use_restrictions.rb +1 -1
- data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +1 -1
- data/spec/dummy/db/migrate/130_create_request_status_types.rb +3 -3
- data/spec/dummy/db/migrate/131_create_request_types.rb +3 -3
- data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +1 -1
- data/spec/dummy/db/migrate/133_create_agent_merges.rb +2 -2
- data/spec/dummy/db/migrate/134_create_agent_merge_lists.rb +1 -1
- data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +3 -5
- data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +11 -0
- data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +2 -2
- data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +5 -3
- data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +3 -4
- data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +6 -6
- data/spec/dummy/db/migrate/20081025083323_create_countries.rb +5 -5
- data/spec/dummy/db/migrate/20081025083905_create_languages.rb +6 -6
- data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +2 -2
- data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +1 -1
- data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +1 -1
- data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +1 -1
- data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +1 -1
- data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +1 -1
- data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +1 -1
- data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +1 -1
- data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +1 -1
- data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +1 -1
- data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +1 -1
- data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +1 -1
- data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +2 -2
- data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +2 -2
- data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +2 -2
- data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +1 -1
- data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +2 -2
- data/spec/dummy/db/migrate/20091214131723_create_series_statements.rb +1 -1
- data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +4 -7
- data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +2 -2
- data/spec/dummy/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +1 -1
- data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20100525124311_create_manifestation_relationships.rb +4 -6
- data/spec/dummy/db/migrate/20100606073747_create_agent_relationships.rb +1 -1
- data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +2 -2
- data/spec/dummy/db/migrate/20100814091104_add_position_to_agent_relationship.rb +1 -1
- data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +1 -1
- data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +1 -1
- data/spec/dummy/db/migrate/20101212070145_add_acquired_at_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +2 -2
- data/spec/dummy/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb +1 -1
- data/spec/dummy/db/migrate/20110301134521_add_expire_date_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +2 -2
- data/spec/dummy/db/migrate/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +1 -1
- data/spec/dummy/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20110621093332_remove_expire_date_from_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20110627034940_create_series_statement_merge_lists.rb +1 -1
- data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +3 -3
- data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +1 -1
- data/spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20111124110059_create_create_types.rb +1 -1
- data/spec/dummy/db/migrate/20111124110319_create_realize_types.rb +1 -1
- data/spec/dummy/db/migrate/20111124110355_create_produce_types.rb +1 -1
- data/spec/dummy/db/migrate/20111124112131_add_create_type_to_create.rb +1 -1
- data/spec/dummy/db/migrate/20111129044509_add_pickup_location_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +1 -1
- data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +2 -2
- data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +4 -4
- data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20120424103932_add_librarian_id_to_checked_item.rb +1 -1
- data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +2 -2
- data/spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +1 -1
- data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20130303124821_add_retained_at_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20130304015019_add_postponed_at_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20130506175303_create_identifier_types.rb +1 -1
- data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +2 -3
- data/spec/dummy/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +1 -1
- data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +3 -3
- data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +3 -3
- data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +3 -2
- data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +4 -4
- data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +4 -4
- data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +5 -5
- data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +5 -5
- data/spec/dummy/db/migrate/20140529014410_create_item_transitions.rb +15 -0
- data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +1 -2
- data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +2 -3
- data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +2 -2
- data/spec/dummy/db/migrate/20140720140916_add_binding_item_identifier_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +2 -2
- data/spec/dummy/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +2 -2
- data/spec/dummy/db/migrate/20140721151416_add_default_shelf_id_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140802082007_add_manifestation_id_to_item.rb +2 -3
- data/spec/dummy/db/migrate/20140810061942_add_user_id_to_user_checkout_stat.rb +1 -1
- data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20140813182425_add_publication_place_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140821151023_create_colors.rb +4 -2
- data/spec/dummy/db/migrate/20140823083524_add_extent_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140823094847_add_dimensions_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140823095740_rename_manifestation_periodical_to_serial.rb +1 -1
- data/spec/dummy/db/migrate/20141014065831_add_shelf_id_to_checkout.rb +1 -1
- data/spec/dummy/db/migrate/20141020120523_add_library_id_to_checkout.rb +1 -1
- data/spec/dummy/db/migrate/20141029131633_create_periodicals.rb +11 -0
- data/spec/dummy/db/migrate/20150106001709_create_demands.rb +1 -1
- data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +2 -2
- data/spec/dummy/db/migrate/20150302110310_add_attachment_id_to_manifestation.rb +7 -0
- data/spec/dummy/db/migrate/20150304183215_add_picture_id_to_picture_file.rb +7 -0
- data/spec/dummy/db/migrate/20150305025906_add_resource_import_id_to_resource_import_file.rb +7 -0
- data/spec/dummy/db/migrate/20150305030046_add_resource_export_id_to_resource_export_file.rb +8 -0
- data/spec/dummy/db/migrate/20150305031709_add_agent_import_id_to_agent_import_file.rb +7 -0
- data/spec/dummy/db/migrate/20150305105231_add_attachment_fingerprint_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20150420145354_add_attachment_to_carrier_type.rb +8 -0
- data/spec/dummy/db/migrate/20150420145420_add_attachment_to_content_type.rb +8 -0
- data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +4 -4
- data/spec/dummy/db/migrate/20151125004028_add_profile_id_to_agent.rb +1 -1
- data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +11 -5
- data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +3 -20
- data/spec/dummy/db/migrate/20151216123621_create_doi_records.rb +12 -0
- data/spec/dummy/db/migrate/20160319144230_create_issn_records.rb +2 -1
- data/spec/dummy/db/migrate/20160506144040_create_isbn_records.rb +2 -1
- data/spec/dummy/db/migrate/20160513000929_create_agent_names.rb +18 -0
- data/spec/dummy/db/migrate/20160610093229_add_html_snippet_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160627232316_add_most_recent_to_user_export_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184619_add_most_recent_to_reserve_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184650_add_most_recent_to_manifestation_checkout_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184723_add_most_recent_to_manifestation_reserve_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184747_add_most_recent_to_user_checkout_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184805_add_most_recent_to_user_reserve_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160813191533_add_book_jacket_source_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20160813191647_add_max_number_of_results_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160813191733_add_family_name_first_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160813191820_add_screenshot_generator_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20160813192542_add_pub_year_facet_range_interval_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160813203039_add_user_id_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20161111175127_add_attachment_data_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20161111193255_add_attachment_data_to_carrier_type.rb +5 -0
- data/spec/dummy/db/migrate/20161111193346_add_attachment_data_to_content_type.rb +5 -0
- data/spec/dummy/db/migrate/20161112122706_add_attachment_data_to_resource_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20161112122750_add_attachment_data_to_resource_export_file.rb +5 -0
- data/spec/dummy/db/migrate/20161112122814_add_attachment_data_to_agent_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20161114083857_add_image_data_to_picture_file.rb +5 -0
- data/spec/dummy/db/migrate/20161115184747_add_attachment_data_to_user_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20161115184756_add_attachment_data_to_user_export_file.rb +5 -0
- data/spec/dummy/db/schema.rb +401 -450
- data/spec/factories/profile.rb +8 -8
- data/spec/factories/user.rb +25 -22
- data/spec/factories/user_group.rb +1 -1
- data/spec/fixtures/libraries.yml +37 -37
- data/spec/fixtures/library_groups.yml +27 -19
- data/spec/fixtures/profiles.yml +27 -35
- data/spec/fixtures/roles.yml +12 -12
- data/spec/fixtures/user_groups.yml +20 -10
- data/spec/fixtures/user_has_roles.yml +2 -2
- data/spec/fixtures/users.yml +7 -0
- data/spec/models/profile_spec.rb +17 -18
- data/spec/models/role_spec.rb +17 -18
- data/spec/models/user_has_role_spec.rb +4 -5
- data/spec/models/user_spec.rb +14 -16
- data/spec/rails_helper.rb +4 -9
- data/spec/requests/profiles_spec.rb +3 -3
- data/spec/routing/profiles_routing_spec.rb +16 -18
- data/spec/routing/roles_routing_spec.rb +16 -18
- data/spec/routing/users_spec.rb +6 -7
- data/spec/spec_helper.rb +47 -49
- data/spec/support/controller_macros.rb +6 -6
- data/spec/views/my_accounts/show.html.erb_spec.rb +6 -6
- data/spec/views/profiles/edit.html.erb_spec.rb +7 -7
- data/spec/views/profiles/index.html.erb_spec.rb +3 -3
- data/spec/views/profiles/new.html.erb_spec.rb +5 -6
- data/spec/views/profiles/show.html.erb_spec.rb +4 -4
- metadata +297 -454
- data/db/migrate/20140610123439_drop_email_unique_constraint_enju_leaf_rc10.rb +0 -11
- data/lib/generators/enju_seed/setup/setup_generator.rb +0 -9
- data/lib/generators/enju_seed/setup/templates/db/fixtures/roles.yml +0 -38
- data/lib/generators/enju_seed/update/update_generator.rb +0 -9
- data/spec/dummy/app/models/application_record.rb +0 -3
- data/spec/dummy/bin/update +0 -29
- data/spec/dummy/bin/yarn +0 -11
- data/spec/dummy/config/cable.yml +0 -10
- data/spec/dummy/config/initializers/application_controller_renderer.rb +0 -8
- data/spec/dummy/config/puma.rb +0 -56
- data/spec/dummy/config/spring.rb +0 -6
- data/spec/dummy/config/webpack/development.js +0 -5
- data/spec/dummy/config/webpack/environment.js +0 -11
- data/spec/dummy/config/webpack/production.js +0 -5
- data/spec/dummy/config/webpack/test.js +0 -5
- data/spec/dummy/config/webpacker.yml +0 -95
- data/spec/dummy/db/migrate/149_create_message_templates.rb +0 -18
- data/spec/dummy/db/migrate/154_create_messages.rb +0 -23
- data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +0 -18
- data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +0 -21
- data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +0 -11
- data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +0 -6
- data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +0 -5
- data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +0 -5
- data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +0 -18
- data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +0 -18
- data/spec/dummy/db/migrate/20140822114527_add_error_message_to_resource_import_result.rb +0 -5
- data/spec/dummy/db/migrate/20150117111136_add_foreign_key_to_items_referencing_manifestations.rb +0 -5
- data/spec/dummy/db/migrate/20150506105356_add_error_message_to_user_import_result.rb +0 -5
- data/spec/dummy/db/migrate/20160703185015_add_most_recent_to_message_transitions.rb +0 -9
- data/spec/dummy/db/migrate/20160703190209_add_foreign_key_on_manifestation_id_to_reserve.rb +0 -5
- data/spec/dummy/db/migrate/20160811102604_add_picture_width_to_picture_file.rb +0 -6
- data/spec/dummy/db/migrate/20160814165332_add_most_recent_to_message_request_transitions.rb +0 -9
- data/spec/dummy/db/migrate/20160820004638_add_attachment_attachment_to_carrier_types.rb +0 -11
- data/spec/dummy/db/migrate/20170116134107_create_issn_record_and_manifestations.rb +0 -11
- data/spec/dummy/db/migrate/20170116134120_create_isbn_record_and_manifestations.rb +0 -11
- data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +0 -5
- data/spec/dummy/db/migrate/20171014084528_add_header_logo_to_library_group.rb +0 -5
- data/spec/dummy/db/migrate/20171119051258_set_not_null_to_manifestation_id_on_items.rb +0 -5
- data/spec/dummy/db/migrate/20171126133835_rename_login_banner_to_old_login_banner.rb +0 -5
- data/spec/dummy/db/migrate/20171126135238_add_foreign_key_to_library_group_id_on_library.rb +0 -5
- data/spec/dummy/db/migrate/20180102162311_add_header_logo_meta_to_library_group.rb +0 -5
- data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107161311_add_constraints_to_most_recent_for_agent_import_file_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107162659_add_constraints_to_most_recent_for_message_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20180107162711_add_constraints_to_most_recent_for_message_request_transitions.rb +0 -13
- data/spec/dummy/db/migrate/20181026064038_add_login_banner_to_library_group.rb +0 -6
- data/spec/dummy/db/migrate/20181030072731_add_not_null_to_position_on_carrier_type.rb +0 -14
- data/spec/dummy/db/migrate/20181030074920_add_not_null_to_position_on_library.rb +0 -14
- data/spec/dummy/db/migrate/20190208135957_create_active_storage_tables.active_storage.rb +0 -27
- data/spec/dummy/db/migrate/20190311154610_create_periodicals.rb +0 -10
- data/spec/dummy/db/migrate/20190314151124_add_full_name_translations_to_create.rb +0 -7
- data/spec/dummy/package.json +0 -5
- data/spec/fixtures/message_requests.yml +0 -26
- data/spec/fixtures/message_templates.yml +0 -98
- data/spec/fixtures/messages.yml +0 -56
- data/spec/system/profiles_spec.rb +0 -39
- data/spec/views/roles/edit.html.erb_spec.rb +0 -18
- data/spec/views/roles/index.html.erb_spec.rb +0 -14
- data/spec/views/roles/new.html.erb_spec.rb +0 -18
- data/spec/views/roles/show.html.erb_spec.rb +0 -14
data/spec/models/profile_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rails_helper'
|
2
2
|
|
3
3
|
describe Profile do
|
4
|
-
#pending "add some examples to (or delete) #{__FILE__}"
|
4
|
+
# pending "add some examples to (or delete) #{__FILE__}"
|
5
5
|
fixtures :all
|
6
6
|
|
7
7
|
it 'should create a profile' do
|
@@ -14,7 +14,7 @@ describe Profile do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
it 'should not set expired_at if its user group does not have valid period' do
|
17
|
-
profile = FactoryBot.
|
17
|
+
profile = FactoryBot.build(:profile, user_group_id: '')
|
18
18
|
profile.expired_at.should be_nil
|
19
19
|
end
|
20
20
|
|
@@ -26,44 +26,44 @@ describe Profile do
|
|
26
26
|
profile.expired_at.should eq 10.days.from_now.end_of_day
|
27
27
|
end
|
28
28
|
|
29
|
-
it
|
29
|
+
it 'should create profile' do
|
30
30
|
profile = FactoryBot.create(:profile)
|
31
|
-
assert !profile.new_record?,
|
31
|
+
assert !profile.new_record?, profile.errors.full_messages.to_sentence.to_s
|
32
32
|
end
|
33
33
|
|
34
|
-
it
|
35
|
-
profile1 = FactoryBot.create(:profile, user_number:
|
36
|
-
profile2 = FactoryBot.create(:profile, user_number:
|
34
|
+
it 'should create profile with empty user_number' do
|
35
|
+
profile1 = FactoryBot.create(:profile, user_number: '')
|
36
|
+
profile2 = FactoryBot.create(:profile, user_number: '')
|
37
37
|
profile1.should be_valid
|
38
38
|
profile2.should be_valid
|
39
39
|
end
|
40
40
|
|
41
41
|
if defined?(EnjuQuestion)
|
42
|
-
it
|
42
|
+
it 'should reset answer_feed_token' do
|
43
43
|
profiles(:user1).reset_answer_feed_token
|
44
44
|
profiles(:user1).answer_feed_token.should be_truthy
|
45
45
|
end
|
46
46
|
|
47
|
-
it
|
47
|
+
it 'should delete answer_feed_token' do
|
48
48
|
profiles(:user1).delete_answer_feed_token
|
49
49
|
profiles(:user1).answer_feed_token.should be_nil
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
53
|
if defined?(EnjuCirculation)
|
54
|
-
it
|
54
|
+
it 'should reset checkout_icalendar_token' do
|
55
55
|
profiles(:user1).reset_checkout_icalendar_token
|
56
56
|
profiles(:user1).checkout_icalendar_token.should be_truthy
|
57
57
|
end
|
58
58
|
|
59
|
-
it
|
59
|
+
it 'should delete checkout_icalendar_token' do
|
60
60
|
profiles(:user1).delete_checkout_icalendar_token
|
61
61
|
profiles(:user1).checkout_icalendar_token.should be_nil
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
65
|
if defined?(EnjuCirculation)
|
66
|
-
it
|
66
|
+
it 'should send_message' do
|
67
67
|
assert profiles(:librarian1).user.send_message('reservation_expired_for_patron', manifestations: profiles(:librarian1).user.reserves.not_sent_expiration_notice_to_patron.collect(&:manifestation))
|
68
68
|
profiles(:librarian1).reload
|
69
69
|
profiles(:librarian1).user.reserves.not_sent_expiration_notice_to_patron.should be_empty
|
@@ -75,18 +75,17 @@ end
|
|
75
75
|
#
|
76
76
|
# Table name: profiles
|
77
77
|
#
|
78
|
-
# id :
|
79
|
-
#
|
80
|
-
#
|
81
|
-
# library_id :integer
|
78
|
+
# id :uuid not null, primary key
|
79
|
+
# user_group_id :uuid
|
80
|
+
# library_id :uuid
|
82
81
|
# locale :string
|
83
82
|
# user_number :string
|
84
83
|
# full_name :text
|
85
84
|
# note :text
|
86
85
|
# keyword_list :text
|
87
86
|
# required_role_id :integer
|
88
|
-
# created_at :datetime
|
89
|
-
# updated_at :datetime
|
87
|
+
# created_at :datetime not null
|
88
|
+
# updated_at :datetime not null
|
90
89
|
# checkout_icalendar_token :string
|
91
90
|
# save_checkout_history :boolean default(FALSE), not null
|
92
91
|
# expired_at :datetime
|
data/spec/models/role_spec.rb
CHANGED
@@ -1,26 +1,25 @@
|
|
1
|
-
|
2
|
-
require 'spec_helper'
|
1
|
+
require 'rails_helper'
|
3
2
|
|
4
3
|
describe Role do
|
5
|
-
#pending "add some examples to (or delete) #{__FILE__}"
|
4
|
+
# pending "add some examples to (or delete) #{__FILE__}"
|
6
5
|
fixtures :roles
|
7
6
|
|
8
|
-
it
|
7
|
+
it 'should not be saved if name is blank' do
|
9
8
|
role = Role.first
|
10
9
|
role.name = ''
|
11
|
-
|
10
|
+
-> { role.save! }.should raise_error(ActiveRecord::RecordInvalid)
|
12
11
|
end
|
13
12
|
|
14
|
-
it
|
13
|
+
it 'should not be saved if name is not unique' do
|
15
14
|
role = Role.first
|
16
|
-
|
15
|
+
-> { Role.create!(name: role.name) }.should raise_error(ActiveRecord::RecordInvalid)
|
17
16
|
end
|
18
17
|
|
19
|
-
it
|
20
|
-
roles(:role_00001).
|
18
|
+
it 'should respond to localized_name' do
|
19
|
+
roles(:role_00001).display_name.should eq 'Guest'
|
21
20
|
end
|
22
21
|
|
23
|
-
it
|
22
|
+
it 'should respond to default_role' do
|
24
23
|
Role.default_role.should eq roles(:role_00001)
|
25
24
|
end
|
26
25
|
end
|
@@ -29,12 +28,12 @@ end
|
|
29
28
|
#
|
30
29
|
# Table name: roles
|
31
30
|
#
|
32
|
-
# id
|
33
|
-
# name
|
34
|
-
#
|
35
|
-
# note
|
36
|
-
# created_at
|
37
|
-
# updated_at
|
38
|
-
# score
|
39
|
-
# position
|
31
|
+
# id :integer not null, primary key
|
32
|
+
# name :string not null
|
33
|
+
# display_name_translations :jsonb
|
34
|
+
# note :text
|
35
|
+
# created_at :datetime not null
|
36
|
+
# updated_at :datetime not null
|
37
|
+
# score :integer default(0), not null
|
38
|
+
# position :integer
|
40
39
|
#
|
@@ -1,8 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require 'rails_helper'
|
2
2
|
|
3
3
|
describe UserHasRole do
|
4
|
-
#pending "add some examples to (or delete) #{__FILE__}"
|
5
|
-
|
4
|
+
# pending "add some examples to (or delete) #{__FILE__}"
|
6
5
|
end
|
7
6
|
|
8
7
|
# == Schema Information
|
@@ -12,6 +11,6 @@ end
|
|
12
11
|
# id :integer not null, primary key
|
13
12
|
# user_id :integer not null
|
14
13
|
# role_id :integer not null
|
15
|
-
# created_at :datetime
|
16
|
-
# updated_at :datetime
|
14
|
+
# created_at :datetime not null
|
15
|
+
# updated_at :datetime not null
|
17
16
|
#
|
data/spec/models/user_spec.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
1
|
require 'rails_helper'
|
3
2
|
|
4
3
|
describe User do
|
5
|
-
#pending "add some examples to (or delete) #{__FILE__}"
|
4
|
+
# pending "add some examples to (or delete) #{__FILE__}"
|
6
5
|
fixtures :all
|
7
6
|
|
8
7
|
it 'should create an user' do
|
@@ -48,12 +47,12 @@ describe User do
|
|
48
47
|
user.active_for_authentication?.should be_truthy
|
49
48
|
end
|
50
49
|
|
51
|
-
it
|
50
|
+
it 'should create user' do
|
52
51
|
user = FactoryBot.create(:user)
|
53
|
-
assert !user.new_record?,
|
52
|
+
assert !user.new_record?, user.errors.full_messages.to_sentence.to_s
|
54
53
|
end
|
55
54
|
|
56
|
-
it
|
55
|
+
it 'should require username' do
|
57
56
|
old_count = User.count
|
58
57
|
user = FactoryBot.build(:user, username: nil)
|
59
58
|
user.save
|
@@ -61,26 +60,26 @@ describe User do
|
|
61
60
|
User.count.should eq old_count
|
62
61
|
end
|
63
62
|
|
64
|
-
it
|
63
|
+
it 'should require password' do
|
65
64
|
user = FactoryBot.build(:user, password: nil)
|
66
65
|
user.save
|
67
66
|
user.errors[:password].should be_truthy
|
68
67
|
end
|
69
68
|
|
70
|
-
it
|
69
|
+
it 'should not require password_confirmation on create' do
|
71
70
|
user = FactoryBot.build(:user, password: 'new_password', password_confirmation: nil)
|
72
71
|
user.save
|
73
72
|
user.errors[:email].should be_empty
|
74
73
|
end
|
75
74
|
|
76
|
-
it
|
75
|
+
it 'should reset password' do
|
77
76
|
users(:user1).password = 'new password'
|
78
77
|
users(:user1).password_confirmation = 'new password'
|
79
78
|
users(:user1).save
|
80
79
|
users(:user1).valid_password?('new password').should be_truthy
|
81
80
|
end
|
82
81
|
|
83
|
-
it
|
82
|
+
it 'should set temporary_password' do
|
84
83
|
user = users(:user1)
|
85
84
|
old_password = user.encrypted_password
|
86
85
|
user.set_auto_generated_password
|
@@ -89,16 +88,16 @@ describe User do
|
|
89
88
|
user.valid_password?('user1password').should be_falsy
|
90
89
|
end
|
91
90
|
|
92
|
-
it
|
91
|
+
it 'should get highest_role' do
|
93
92
|
users(:admin).role.name.should eq 'Administrator'
|
94
93
|
end
|
95
94
|
|
96
|
-
it
|
95
|
+
it 'should lock all expired users' do
|
97
96
|
User.lock_expired_users
|
98
97
|
users(:user4).active_for_authentication?.should be_falsy
|
99
98
|
end
|
100
99
|
|
101
|
-
it
|
100
|
+
it 'should lock_expired users' do
|
102
101
|
user = users(:user1)
|
103
102
|
users(:user1).active_for_authentication?.should be_truthy
|
104
103
|
user.expired_at = 1.day.ago
|
@@ -107,18 +106,18 @@ describe User do
|
|
107
106
|
end
|
108
107
|
|
109
108
|
if defined?(EnjuQuestion)
|
110
|
-
it
|
109
|
+
it 'should reset answer_feed_token' do
|
111
110
|
users(:user1).reset_answer_feed_token
|
112
111
|
users(:user1).answer_feed_token.should be_truthy
|
113
112
|
end
|
114
113
|
|
115
|
-
it
|
114
|
+
it 'should delete answer_feed_token' do
|
116
115
|
users(:user1).delete_answer_feed_token
|
117
116
|
users(:user1).answer_feed_token.should be_nil
|
118
117
|
end
|
119
118
|
end
|
120
119
|
|
121
|
-
describe
|
120
|
+
describe '.export' do
|
122
121
|
it "should export all user's information" do
|
123
122
|
lines = User.export
|
124
123
|
CSV.parse(lines, col_sep: "\t")
|
@@ -172,4 +171,3 @@ end
|
|
172
171
|
# save_search_history :boolean default(FALSE), not null
|
173
172
|
# answer_feed_token :string(255)
|
174
173
|
#
|
175
|
-
|
data/spec/rails_helper.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
-
require '
|
2
|
-
|
1
|
+
require 'simplecov'
|
2
|
+
SimpleCov.start
|
3
|
+
|
3
4
|
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
4
5
|
ENV['RAILS_ENV'] ||= 'test'
|
5
6
|
require File.expand_path('../../spec/dummy/config/environment', __FILE__)
|
6
7
|
# Prevent database truncation if the environment is production
|
7
|
-
abort(
|
8
|
+
abort('The Rails environment is running in production mode!') if Rails.env.production?
|
8
9
|
require 'spec_helper'
|
9
10
|
require 'rspec/rails'
|
10
11
|
require 'factory_bot'
|
@@ -67,12 +68,6 @@ RSpec.configure do |config|
|
|
67
68
|
Sunspot.session = SunspotMatchers::SunspotSessionSpy.new(Sunspot.session)
|
68
69
|
end
|
69
70
|
config.include SunspotMatchers
|
70
|
-
|
71
|
-
config.before(:each) do |example|
|
72
|
-
if example.metadata[:type] == :system
|
73
|
-
driven_by :selenium, using: :headless_chrome, screen_size: [1400, 1400]
|
74
|
-
end
|
75
|
-
end
|
76
71
|
end
|
77
72
|
|
78
73
|
FactoryBot.definition_file_paths << "#{::Rails.root}/../../spec/factories"
|
@@ -1,35 +1,33 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe ProfilesController do
|
4
|
-
describe
|
5
|
-
|
6
|
-
|
7
|
-
{ get: "/profiles" }.should route_to(controller: "profiles", action: "index")
|
4
|
+
describe 'routing' do
|
5
|
+
it 'recognizes and generates #index' do
|
6
|
+
{ get: '/profiles' }.should route_to(controller: 'profiles', action: 'index')
|
8
7
|
end
|
9
8
|
|
10
|
-
it
|
11
|
-
{ get:
|
9
|
+
it 'recognizes and generates #new' do
|
10
|
+
{ get: '/profiles/new' }.should route_to(controller: 'profiles', action: 'new')
|
12
11
|
end
|
13
12
|
|
14
|
-
it
|
15
|
-
{ get:
|
13
|
+
it 'recognizes and generates #show' do
|
14
|
+
{ get: '/profiles/1' }.should route_to(controller: 'profiles', action: 'show', id: '1')
|
16
15
|
end
|
17
16
|
|
18
|
-
it
|
19
|
-
{ get:
|
17
|
+
it 'recognizes and generates #edit' do
|
18
|
+
{ get: '/profiles/1/edit' }.should route_to(controller: 'profiles', action: 'edit', id: '1')
|
20
19
|
end
|
21
20
|
|
22
|
-
it
|
23
|
-
{ post:
|
21
|
+
it 'recognizes and generates #create' do
|
22
|
+
{ post: '/profiles' }.should route_to(controller: 'profiles', action: 'create')
|
24
23
|
end
|
25
24
|
|
26
|
-
it
|
27
|
-
{ put:
|
25
|
+
it 'recognizes and generates #update' do
|
26
|
+
{ put: '/profiles/1' }.should route_to(controller: 'profiles', action: 'update', id: '1')
|
28
27
|
end
|
29
28
|
|
30
|
-
it
|
31
|
-
{ delete:
|
29
|
+
it 'recognizes and generates #destroy' do
|
30
|
+
{ delete: '/profiles/1' }.should route_to(controller: 'profiles', action: 'destroy', id: '1')
|
32
31
|
end
|
33
|
-
|
34
32
|
end
|
35
33
|
end
|
@@ -1,35 +1,33 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe RolesController do
|
4
|
-
describe
|
5
|
-
|
6
|
-
|
7
|
-
{ get: "/roles" }.should route_to(controller: "roles", action: "index")
|
4
|
+
describe 'routing' do
|
5
|
+
it 'recognizes and generates #index' do
|
6
|
+
{ get: '/roles' }.should route_to(controller: 'roles', action: 'index')
|
8
7
|
end
|
9
8
|
|
10
|
-
#it "recognizes and generates #new" do
|
9
|
+
# it "recognizes and generates #new" do
|
11
10
|
# { :get => "/roles/new" }.should route_to(:controller => "roles", :action => "new")
|
12
|
-
#end
|
11
|
+
# end
|
13
12
|
|
14
|
-
it
|
15
|
-
{ get:
|
13
|
+
it 'recognizes and generates #show' do
|
14
|
+
{ get: '/roles/1' }.should route_to(controller: 'roles', action: 'show', id: '1')
|
16
15
|
end
|
17
16
|
|
18
|
-
it
|
19
|
-
{ get:
|
17
|
+
it 'recognizes and generates #edit' do
|
18
|
+
{ get: '/roles/1/edit' }.should route_to(controller: 'roles', action: 'edit', id: '1')
|
20
19
|
end
|
21
20
|
|
22
|
-
#it "recognizes and generates #create" do
|
21
|
+
# it "recognizes and generates #create" do
|
23
22
|
# { :post => "/roles" }.should route_to(:controller => "roles", :action => "create")
|
24
|
-
#end
|
23
|
+
# end
|
25
24
|
|
26
|
-
it
|
27
|
-
{ put:
|
25
|
+
it 'recognizes and generates #update' do
|
26
|
+
{ put: '/roles/1' }.should route_to(controller: 'roles', action: 'update', id: '1')
|
28
27
|
end
|
29
28
|
|
30
|
-
#it "recognizes and generates #destroy" do
|
29
|
+
# it "recognizes and generates #destroy" do
|
31
30
|
# { :delete => "/roles/1" }.should route_to(:controller => "roles", :action => "destroy", :id => "1")
|
32
|
-
#end
|
33
|
-
|
31
|
+
# end
|
34
32
|
end
|
35
33
|
end
|
data/spec/routing/users_spec.rb
CHANGED
@@ -1,14 +1,13 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe ProfilesController do
|
4
|
-
describe
|
5
|
-
|
6
|
-
|
7
|
-
{ get: "/users/sign_in" }.should route_to(controller: "devise/sessions", action: "new")
|
4
|
+
describe 'routing' do
|
5
|
+
it 'recognizes and generates #new' do
|
6
|
+
{ get: '/users/sign_in' }.should route_to(controller: 'devise/sessions', action: 'new')
|
8
7
|
end
|
9
8
|
|
10
|
-
it
|
11
|
-
{ delete:
|
9
|
+
it 'recognizes and generates #destroy' do
|
10
|
+
{ delete: '/users/sign_out' }.should route_to(controller: 'devise/sessions', action: 'destroy')
|
12
11
|
end
|
13
12
|
end
|
14
13
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -47,53 +47,51 @@ RSpec.configure do |config|
|
|
47
47
|
# triggering implicit auto-inclusion in groups with matching metadata.
|
48
48
|
config.shared_context_metadata_behavior = :apply_to_host_groups
|
49
49
|
|
50
|
-
# The settings below are suggested to provide a good initial experience
|
51
|
-
# with RSpec, but feel free to customize to your heart's content.
|
52
|
-
|
53
|
-
#
|
54
|
-
#
|
55
|
-
#
|
56
|
-
#
|
57
|
-
#
|
58
|
-
|
59
|
-
|
60
|
-
#
|
61
|
-
#
|
62
|
-
#
|
63
|
-
|
64
|
-
|
65
|
-
#
|
66
|
-
#
|
67
|
-
# - http://
|
68
|
-
# - http://
|
69
|
-
#
|
70
|
-
|
71
|
-
|
72
|
-
#
|
73
|
-
#
|
74
|
-
#
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
#
|
83
|
-
#
|
84
|
-
#
|
85
|
-
|
86
|
-
|
87
|
-
#
|
88
|
-
#
|
89
|
-
#
|
90
|
-
#
|
91
|
-
|
92
|
-
|
93
|
-
#
|
94
|
-
#
|
95
|
-
#
|
96
|
-
#
|
97
|
-
Kernel.srand config.seed
|
98
|
-
=end
|
50
|
+
# The settings below are suggested to provide a good initial experience
|
51
|
+
# with RSpec, but feel free to customize to your heart's content.
|
52
|
+
# # This allows you to limit a spec run to individual examples or groups
|
53
|
+
# # you care about by tagging them with `:focus` metadata. When nothing
|
54
|
+
# # is tagged with `:focus`, all examples get run. RSpec also provides
|
55
|
+
# # aliases for `it`, `describe`, and `context` that include `:focus`
|
56
|
+
# # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
|
57
|
+
# config.filter_run_when_matching :focus
|
58
|
+
#
|
59
|
+
# # Allows RSpec to persist some state between runs in order to support
|
60
|
+
# # the `--only-failures` and `--next-failure` CLI options. We recommend
|
61
|
+
# # you configure your source control system to ignore this file.
|
62
|
+
# config.example_status_persistence_file_path = "spec/examples.txt"
|
63
|
+
#
|
64
|
+
# # Limits the available syntax to the non-monkey patched syntax that is
|
65
|
+
# # recommended. For more details, see:
|
66
|
+
# # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
|
67
|
+
# # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
|
68
|
+
# # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
|
69
|
+
# config.disable_monkey_patching!
|
70
|
+
#
|
71
|
+
# # Many RSpec users commonly either run the entire suite or an individual
|
72
|
+
# # file, and it's useful to allow more verbose output when running an
|
73
|
+
# # individual spec file.
|
74
|
+
# if config.files_to_run.one?
|
75
|
+
# # Use the documentation formatter for detailed output,
|
76
|
+
# # unless a formatter has already been configured
|
77
|
+
# # (e.g. via a command-line flag).
|
78
|
+
# config.default_formatter = 'doc'
|
79
|
+
# end
|
80
|
+
#
|
81
|
+
# # Print the 10 slowest examples and example groups at the
|
82
|
+
# # end of the spec run, to help surface which specs are running
|
83
|
+
# # particularly slow.
|
84
|
+
# config.profile_examples = 10
|
85
|
+
#
|
86
|
+
# # Run specs in random order to surface order dependencies. If you find an
|
87
|
+
# # order dependency and want to debug it, you can fix the order by providing
|
88
|
+
# # the seed, which is printed after each run.
|
89
|
+
# # --seed 1234
|
90
|
+
# config.order = :random
|
91
|
+
#
|
92
|
+
# # Seed global randomization in this process using the `--seed` CLI option.
|
93
|
+
# # Setting this allows you to use `--seed` to deterministically reproduce
|
94
|
+
# # test failures related to randomization by passing the same `--seed` value
|
95
|
+
# # as the one that triggered the failure.
|
96
|
+
# Kernel.srand config.seed
|
99
97
|
end
|
@@ -1,28 +1,28 @@
|
|
1
1
|
module ControllerMacros
|
2
2
|
def login_admin
|
3
3
|
before(:each) do
|
4
|
-
@request.env[
|
4
|
+
@request.env['devise.mapping'] = Devise.mappings[:admin]
|
5
5
|
sign_in FactoryBot.create(:admin)
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
9
9
|
def login_librarian
|
10
10
|
before(:each) do
|
11
|
-
@request.env[
|
11
|
+
@request.env['devise.mapping'] = Devise.mappings[:librarian]
|
12
12
|
sign_in FactoryBot.create(:librarian)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
def login_user
|
17
17
|
before(:each) do
|
18
|
-
@request.env[
|
18
|
+
@request.env['devise.mapping'] = Devise.mappings[:user]
|
19
19
|
sign_in FactoryBot.create(:user)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
23
|
def login_fixture_admin
|
24
24
|
before(:each) do
|
25
|
-
@request.env[
|
25
|
+
@request.env['devise.mapping'] = Devise.mappings[:admin]
|
26
26
|
@user = users(:admin)
|
27
27
|
sign_in @user
|
28
28
|
end
|
@@ -30,7 +30,7 @@ module ControllerMacros
|
|
30
30
|
|
31
31
|
def login_fixture_librarian
|
32
32
|
before(:each) do
|
33
|
-
@request.env[
|
33
|
+
@request.env['devise.mapping'] = Devise.mappings[:librarian]
|
34
34
|
@user = users(:librarian1)
|
35
35
|
sign_in @user
|
36
36
|
end
|
@@ -38,7 +38,7 @@ module ControllerMacros
|
|
38
38
|
|
39
39
|
def login_fixture_user
|
40
40
|
before(:each) do
|
41
|
-
@request.env[
|
41
|
+
@request.env['devise.mapping'] = Devise.mappings[:user]
|
42
42
|
@user = users(:user1)
|
43
43
|
sign_in @user
|
44
44
|
end
|
@@ -1,39 +1,39 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe 'my_accounts/show' do
|
4
4
|
fixtures :all
|
5
5
|
|
6
6
|
before(:each) do
|
7
7
|
@profile = assign(:profile, profiles(:admin))
|
8
8
|
end
|
9
9
|
|
10
|
-
describe
|
10
|
+
describe 'when logged in as Librarian' do
|
11
11
|
before(:each) do
|
12
12
|
@profile = assign(:profile, profiles(:librarian2))
|
13
13
|
user = users(:librarian1)
|
14
14
|
view.stub(:current_user).and_return(user)
|
15
15
|
end
|
16
16
|
|
17
|
-
it
|
17
|
+
it 'renders attributes in <p>' do
|
18
18
|
allow(view).to receive(:policy).and_return double(update?: true, destroy?: true)
|
19
19
|
render
|
20
20
|
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
21
21
|
end
|
22
22
|
|
23
|
-
it
|
23
|
+
it 'cannot be deletable by other librarian' do
|
24
24
|
allow(view).to receive(:policy).and_return double(update?: true, destroy?: true)
|
25
25
|
render
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
describe
|
29
|
+
describe 'when logged in as User' do
|
30
30
|
before(:each) do
|
31
31
|
@profile = assign(:profile, profiles(:user2))
|
32
32
|
user = users(:librarian1)
|
33
33
|
view.stub(:current_user).and_return(user)
|
34
34
|
end
|
35
35
|
|
36
|
-
it
|
36
|
+
it 'renders attributes in <p>' do
|
37
37
|
allow(view).to receive(:policy).and_return double(update?: true, destroy?: true)
|
38
38
|
render
|
39
39
|
end
|