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
@@ -3,11 +3,11 @@ require 'rails_helper'
|
|
3
3
|
describe ProfilesController do
|
4
4
|
fixtures :all
|
5
5
|
|
6
|
-
describe
|
7
|
-
describe
|
6
|
+
describe 'GET index' do
|
7
|
+
describe 'When logged in as Administrator' do
|
8
8
|
login_fixture_admin
|
9
9
|
|
10
|
-
it
|
10
|
+
it 'assigns all profiles as @profiles' do
|
11
11
|
get :index
|
12
12
|
Sunspot.session.should be_a_search_for(Profile)
|
13
13
|
Sunspot.session.should have_search_params(:fulltext, '')
|
@@ -15,17 +15,17 @@ describe ProfilesController do
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
describe
|
18
|
+
describe 'When logged in as Librarian' do
|
19
19
|
login_fixture_librarian
|
20
20
|
|
21
|
-
it
|
21
|
+
it 'assigns all profiles as @profiles' do
|
22
22
|
get :index
|
23
23
|
Sunspot.session.should be_a_search_for(Profile)
|
24
24
|
Sunspot.session.should have_search_params(:fulltext, '')
|
25
25
|
assigns(:profiles).should_not be_nil
|
26
26
|
end
|
27
27
|
|
28
|
-
it
|
28
|
+
it 'should get index with query' do
|
29
29
|
get :index, params: { query: 'user1' }
|
30
30
|
response.should be_successful
|
31
31
|
Sunspot.session.should be_a_search_for(Profile)
|
@@ -33,7 +33,7 @@ describe ProfilesController do
|
|
33
33
|
assigns(:profiles).should_not be_nil
|
34
34
|
end
|
35
35
|
|
36
|
-
it
|
36
|
+
it 'should get sorted index' do
|
37
37
|
get :index, params: { query: 'user1', sort_by: 'username', order: 'desc' }
|
38
38
|
response.should be_successful
|
39
39
|
Sunspot.session.should be_a_search_for(Profile)
|
@@ -43,18 +43,18 @@ describe ProfilesController do
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
describe
|
46
|
+
describe 'When logged in as User' do
|
47
47
|
login_fixture_user
|
48
48
|
|
49
|
-
it
|
49
|
+
it 'assigns all profiles as @profiles' do
|
50
50
|
get :index
|
51
51
|
assigns(:profiles).should be_nil
|
52
52
|
response.should be_forbidden
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
|
-
describe
|
57
|
-
it
|
56
|
+
describe 'When not logged in' do
|
57
|
+
it 'assigns all profiles as @profiles' do
|
58
58
|
get :index
|
59
59
|
assigns(:profiles).should be_nil
|
60
60
|
response.should redirect_to(new_user_session_url)
|
@@ -62,15 +62,15 @@ describe ProfilesController do
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
describe
|
66
|
-
describe
|
65
|
+
describe 'GET show' do
|
66
|
+
describe 'When logged in as Administrator' do
|
67
67
|
login_fixture_admin
|
68
68
|
|
69
|
-
it
|
69
|
+
it 'assigns the requested user as @profile' do
|
70
70
|
get :show, params: { id: profiles(:admin).id }
|
71
71
|
assigns(:profile).should eq(profiles(:admin))
|
72
72
|
end
|
73
|
-
it
|
73
|
+
it 'assigns the another requested user as @profile' do
|
74
74
|
admin_profile = FactoryBot.create :admin_profile
|
75
75
|
get :show, params: { id: admin_profile.id }
|
76
76
|
expect(response).not_to be_forbidden
|
@@ -78,19 +78,19 @@ describe ProfilesController do
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
-
describe
|
81
|
+
describe 'When logged in as Librarian' do
|
82
82
|
login_fixture_librarian
|
83
83
|
|
84
|
-
it
|
84
|
+
it 'assigns the requested user as @profile' do
|
85
85
|
get :show, params: { id: profiles(:librarian1).id }
|
86
86
|
assigns(:profile).should eq(profiles(:librarian1))
|
87
87
|
end
|
88
|
-
it
|
88
|
+
it 'should not assign the requested user as @admin' do
|
89
89
|
admin = FactoryBot.create(:admin_profile)
|
90
90
|
get :show, params: { id: admin.id }
|
91
91
|
response.should be_forbidden
|
92
92
|
end
|
93
|
-
it
|
93
|
+
it 'should assign the requested user as @librarian' do
|
94
94
|
librarian = FactoryBot.create(:librarian_profile)
|
95
95
|
get :show, params: { id: librarian.id }
|
96
96
|
response.should_not be_forbidden
|
@@ -98,15 +98,15 @@ describe ProfilesController do
|
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
-
describe
|
101
|
+
describe 'When logged in as User' do
|
102
102
|
login_fixture_user
|
103
103
|
|
104
|
-
it
|
104
|
+
it 'assigns the requested user as @profile' do
|
105
105
|
get :show, params: { id: profiles(:user1).id }
|
106
106
|
assigns(:profile).should eq(profiles(:user1))
|
107
107
|
end
|
108
108
|
|
109
|
-
it
|
109
|
+
it 'should redirect to my user account' do
|
110
110
|
get :show, params: { id: profiles(:user1).id }
|
111
111
|
assert_redirected_to my_account_url
|
112
112
|
end
|
@@ -118,46 +118,46 @@ describe ProfilesController do
|
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
describe
|
122
|
-
it
|
121
|
+
describe 'When not logged in' do
|
122
|
+
it 'assigns the requested user as @profile' do
|
123
123
|
get :show, params: { id: profiles(:admin).id }
|
124
|
-
assigns(:profile).should eq
|
124
|
+
assigns(:profile).should eq(profiles(:admin))
|
125
125
|
response.should redirect_to(new_user_session_url)
|
126
126
|
end
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
130
|
-
describe
|
131
|
-
describe
|
130
|
+
describe 'GET new' do
|
131
|
+
describe 'When logged in as Administrator' do
|
132
132
|
login_fixture_admin
|
133
133
|
|
134
|
-
it
|
134
|
+
it 'assigns the requested user as @profile' do
|
135
135
|
get :new
|
136
136
|
assigns(:profile).should_not be_valid
|
137
137
|
end
|
138
138
|
end
|
139
139
|
|
140
|
-
describe
|
140
|
+
describe 'When logged in as Librarian' do
|
141
141
|
login_fixture_librarian
|
142
142
|
|
143
|
-
it
|
143
|
+
it 'should not assign the requested user as @profile' do
|
144
144
|
get :new
|
145
145
|
assigns(:profile).should_not be_valid
|
146
146
|
end
|
147
147
|
end
|
148
148
|
|
149
|
-
describe
|
149
|
+
describe 'When logged in as User' do
|
150
150
|
login_fixture_user
|
151
151
|
|
152
|
-
it
|
152
|
+
it 'should not assign the requested user as @profile' do
|
153
153
|
get :new
|
154
154
|
assigns(:profile).should be_nil
|
155
155
|
response.should be_forbidden
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
159
|
-
describe
|
160
|
-
it
|
159
|
+
describe 'When not logged in' do
|
160
|
+
it 'should not assign the requested user as @profile' do
|
161
161
|
get :new
|
162
162
|
assigns(:profile).should be_nil
|
163
163
|
response.should redirect_to(new_user_session_url)
|
@@ -165,39 +165,39 @@ describe ProfilesController do
|
|
165
165
|
end
|
166
166
|
end
|
167
167
|
|
168
|
-
describe
|
169
|
-
describe
|
168
|
+
describe 'GET edit' do
|
169
|
+
describe 'When logged in as Administrator' do
|
170
170
|
login_fixture_admin
|
171
171
|
|
172
|
-
it
|
172
|
+
it 'assigns the requested user as @profile' do
|
173
173
|
profile = FactoryBot.create(:profile)
|
174
174
|
get :edit, params: { id: profile.id }
|
175
175
|
assigns(:profile).should eq(profile)
|
176
176
|
end
|
177
177
|
end
|
178
178
|
|
179
|
-
describe
|
179
|
+
describe 'When logged in as Librarian' do
|
180
180
|
login_fixture_librarian
|
181
181
|
|
182
|
-
it
|
182
|
+
it 'should assign the requested user as @profile' do
|
183
183
|
profile = FactoryBot.create(:profile)
|
184
184
|
get :edit, params: { id: profile.id }
|
185
185
|
assigns(:profile).should eq(profile)
|
186
186
|
end
|
187
|
-
it
|
187
|
+
it 'should not get edit page for admin required user' do
|
188
188
|
admin = FactoryBot.create(:admin_profile)
|
189
189
|
get :edit, params: { id: admin.id }
|
190
190
|
response.should be_forbidden
|
191
191
|
# assigns(:profile).should_not eq(admin)
|
192
192
|
end
|
193
|
-
it
|
193
|
+
it 'should get edit page for other librarian user' do
|
194
194
|
librarian = FactoryBot.create(:librarian_profile)
|
195
195
|
get :edit, params: { id: librarian.id }
|
196
196
|
response.should_not be_forbidden
|
197
197
|
assigns(:profile).should eq librarian
|
198
198
|
end
|
199
199
|
|
200
|
-
it
|
200
|
+
it 'should get edit page for other librarian user' do
|
201
201
|
admin = FactoryBot.create(:admin_profile, required_role_id: Role.where(name: 'Librarian').first.id)
|
202
202
|
get :edit, params: { id: admin.id }
|
203
203
|
response.should be_forbidden
|
@@ -205,148 +205,148 @@ describe ProfilesController do
|
|
205
205
|
end
|
206
206
|
end
|
207
207
|
|
208
|
-
describe
|
208
|
+
describe 'When logged in as User' do
|
209
209
|
login_fixture_user
|
210
210
|
|
211
|
-
it
|
211
|
+
it 'should not assign the requested user as @profile' do
|
212
212
|
profile = FactoryBot.create(:profile)
|
213
213
|
get :edit, params: { id: profile.id }
|
214
214
|
assigns(:profile).should eq(profile)
|
215
215
|
response.should be_forbidden
|
216
216
|
end
|
217
217
|
|
218
|
-
it
|
218
|
+
it 'should edit myself' do
|
219
219
|
get :edit, params: { id: profiles(:user1).id }
|
220
220
|
response.should redirect_to edit_my_account_url
|
221
221
|
end
|
222
222
|
end
|
223
223
|
|
224
|
-
describe
|
225
|
-
it
|
224
|
+
describe 'When not logged in' do
|
225
|
+
it 'should not assign the requested user as @profile' do
|
226
226
|
profile = FactoryBot.create(:profile)
|
227
227
|
get :edit, params: { id: profile.id }
|
228
|
-
assigns(:profile).should eq
|
228
|
+
assigns(:profile).should eq(profile)
|
229
229
|
response.should redirect_to(new_user_session_url)
|
230
230
|
end
|
231
231
|
end
|
232
232
|
end
|
233
233
|
|
234
|
-
describe
|
234
|
+
describe 'POST create' do
|
235
235
|
before(:each) do
|
236
236
|
@attrs = FactoryBot.attributes_for(:profile)
|
237
237
|
@invalid_attrs = { user_group_id: '', user_number: '日本語' }
|
238
238
|
end
|
239
239
|
|
240
|
-
describe
|
240
|
+
describe 'When logged in as Administrator' do
|
241
241
|
login_fixture_admin
|
242
242
|
|
243
|
-
describe
|
244
|
-
it
|
243
|
+
describe 'with valid params' do
|
244
|
+
it 'assigns a newly created user as @profile' do
|
245
245
|
post :create, params: { profile: @attrs }
|
246
246
|
assigns(:profile).should be_valid
|
247
247
|
end
|
248
248
|
|
249
|
-
it
|
249
|
+
it 'redirects to the created user' do
|
250
250
|
post :create, params: { profile: @attrs }
|
251
251
|
response.should redirect_to(profile_url(assigns(:profile)))
|
252
252
|
end
|
253
253
|
end
|
254
254
|
|
255
|
-
describe
|
256
|
-
it
|
255
|
+
describe 'with invalid params' do
|
256
|
+
it 'assigns a newly created but unsaved user as @profile' do
|
257
257
|
post :create, params: { profile: @invalid_attrs }
|
258
258
|
assigns(:profile).should_not be_valid
|
259
259
|
end
|
260
260
|
|
261
261
|
it "re-renders the 'new' template" do
|
262
262
|
post :create, params: { profile: @invalid_attrs }
|
263
|
-
response.should render_template(
|
263
|
+
response.should render_template('new')
|
264
264
|
end
|
265
265
|
end
|
266
266
|
end
|
267
267
|
|
268
|
-
describe
|
268
|
+
describe 'When logged in as Librarian' do
|
269
269
|
login_fixture_librarian
|
270
270
|
|
271
|
-
describe
|
272
|
-
it
|
271
|
+
describe 'with valid params' do
|
272
|
+
it 'assigns a newly created user as @profile' do
|
273
273
|
post :create, params: { profile: @attrs }
|
274
274
|
assigns(:profile).should be_valid
|
275
275
|
end
|
276
276
|
|
277
|
-
it
|
277
|
+
it 'redirects to the created user' do
|
278
278
|
post :create, params: { profile: @attrs }
|
279
279
|
response.should redirect_to(profile_url(assigns(:profile)))
|
280
280
|
end
|
281
281
|
end
|
282
282
|
|
283
|
-
describe
|
284
|
-
it
|
283
|
+
describe 'with invalid params' do
|
284
|
+
it 'assigns a newly created but unsaved user as @profile' do
|
285
285
|
post :create, params: { profile: @invalid_attrs }
|
286
286
|
assigns(:profile).should_not be_valid
|
287
287
|
end
|
288
288
|
|
289
289
|
it "re-renders the 'new' template" do
|
290
290
|
post :create, params: { profile: @invalid_attrs }
|
291
|
-
response.should render_template(
|
291
|
+
response.should render_template('new')
|
292
292
|
end
|
293
293
|
end
|
294
294
|
end
|
295
295
|
|
296
|
-
describe
|
296
|
+
describe 'When logged in as User' do
|
297
297
|
login_fixture_user
|
298
298
|
|
299
|
-
it
|
299
|
+
it 'should not create user' do
|
300
300
|
post :create, params: { profile: { username: 'test10' } }
|
301
301
|
assigns(:profile).should be_nil
|
302
302
|
response.should be_forbidden
|
303
303
|
end
|
304
304
|
end
|
305
305
|
|
306
|
-
describe
|
307
|
-
it
|
306
|
+
describe 'When not logged in' do
|
307
|
+
it 'should not create user' do
|
308
308
|
post :create, params: { profile: { username: 'test10' } }
|
309
309
|
response.should redirect_to new_user_session_url
|
310
310
|
end
|
311
311
|
end
|
312
312
|
end
|
313
313
|
|
314
|
-
describe
|
314
|
+
describe 'PUT update' do
|
315
315
|
before(:each) do
|
316
316
|
@profile = profiles(:user1)
|
317
|
-
@attrs = { user_group_id:
|
317
|
+
@attrs = { user_group_id: user_groups(:user_group_00003).id, locale: 'en' }
|
318
318
|
@invalid_attrs = { user_group_id: '', user_number: '日本語' }
|
319
319
|
end
|
320
320
|
|
321
|
-
describe
|
321
|
+
describe 'When logged in as Administrator' do
|
322
322
|
login_fixture_admin
|
323
323
|
|
324
|
-
describe
|
325
|
-
it
|
324
|
+
describe 'with valid params' do
|
325
|
+
it 'updates the requested user' do
|
326
326
|
put :update, params: { id: @profile.id, profile: @attrs }
|
327
327
|
end
|
328
328
|
|
329
|
-
it
|
329
|
+
it 'assigns the requested user as @profile' do
|
330
330
|
put :update, params: { id: @profile.id, profile: @attrs }
|
331
331
|
assigns(:profile).should eq(@profile)
|
332
332
|
end
|
333
333
|
|
334
|
-
it
|
334
|
+
it 'redirects to the user' do
|
335
335
|
put :update, params: { id: @profile.id, profile: @attrs }
|
336
336
|
assigns(:profile).should eq(@profile)
|
337
337
|
response.should redirect_to(@profile)
|
338
338
|
end
|
339
339
|
end
|
340
340
|
|
341
|
-
describe
|
342
|
-
it
|
341
|
+
describe 'with invalid params' do
|
342
|
+
it 'assigns the requested user as @profile' do
|
343
343
|
put :update, params: { id: @profile.id, profile: @invalid_attrs }
|
344
344
|
assigns(:profile).should eq(@profile)
|
345
345
|
end
|
346
346
|
|
347
347
|
it "re-renders the 'edit' template" do
|
348
348
|
put :update, params: { id: @profile, profile: @invalid_attrs }
|
349
|
-
response.should render_template(
|
349
|
+
response.should render_template('edit')
|
350
350
|
end
|
351
351
|
end
|
352
352
|
|
@@ -358,56 +358,56 @@ describe ProfilesController do
|
|
358
358
|
end
|
359
359
|
end
|
360
360
|
|
361
|
-
describe
|
361
|
+
describe 'When logged in as Librarian' do
|
362
362
|
login_fixture_librarian
|
363
363
|
|
364
|
-
describe
|
365
|
-
it
|
364
|
+
describe 'with valid params' do
|
365
|
+
it 'updates the requested user' do
|
366
366
|
put :update, params: { id: @profile.id, profile: @attrs }
|
367
367
|
end
|
368
368
|
|
369
|
-
it
|
369
|
+
it 'assigns the requested user as @profile' do
|
370
370
|
put :update, params: { id: @profile.id, profile: @attrs }
|
371
371
|
assigns(:profile).should eq(@profile)
|
372
372
|
end
|
373
373
|
|
374
|
-
it
|
374
|
+
it 'redirects to the user' do
|
375
375
|
put :update, params: { id: @profile.id, profile: @attrs }
|
376
376
|
assigns(:profile).should eq(@profile)
|
377
377
|
response.should redirect_to(@profile)
|
378
378
|
end
|
379
379
|
end
|
380
380
|
|
381
|
-
describe
|
382
|
-
it
|
381
|
+
describe 'with invalid params' do
|
382
|
+
it 'assigns the user as @profile' do
|
383
383
|
put :update, params: { id: @profile, profile: @invalid_attrs }
|
384
384
|
assigns(:profile).should_not be_valid
|
385
385
|
end
|
386
386
|
|
387
387
|
it "re-renders the 'edit' template" do
|
388
388
|
put :update, params: { id: @profile, profile: @invalid_attrs }
|
389
|
-
response.should render_template(
|
389
|
+
response.should render_template('edit')
|
390
390
|
end
|
391
391
|
end
|
392
392
|
|
393
|
-
it
|
394
|
-
put :update, params: { id: profiles(:user1).id, profile: { user_number: '00003', locale: 'en', user_group_id:
|
393
|
+
it 'should update other user' do
|
394
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_number: '00003', locale: 'en', user_group_id: user_groups(:user_group_00003).id, library_id: libraries(:library_00003).id, note: 'test' } }
|
395
395
|
response.should redirect_to profile_url(assigns(:profile))
|
396
396
|
end
|
397
397
|
|
398
|
-
it
|
399
|
-
put :update, params: { id: profiles(:admin).id, profile: { user_number: '00003', locale: 'en', user_group_id:
|
398
|
+
it 'should not update other admin' do
|
399
|
+
put :update, params: { id: profiles(:admin).id, profile: { user_number: '00003', locale: 'en', user_group_id: user_groups(:user_group_00003).id, library_id: libraries(:library_00003).id, note: 'test' } }
|
400
400
|
response.should be_forbidden
|
401
401
|
end
|
402
402
|
|
403
403
|
it "should update other user's user_group" do
|
404
|
-
put :update, params: { id: profiles(:user1).id, profile: { user_group_id:
|
404
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_group_id: user_groups(:user_group_00003).id, library_id: libraries(:library_00003).id, locale: 'en' } }
|
405
405
|
response.should redirect_to profile_url(assigns(:profile))
|
406
|
-
assigns(:profile).user_group_id.should eq
|
406
|
+
assigns(:profile).user_group_id.should eq user_groups(:user_group_00003).id
|
407
407
|
end
|
408
408
|
|
409
409
|
it "should update other user's note" do
|
410
|
-
put :update, params: { id: profiles(:user1).id, profile: { user_group_id:
|
410
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_group_id: user_groups(:user_group_00003).id, library_id: libraries(:library_00003).id, note: 'test', locale: 'en' } }
|
411
411
|
response.should redirect_to profile_url(assigns(:profile))
|
412
412
|
assert_equal assigns(:profile).note, 'test'
|
413
413
|
end
|
@@ -418,33 +418,25 @@ describe ProfilesController do
|
|
418
418
|
assigns(:profile).user.locked_at.should be_truthy
|
419
419
|
assigns(:profile).user.access_locked?.should be_truthy
|
420
420
|
end
|
421
|
-
|
422
|
-
it "should unlock other user" do
|
423
|
-
profiles(:user1).user.lock_access!
|
424
|
-
put :update, params: { id: profiles(:user1).id, profile: { user_attributes: { id: 3, locked: '0', username: 'user1' } } }
|
425
|
-
response.should redirect_to profile_url(assigns(:profile))
|
426
|
-
expect(assigns(:profile).user.locked_at).to be_falsy
|
427
|
-
expect(assigns(:profile).user.access_locked?).to be_falsy
|
428
|
-
end
|
429
421
|
end
|
430
422
|
|
431
|
-
describe
|
423
|
+
describe 'When logged in as User' do
|
432
424
|
login_fixture_user
|
433
425
|
|
434
|
-
describe
|
435
|
-
it
|
426
|
+
describe 'with valid params' do
|
427
|
+
it 'updates the requested user' do
|
436
428
|
put :update, params: { id: @profile.id, profile: @attrs }
|
437
429
|
end
|
438
430
|
|
439
|
-
it
|
431
|
+
it 'assigns the requested user as @profile' do
|
440
432
|
put :update, params: { id: @profile.id, profile: @attrs }
|
441
433
|
assigns(:profile).should be_valid
|
442
434
|
response.should redirect_to profile_url(assigns(:profile))
|
443
435
|
end
|
444
436
|
end
|
445
437
|
|
446
|
-
describe
|
447
|
-
it
|
438
|
+
describe 'with invalid params' do
|
439
|
+
it 'assigns the requested user as @profile' do
|
448
440
|
put :update, params: { id: @profile.id, profile: @invalid_attrs }
|
449
441
|
# assigns(:profile).should_not be_valid
|
450
442
|
# response.should be_successful
|
@@ -453,57 +445,57 @@ describe ProfilesController do
|
|
453
445
|
end
|
454
446
|
end
|
455
447
|
|
456
|
-
it
|
448
|
+
it 'should update myself' do
|
457
449
|
put :update, params: { id: profiles(:user1).id, profile: { keyword_list: 'test' } }
|
458
450
|
response.should redirect_to profile_url(assigns(:profile))
|
459
451
|
end
|
460
452
|
|
461
|
-
it
|
453
|
+
it 'should not update my role' do
|
462
454
|
put :update, params: { id: profiles(:user1).id, profile: { user_has_role_attributes: { role_id: 4 } } }
|
463
455
|
response.should redirect_to profile_url(assigns(:profile))
|
464
456
|
assigns(:profile).user.role.should_not eq Role.where(name: 'Administrator').first
|
465
457
|
end
|
466
458
|
|
467
|
-
it
|
468
|
-
put :update, params: { id: profiles(:user1).id, profile: { user_group_id:
|
459
|
+
it 'should not update my user_group' do
|
460
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_group_id: user_groups(:user_group_00003).id, library_id: libraries(:library_00003).id } }
|
469
461
|
response.should redirect_to profile_url(assigns(:profile))
|
470
|
-
assigns(:profile).user_group_id.should eq
|
462
|
+
assigns(:profile).user_group_id.should eq user_groups(:user_group_00001).id
|
471
463
|
end
|
472
464
|
|
473
|
-
it
|
474
|
-
put :update, params: { id: profiles(:user1).id, profile: { user_group_id:
|
465
|
+
it 'should not update my note' do
|
466
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_group_id: user_groups(:user_group_00003).id, library_id: libraries(:library_00003).id, note: 'test' } }
|
475
467
|
response.should redirect_to profile_url(assigns(:profile))
|
476
468
|
assigns(:profile).note.should be_nil
|
477
469
|
end
|
478
470
|
|
479
|
-
it
|
471
|
+
it 'should update my keyword_list' do
|
480
472
|
put :update, params: { id: profiles(:user1).id, profile: { keyword_list: 'test' } }
|
481
473
|
response.should redirect_to profile_url(assigns(:profile))
|
482
474
|
assigns(:profile).keyword_list.should eq 'test'
|
483
475
|
assigns(:profile).user.role.name.should eq 'User'
|
484
476
|
end
|
485
477
|
|
486
|
-
it
|
478
|
+
it 'should not update other user' do
|
487
479
|
put :update, params: { id: profiles(:user2).id, profile: {} }
|
488
480
|
assigns(:profile).should be_valid
|
489
481
|
response.should be_forbidden
|
490
482
|
end
|
491
483
|
end
|
492
484
|
|
493
|
-
describe
|
494
|
-
describe
|
495
|
-
it
|
485
|
+
describe 'When not logged in' do
|
486
|
+
describe 'with valid params' do
|
487
|
+
it 'updates the requested user' do
|
496
488
|
put :update, params: { id: @profile.id, profile: @attrs }
|
497
489
|
end
|
498
490
|
|
499
|
-
it
|
491
|
+
it 'should be forbidden' do
|
500
492
|
put :update, params: { id: @profile.id, profile: @attrs }
|
501
493
|
response.should redirect_to(new_user_session_url)
|
502
494
|
end
|
503
495
|
end
|
504
496
|
|
505
|
-
describe
|
506
|
-
it
|
497
|
+
describe 'with invalid params' do
|
498
|
+
it 'assigns the requested user as @profile' do
|
507
499
|
put :update, params: { id: @profile.id, profile: @invalid_attrs }
|
508
500
|
response.should redirect_to(new_user_session_url)
|
509
501
|
end
|
@@ -511,86 +503,89 @@ describe ProfilesController do
|
|
511
503
|
end
|
512
504
|
end
|
513
505
|
|
514
|
-
describe
|
515
|
-
|
506
|
+
describe 'DELETE destroy' do
|
507
|
+
before(:each) do
|
508
|
+
@profile = FactoryBot.create(:profile)
|
509
|
+
end
|
510
|
+
|
511
|
+
describe 'When logged in as Administrator' do
|
516
512
|
login_fixture_admin
|
517
513
|
|
518
|
-
it
|
519
|
-
delete :destroy, params: { id:
|
514
|
+
it 'destroys the requested user' do
|
515
|
+
delete :destroy, params: { id: @profile.id }
|
520
516
|
end
|
521
517
|
|
522
|
-
it
|
523
|
-
delete :destroy, params: { id:
|
518
|
+
it 'redirects to the profiles list' do
|
519
|
+
delete :destroy, params: { id: @profile.id }
|
524
520
|
response.should redirect_to(profiles_url)
|
525
521
|
end
|
526
522
|
|
527
|
-
it
|
528
|
-
delete :destroy, params: { id:
|
523
|
+
it 'should destroy librarian' do
|
524
|
+
delete :destroy, params: { id: FactoryBot.create(:librarian).profile.id }
|
529
525
|
response.should redirect_to(profiles_url)
|
530
526
|
end
|
531
527
|
end
|
532
528
|
|
533
|
-
describe
|
529
|
+
describe 'When logged in as Librarian' do
|
534
530
|
login_fixture_librarian
|
535
531
|
|
536
|
-
it
|
537
|
-
delete :destroy, params: { id:
|
532
|
+
it 'destroys the requested user' do
|
533
|
+
delete :destroy, params: { id: @profile.id }
|
538
534
|
response.should redirect_to(profiles_url)
|
539
535
|
end
|
540
536
|
|
541
|
-
it
|
542
|
-
delete :destroy, params: { id:
|
537
|
+
it 'redirects to the profiles list' do
|
538
|
+
delete :destroy, params: { id: @profile.id }
|
543
539
|
response.should redirect_to(profiles_url)
|
544
540
|
end
|
545
541
|
|
546
|
-
it
|
547
|
-
delete :destroy, params: { id:
|
542
|
+
it 'should not destroy librarian' do
|
543
|
+
delete :destroy, params: { id: FactoryBot.create(:librarian_profile).id }
|
548
544
|
response.should be_forbidden
|
549
545
|
end
|
550
546
|
|
551
|
-
it
|
547
|
+
it 'should not destroy admin' do
|
552
548
|
delete :destroy, params: { id: profiles(:admin).id }
|
553
549
|
response.should be_forbidden
|
554
550
|
end
|
555
551
|
|
556
|
-
it
|
552
|
+
it 'should not destroy myself' do
|
557
553
|
delete :destroy, params: { id: profiles(:librarian1).id }
|
558
554
|
response.should be_forbidden
|
559
555
|
end
|
560
556
|
|
561
|
-
it
|
562
|
-
|
563
|
-
delete :destroy, params: { id: librarian.id }
|
557
|
+
it 'should not be able to delete other librarian user' do
|
558
|
+
delete :destroy, params: { id: FactoryBot.create(:librarian_profile).id }
|
564
559
|
response.should be_forbidden
|
565
560
|
end
|
566
561
|
end
|
567
562
|
|
568
|
-
describe
|
563
|
+
describe 'When logged in as User' do
|
569
564
|
login_fixture_user
|
570
565
|
|
571
|
-
it
|
572
|
-
delete :destroy, params: { id:
|
566
|
+
it 'destroys the requested user' do
|
567
|
+
delete :destroy, params: { id: @profile.id }
|
573
568
|
end
|
574
569
|
|
575
|
-
it
|
576
|
-
delete :destroy, params: { id:
|
570
|
+
it 'should be forbidden' do
|
571
|
+
delete :destroy, params: { id: @profile.id }
|
577
572
|
response.should be_forbidden
|
578
573
|
end
|
579
574
|
|
580
|
-
it
|
575
|
+
it 'should not destroy myself' do
|
581
576
|
delete :destroy, params: { id: profiles(:user1).id }
|
582
577
|
response.should be_forbidden
|
583
578
|
end
|
584
579
|
end
|
585
580
|
|
586
|
-
describe
|
587
|
-
it
|
588
|
-
delete :destroy, params: { id:
|
581
|
+
describe 'When not logged in' do
|
582
|
+
it 'destroys the requested user' do
|
583
|
+
delete :destroy, params: { id: @profile.id }
|
589
584
|
response.should redirect_to(new_user_session_url)
|
590
585
|
end
|
591
586
|
|
592
|
-
it
|
593
|
-
delete :destroy, params: { id:
|
587
|
+
it 'should be forbidden' do
|
588
|
+
delete :destroy, params: { id: @profile.id }
|
594
589
|
response.should redirect_to(new_user_session_url)
|
595
590
|
end
|
596
591
|
end
|