enju_seed 0.2.3 → 0.3.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 +4 -4
- data/Rakefile +17 -8
- data/app/assets/config/enju_seed_manifest.js +0 -0
- data/app/controllers/my_accounts_controller.rb +14 -13
- data/app/controllers/profiles_controller.rb +30 -29
- data/app/controllers/roles_controller.rb +2 -1
- data/app/models/concerns/enju_seed/enju_user.rb +22 -26
- data/app/models/concerns/master_model.rb +5 -6
- data/app/models/identity.rb +1 -1
- data/app/models/profile.rb +3 -3
- data/app/models/role.rb +2 -1
- data/app/models/user_has_role.rb +2 -2
- data/app/views/my_accounts/_edit_credential.html.slim +63 -0
- data/app/views/my_accounts/_form.html.slim +20 -0
- data/app/views/my_accounts/_show.html.slim +1 -0
- data/app/views/my_accounts/edit.html.slim +30 -0
- data/app/views/my_accounts/show.html+phone.slim +1 -0
- data/app/views/my_accounts/show.html.slim +57 -0
- data/app/views/profiles/_edit_credential.html.slim +67 -0
- data/app/views/profiles/_edit_profile.html.slim +40 -0
- data/app/views/profiles/_form.html.slim +12 -0
- data/app/views/profiles/_show.html.slim +1 -0
- data/app/views/profiles/edit.html.slim +30 -0
- data/app/views/profiles/index.html.slim +61 -0
- data/app/views/profiles/new.html.slim +65 -0
- data/app/views/profiles/show.html+phone.slim +1 -0
- data/app/views/profiles/show.html.slim +67 -0
- data/app/views/roles/_form.html.slim +16 -0
- data/app/views/roles/edit.html.slim +15 -0
- data/app/views/roles/index.html.slim +27 -0
- data/app/views/roles/new.html.slim +13 -0
- data/app/views/roles/show.html.slim +46 -0
- data/db/migrate/041_create_roles.rb +3 -3
- data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +3 -3
- data/lib/enju_seed.rb +2 -3
- data/lib/enju_seed/engine.rb +1 -2
- data/lib/enju_seed/localized_name.rb +1 -3
- data/lib/enju_seed/version.rb +1 -1
- data/spec/controllers/my_accounts_controller_spec.rb +79 -79
- data/spec/controllers/profiles_controller_spec.rb +210 -210
- data/spec/controllers/roles_controller_spec.rb +47 -47
- data/spec/dummy/app/helpers/application_helper.rb +1 -1
- data/spec/dummy/app/models/user.rb +2 -2
- data/spec/dummy/bin/setup +8 -8
- data/spec/dummy/config/application.rb +2 -18
- data/spec/dummy/config/database.yml +70 -10
- data/spec/dummy/config/environment.rb +1 -1
- data/spec/dummy/config/environments/development.rb +24 -11
- data/spec/dummy/config/environments/production.rb +24 -17
- data/spec/dummy/config/environments/test.rb +6 -6
- data/spec/dummy/config/initializers/assets.rb +1 -1
- data/spec/dummy/config/initializers/friendly_id.rb +75 -75
- data/spec/dummy/db/migrate/001_create_agents.rb +6 -6
- data/spec/dummy/db/migrate/002_devise_create_users.rb +5 -6
- data/spec/dummy/db/migrate/005_create_manifestations.rb +12 -12
- data/spec/dummy/db/migrate/006_create_items.rb +5 -5
- data/spec/dummy/db/migrate/012_create_owns.rb +2 -2
- data/spec/dummy/db/migrate/015_create_creates.rb +2 -2
- data/spec/dummy/db/migrate/032_create_checkins.rb +1 -1
- data/spec/dummy/db/migrate/033_create_checkouts.rb +4 -4
- data/spec/dummy/db/migrate/035_create_reserves.rb +5 -5
- data/spec/dummy/db/migrate/047_create_produces.rb +2 -2
- data/spec/dummy/db/migrate/059_create_libraries.rb +6 -4
- data/spec/dummy/db/migrate/069_create_shelves.rb +2 -1
- data/spec/dummy/db/migrate/073_create_carrier_types.rb +1 -1
- data/spec/dummy/db/migrate/077_create_user_groups.rb +1 -1
- data/spec/dummy/db/migrate/080_create_library_groups.rb +2 -1
- data/spec/dummy/db/migrate/112_create_frequencies.rb +1 -1
- data/spec/dummy/db/migrate/117_create_form_of_works.rb +1 -1
- data/spec/dummy/db/migrate/120_create_baskets.rb +2 -1
- data/spec/dummy/db/migrate/121_create_checked_items.rb +3 -3
- data/spec/dummy/db/migrate/124_create_bookstores.rb +1 -1
- data/spec/dummy/db/migrate/125_create_donates.rb +2 -2
- data/spec/dummy/db/migrate/127_create_use_restrictions.rb +1 -1
- data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +2 -2
- data/spec/dummy/db/migrate/130_create_request_status_types.rb +1 -1
- data/spec/dummy/db/migrate/131_create_request_types.rb +1 -1
- data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +1 -1
- data/spec/dummy/db/migrate/133_create_agent_merges.rb +1 -1
- data/spec/dummy/db/migrate/149_create_message_templates.rb +5 -5
- data/spec/dummy/db/migrate/154_create_messages.rb +2 -2
- data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +2 -2
- data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +13 -0
- data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +1 -1
- data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +5 -2
- data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +2 -1
- data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +5 -5
- data/spec/dummy/db/migrate/20081025083323_create_countries.rb +8 -9
- data/spec/dummy/db/migrate/20081025083905_create_languages.rb +5 -6
- data/spec/dummy/db/migrate/20081027150907_create_picture_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 +8 -8
- data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +3 -3
- data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +4 -4
- data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +3 -3
- data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +3 -3
- data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +2 -2
- data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +1 -1
- data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +1 -1
- data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +1 -1
- data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +6 -6
- data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +1 -1
- data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +1 -1
- data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.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 +3 -3
- data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +0 -1
- data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +0 -1
- data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +0 -1
- data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +1 -2
- data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +6 -3
- data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +1 -1
- data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +2 -2
- data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +2 -2
- 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/20140518050147_create_reserve_transitions.rb +2 -2
- data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +2 -2
- data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +4 -4
- 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 -3
- data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +3 -3
- data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +4 -4
- data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +4 -4
- data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +0 -1
- data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +4 -4
- data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +0 -1
- data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +4 -4
- 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/20140821151023_create_colors.rb +3 -1
- data/spec/dummy/db/migrate/20141029131633_create_periodicals.rb +11 -0
- data/spec/dummy/db/migrate/20150124152756_add_foreign_key_to_shelves_referencing_libraries.rb +6 -0
- data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +1 -1
- 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 +5 -3
- data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +2 -4
- data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +2 -19
- data/spec/dummy/db/migrate/20151216123621_create_doi_records.rb +12 -0
- data/spec/dummy/db/migrate/20160319144230_create_issn_records.rb +12 -0
- data/spec/dummy/db/migrate/20160506144040_create_isbn_records.rb +12 -0
- data/spec/dummy/db/migrate/20160513000929_create_agent_names.rb +18 -0
- data/spec/dummy/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +9 -0
- data/spec/dummy/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +9 -0
- data/spec/dummy/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +9 -0
- data/spec/dummy/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +9 -0
- 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/schema.rb +1418 -1402
- data/spec/factories/profile.rb +10 -10
- data/spec/factories/user.rb +10 -10
- data/spec/factories/user_group.rb +2 -2
- data/spec/fixtures/library_groups.yml +1 -0
- data/spec/models/profile_spec.rb +20 -19
- data/spec/models/role_spec.rb +7 -7
- data/spec/models/user_has_role_spec.rb +1 -2
- data/spec/models/user_spec.rb +25 -26
- data/spec/rails_helper.rb +7 -6
- 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 +9 -9
- 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 +3 -3
- metadata +323 -323
- data/app/views/my_accounts/_edit_credential.html.erb +0 -99
- data/app/views/my_accounts/_form.html.erb +0 -24
- data/app/views/my_accounts/_show.html.erb +0 -1
- data/app/views/my_accounts/edit.html.erb +0 -32
- data/app/views/my_accounts/show.html.erb +0 -49
- data/app/views/profiles/_edit_profile.html.erb +0 -42
- data/app/views/profiles/_form.html.erb +0 -15
- data/app/views/profiles/_show.html.erb +0 -1
- data/app/views/profiles/edit.html.erb +0 -33
- data/app/views/profiles/index.html.erb +0 -70
- data/app/views/profiles/new.html.erb +0 -88
- data/app/views/profiles/show.html+phone.erb +0 -1
- data/app/views/profiles/show.html.erb +0 -67
- data/app/views/roles/_form.html.erb +0 -19
- data/app/views/roles/edit.html.erb +0 -13
- data/app/views/roles/index.html.erb +0 -32
- data/app/views/roles/new.html.erb +0 -12
- data/app/views/roles/show.html.erb +0 -46
- data/lib/generators/enju_seed/update/update_generator.rb +0 -9
- 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/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
@@ -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,26 +15,26 @@ 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
|
29
|
-
get :index, :query
|
28
|
+
it 'should get index with query' do
|
29
|
+
get :index, params: { query: 'user1' }
|
30
30
|
response.should be_success
|
31
31
|
Sunspot.session.should be_a_search_for(Profile)
|
32
32
|
Sunspot.session.should have_search_params(:fulltext, 'user1')
|
33
33
|
assigns(:profiles).should_not be_nil
|
34
34
|
end
|
35
35
|
|
36
|
-
it
|
37
|
-
get :index, :query
|
36
|
+
it 'should get sorted index' do
|
37
|
+
get :index, params: { query: 'user1', sort_by: 'username', order: 'desc' }
|
38
38
|
response.should be_success
|
39
39
|
Sunspot.session.should be_a_search_for(Profile)
|
40
40
|
Sunspot.session.should have_search_params(:fulltext, 'user1')
|
@@ -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,102 +62,102 @@ 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
|
70
|
-
get :show, id: profiles(:admin).id
|
69
|
+
it 'assigns the requested user as @profile' do
|
70
|
+
get :show, params: { id: profiles(:admin).id }
|
71
71
|
assigns(:profile).should eq(profiles(:admin))
|
72
72
|
end
|
73
|
-
it
|
74
|
-
admin_profile =
|
75
|
-
get :show, id: admin_profile.id
|
73
|
+
it 'assigns the another requested user as @profile' do
|
74
|
+
admin_profile = FactoryGirl.create :admin_profile
|
75
|
+
get :show, params: { id: admin_profile.id }
|
76
76
|
expect(response).not_to be_forbidden
|
77
77
|
expect(assigns(:profile)).to eq admin_profile
|
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
|
85
|
-
get :show, id: profiles(:librarian1).id
|
84
|
+
it 'assigns the requested user as @profile' do
|
85
|
+
get :show, params: { id: profiles(:librarian1).id }
|
86
86
|
assigns(:profile).should eq(profiles(:librarian1))
|
87
87
|
end
|
88
|
-
it
|
89
|
-
admin =
|
90
|
-
get :show, id: admin.id
|
88
|
+
it 'should not assign the requested user as @admin' do
|
89
|
+
admin = FactoryGirl.create(:admin_profile)
|
90
|
+
get :show, params: { id: admin.id }
|
91
91
|
response.should be_forbidden
|
92
92
|
end
|
93
|
-
it
|
94
|
-
librarian =
|
95
|
-
get :show, id: librarian.id
|
93
|
+
it 'should assign the requested user as @librarian' do
|
94
|
+
librarian = FactoryGirl.create(:librarian_profile)
|
95
|
+
get :show, params: { id: librarian.id }
|
96
96
|
response.should_not be_forbidden
|
97
97
|
assigns(:profile).should eq librarian
|
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
|
105
|
-
get :show, id: profiles(:user1).id
|
104
|
+
it 'assigns the requested user as @profile' do
|
105
|
+
get :show, params: { id: profiles(:user1).id }
|
106
106
|
assigns(:profile).should eq(profiles(:user1))
|
107
107
|
end
|
108
108
|
|
109
|
-
it
|
110
|
-
get :show, id: profiles(:user1).id
|
109
|
+
it 'should redirect to my user account' do
|
110
|
+
get :show, params: { id: profiles(:user1).id }
|
111
111
|
assert_redirected_to my_account_url
|
112
112
|
end
|
113
113
|
|
114
114
|
it "should show other user's account" do
|
115
|
-
get :show, id: profiles(:admin).id
|
115
|
+
get :show, params: { id: profiles(:admin).id }
|
116
116
|
assigns(:profile).should eq(profiles(:admin))
|
117
117
|
response.should be_forbidden
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
describe
|
122
|
-
it
|
123
|
-
get :show, id: profiles(:admin).id
|
121
|
+
describe 'When not logged in' do
|
122
|
+
it 'assigns the requested user as @profile' do
|
123
|
+
get :show, params: { id: profiles(:admin).id }
|
124
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,424 +165,424 @@ 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
|
173
|
-
profile =
|
174
|
-
get :edit, id: profile.id
|
172
|
+
it 'assigns the requested user as @profile' do
|
173
|
+
profile = FactoryGirl.create(:profile)
|
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
|
183
|
-
profile =
|
184
|
-
get :edit, id: profile.id
|
182
|
+
it 'should assign the requested user as @profile' do
|
183
|
+
profile = FactoryGirl.create(:profile)
|
184
|
+
get :edit, params: { id: profile.id }
|
185
185
|
assigns(:profile).should eq(profile)
|
186
186
|
end
|
187
|
-
it
|
188
|
-
admin =
|
189
|
-
get :edit, id: admin.id
|
187
|
+
it 'should not get edit page for admin required user' do
|
188
|
+
admin = FactoryGirl.create(:admin_profile)
|
189
|
+
get :edit, params: { id: admin.id }
|
190
190
|
response.should be_forbidden
|
191
|
-
#assigns(:profile).should_not eq(admin)
|
191
|
+
# assigns(:profile).should_not eq(admin)
|
192
192
|
end
|
193
|
-
it
|
194
|
-
librarian =
|
195
|
-
get :edit, id: librarian.id
|
193
|
+
it 'should get edit page for other librarian user' do
|
194
|
+
librarian = FactoryGirl.create(:librarian_profile)
|
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
|
201
|
-
admin =
|
202
|
-
get :edit, id: admin.id
|
200
|
+
it 'should get edit page for other librarian user' do
|
201
|
+
admin = FactoryGirl.create(:admin_profile, required_role_id: Role.where(name: 'Librarian').first.id)
|
202
|
+
get :edit, params: { id: admin.id }
|
203
203
|
response.should be_forbidden
|
204
204
|
assigns(:profile).should eq admin
|
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
|
212
|
-
profile =
|
213
|
-
get :edit, id: profile.id
|
211
|
+
it 'should not assign the requested user as @profile' do
|
212
|
+
profile = FactoryGirl.create(:profile)
|
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
|
219
|
-
get :edit, id: profiles(:user1).id
|
218
|
+
it 'should edit myself' do
|
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
|
226
|
-
profile =
|
227
|
-
get :edit, id: profile.id
|
224
|
+
describe 'When not logged in' do
|
225
|
+
it 'should not assign the requested user as @profile' do
|
226
|
+
profile = FactoryGirl.create(:profile)
|
227
|
+
get :edit, params: { id: profile.id }
|
228
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
|
-
@attrs =
|
237
|
-
@invalid_attrs = {:
|
236
|
+
@attrs = FactoryGirl.attributes_for(:profile)
|
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
|
245
|
-
post :create, profile: @attrs
|
243
|
+
describe 'with valid params' do
|
244
|
+
it 'assigns a newly created user as @profile' do
|
245
|
+
post :create, params: { profile: @attrs }
|
246
246
|
assigns(:profile).should be_valid
|
247
247
|
end
|
248
248
|
|
249
|
-
it
|
250
|
-
post :create, profile: @attrs
|
249
|
+
it 'redirects to the created user' do
|
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
|
257
|
-
post :create, profile: @invalid_attrs
|
255
|
+
describe 'with invalid params' do
|
256
|
+
it 'assigns a newly created but unsaved user as @profile' do
|
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
|
-
post :create, profile: @invalid_attrs
|
263
|
-
response.should render_template(
|
262
|
+
post :create, params: { profile: @invalid_attrs }
|
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
|
273
|
-
post :create, profile: @attrs
|
271
|
+
describe 'with valid params' do
|
272
|
+
it 'assigns a newly created user as @profile' do
|
273
|
+
post :create, params: { profile: @attrs }
|
274
274
|
assigns(:profile).should be_valid
|
275
275
|
end
|
276
276
|
|
277
|
-
it
|
278
|
-
post :create, profile: @attrs
|
277
|
+
it 'redirects to the created user' do
|
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
|
285
|
-
post :create, profile: @invalid_attrs
|
283
|
+
describe 'with invalid params' do
|
284
|
+
it 'assigns a newly created but unsaved user as @profile' do
|
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
|
-
post :create, profile: @invalid_attrs
|
291
|
-
response.should render_template(
|
290
|
+
post :create, params: { profile: @invalid_attrs }
|
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
|
300
|
-
post :create, profile: { :
|
299
|
+
it 'should not create user' do
|
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
|
308
|
-
post :create, profile: { :
|
306
|
+
describe 'When not logged in' do
|
307
|
+
it 'should not create user' do
|
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 = {:
|
318
|
-
@invalid_attrs = {:
|
317
|
+
@attrs = { user_group_id: '3', locale: 'en' }
|
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
|
326
|
-
put :update, id: @profile.id, profile: @attrs
|
324
|
+
describe 'with valid params' do
|
325
|
+
it 'updates the requested user' do
|
326
|
+
put :update, params: { id: @profile.id, profile: @attrs }
|
327
327
|
end
|
328
328
|
|
329
|
-
it
|
330
|
-
put :update, id: @profile.id, profile: @attrs
|
329
|
+
it 'assigns the requested user as @profile' do
|
330
|
+
put :update, params: { id: @profile.id, profile: @attrs }
|
331
331
|
assigns(:profile).should eq(@profile)
|
332
332
|
end
|
333
333
|
|
334
|
-
it
|
335
|
-
put :update, id: @profile.id, profile: @attrs
|
334
|
+
it 'redirects to the user' do
|
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
|
343
|
-
put :update, id: @profile.id, profile: @invalid_attrs
|
341
|
+
describe 'with invalid params' do
|
342
|
+
it 'assigns the requested user as @profile' do
|
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
|
-
put :update, id: @profile, profile: @invalid_attrs
|
349
|
-
response.should render_template(
|
348
|
+
put :update, params: { id: @profile, profile: @invalid_attrs }
|
349
|
+
response.should render_template('edit')
|
350
350
|
end
|
351
351
|
end
|
352
352
|
|
353
353
|
it "should update other user's role" do
|
354
|
-
put :update, id: profiles(:user1).id, profile: {:
|
354
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_attributes: { user_has_role_attributes: { role_id: 4 }, email: profiles(:user1).user.email, locale: 'en', id: profiles(:user1).user.id } } }
|
355
355
|
response.should redirect_to profile_url(assigns(:profile))
|
356
356
|
assigns(:profile).reload
|
357
357
|
assigns(:profile).user.role.should eq Role.where(name: 'Administrator').first
|
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
|
366
|
-
put :update, id: @profile.id, profile: @attrs
|
364
|
+
describe 'with valid params' do
|
365
|
+
it 'updates the requested user' do
|
366
|
+
put :update, params: { id: @profile.id, profile: @attrs }
|
367
367
|
end
|
368
368
|
|
369
|
-
it
|
370
|
-
put :update, id: @profile.id, profile: @attrs
|
369
|
+
it 'assigns the requested user as @profile' do
|
370
|
+
put :update, params: { id: @profile.id, profile: @attrs }
|
371
371
|
assigns(:profile).should eq(@profile)
|
372
372
|
end
|
373
373
|
|
374
|
-
it
|
375
|
-
put :update, id: @profile.id, profile: @attrs
|
374
|
+
it 'redirects to the user' do
|
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
|
383
|
-
put :update, id: @profile, profile: @invalid_attrs
|
381
|
+
describe 'with invalid params' do
|
382
|
+
it 'assigns the user as @profile' do
|
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
|
-
put :update, id: @profile, profile: @invalid_attrs
|
389
|
-
response.should render_template(
|
388
|
+
put :update, params: { id: @profile, profile: @invalid_attrs }
|
389
|
+
response.should render_template('edit')
|
390
390
|
end
|
391
391
|
end
|
392
392
|
|
393
|
-
it
|
394
|
-
put :update, id: profiles(:user1).id, profile: {:
|
393
|
+
it 'should update other user' do
|
394
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_number: '00003', locale: 'en', user_group_id: 3, library_id: 3, note: 'test' } }
|
395
395
|
response.should redirect_to profile_url(assigns(:profile))
|
396
396
|
end
|
397
397
|
|
398
|
-
it
|
399
|
-
put :update, id: profiles(:admin).id, profile: {:
|
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: 3, library_id: 3, 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, id: profiles(:user1).id, profile: {:
|
404
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_group_id: 3, library_id: 3, locale: 'en' } }
|
405
405
|
response.should redirect_to profile_url(assigns(:profile))
|
406
406
|
assigns(:profile).user_group_id.should eq 3
|
407
407
|
end
|
408
408
|
|
409
409
|
it "should update other user's note" do
|
410
|
-
put :update, id: profiles(:user1).id, profile: {:
|
410
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_group_id: 3, library_id: 3, 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
|
414
414
|
|
415
415
|
it "should update other user's locked status" do
|
416
|
-
put :update, id: profiles(:user1).id, profile: {:
|
416
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_attributes: { id: 3, locked: '1', username: 'user1' } } }
|
417
417
|
response.should redirect_to profile_url(assigns(:profile))
|
418
418
|
assigns(:profile).user.locked_at.should be_truthy
|
419
419
|
assigns(:profile).user.access_locked?.should be_truthy
|
420
420
|
end
|
421
421
|
end
|
422
422
|
|
423
|
-
describe
|
423
|
+
describe 'When logged in as User' do
|
424
424
|
login_fixture_user
|
425
425
|
|
426
|
-
describe
|
427
|
-
it
|
428
|
-
put :update, id: @profile.id, profile: @attrs
|
426
|
+
describe 'with valid params' do
|
427
|
+
it 'updates the requested user' do
|
428
|
+
put :update, params: { id: @profile.id, profile: @attrs }
|
429
429
|
end
|
430
430
|
|
431
|
-
it
|
432
|
-
put :update, id: @profile.id, profile: @attrs
|
431
|
+
it 'assigns the requested user as @profile' do
|
432
|
+
put :update, params: { id: @profile.id, profile: @attrs }
|
433
433
|
assigns(:profile).should be_valid
|
434
434
|
response.should redirect_to profile_url(assigns(:profile))
|
435
435
|
end
|
436
436
|
end
|
437
437
|
|
438
|
-
describe
|
439
|
-
it
|
440
|
-
put :update, id: @profile.id, profile: @invalid_attrs
|
441
|
-
#assigns(:profile).should_not be_valid
|
442
|
-
#response.should be_success
|
438
|
+
describe 'with invalid params' do
|
439
|
+
it 'assigns the requested user as @profile' do
|
440
|
+
put :update, params: { id: @profile.id, profile: @invalid_attrs }
|
441
|
+
# assigns(:profile).should_not be_valid
|
442
|
+
# response.should be_success
|
443
443
|
assigns(:profile).should be_valid
|
444
444
|
response.should redirect_to profile_url(assigns(:profile))
|
445
445
|
end
|
446
446
|
end
|
447
447
|
|
448
|
-
it
|
449
|
-
put :update, id: profiles(:user1).id, profile: {keyword_list: 'test'}
|
448
|
+
it 'should update myself' do
|
449
|
+
put :update, params: { id: profiles(:user1).id, profile: { keyword_list: 'test' } }
|
450
450
|
response.should redirect_to profile_url(assigns(:profile))
|
451
451
|
end
|
452
452
|
|
453
|
-
it
|
454
|
-
put :update, id: profiles(:user1).id, profile: {:
|
453
|
+
it 'should not update my role' do
|
454
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_has_role_attributes: { role_id: 4 } } }
|
455
455
|
response.should redirect_to profile_url(assigns(:profile))
|
456
456
|
assigns(:profile).user.role.should_not eq Role.where(name: 'Administrator').first
|
457
457
|
end
|
458
458
|
|
459
|
-
it
|
460
|
-
put :update, id: profiles(:user1).id, profile: {:
|
459
|
+
it 'should not update my user_group' do
|
460
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_group_id: 3, library_id: 3 } }
|
461
461
|
response.should redirect_to profile_url(assigns(:profile))
|
462
462
|
assigns(:profile).user_group_id.should eq 1
|
463
463
|
end
|
464
464
|
|
465
|
-
it
|
466
|
-
put :update, id: profiles(:user1).id, profile: {:
|
465
|
+
it 'should not update my note' do
|
466
|
+
put :update, params: { id: profiles(:user1).id, profile: { user_group_id: 3, library_id: 3, note: 'test' } }
|
467
467
|
response.should redirect_to profile_url(assigns(:profile))
|
468
468
|
assigns(:profile).note.should be_nil
|
469
469
|
end
|
470
470
|
|
471
|
-
it
|
472
|
-
put :update, id: profiles(:user1).id, profile: {:
|
471
|
+
it 'should update my keyword_list' do
|
472
|
+
put :update, params: { id: profiles(:user1).id, profile: { keyword_list: 'test' } }
|
473
473
|
response.should redirect_to profile_url(assigns(:profile))
|
474
474
|
assigns(:profile).keyword_list.should eq 'test'
|
475
475
|
assigns(:profile).user.role.name.should eq 'User'
|
476
476
|
end
|
477
477
|
|
478
|
-
it
|
479
|
-
put :update, id: profiles(:user2).id, profile: { }
|
478
|
+
it 'should not update other user' do
|
479
|
+
put :update, params: { id: profiles(:user2).id, profile: {} }
|
480
480
|
assigns(:profile).should be_valid
|
481
481
|
response.should be_forbidden
|
482
482
|
end
|
483
483
|
end
|
484
484
|
|
485
|
-
describe
|
486
|
-
describe
|
487
|
-
it
|
488
|
-
put :update, id: @profile.id, profile: @attrs
|
485
|
+
describe 'When not logged in' do
|
486
|
+
describe 'with valid params' do
|
487
|
+
it 'updates the requested user' do
|
488
|
+
put :update, params: { id: @profile.id, profile: @attrs }
|
489
489
|
end
|
490
490
|
|
491
|
-
it
|
492
|
-
put :update, id: @profile.id, profile: @attrs
|
491
|
+
it 'should be forbidden' do
|
492
|
+
put :update, params: { id: @profile.id, profile: @attrs }
|
493
493
|
response.should redirect_to(new_user_session_url)
|
494
494
|
end
|
495
495
|
end
|
496
496
|
|
497
|
-
describe
|
498
|
-
it
|
499
|
-
put :update, id: @profile.id, profile: @invalid_attrs
|
497
|
+
describe 'with invalid params' do
|
498
|
+
it 'assigns the requested user as @profile' do
|
499
|
+
put :update, params: { id: @profile.id, profile: @invalid_attrs }
|
500
500
|
response.should redirect_to(new_user_session_url)
|
501
501
|
end
|
502
502
|
end
|
503
503
|
end
|
504
504
|
end
|
505
505
|
|
506
|
-
describe
|
507
|
-
describe
|
506
|
+
describe 'DELETE destroy' do
|
507
|
+
describe 'When logged in as Administrator' do
|
508
508
|
login_fixture_admin
|
509
509
|
|
510
|
-
it
|
511
|
-
delete :destroy, id: profiles(:user2).id
|
510
|
+
it 'destroys the requested user' do
|
511
|
+
delete :destroy, params: { id: profiles(:user2).id }
|
512
512
|
end
|
513
513
|
|
514
|
-
it
|
515
|
-
delete :destroy, id: profiles(:user2).id
|
514
|
+
it 'redirects to the profiles list' do
|
515
|
+
delete :destroy, params: { id: profiles(:user2).id }
|
516
516
|
response.should redirect_to(profiles_url)
|
517
517
|
end
|
518
518
|
|
519
|
-
it
|
520
|
-
delete :destroy, id: profiles(:librarian2).id
|
519
|
+
it 'should destroy librarian' do
|
520
|
+
delete :destroy, params: { id: profiles(:librarian2).id }
|
521
521
|
response.should redirect_to(profiles_url)
|
522
522
|
end
|
523
523
|
end
|
524
524
|
|
525
|
-
describe
|
525
|
+
describe 'When logged in as Librarian' do
|
526
526
|
login_fixture_librarian
|
527
527
|
|
528
|
-
it
|
529
|
-
delete :destroy, id: profiles(:user2).id
|
528
|
+
it 'destroys the requested user' do
|
529
|
+
delete :destroy, params: { id: profiles(:user2).id }
|
530
530
|
response.should redirect_to(profiles_url)
|
531
531
|
end
|
532
532
|
|
533
|
-
it
|
534
|
-
delete :destroy, id: profiles(:user2).id
|
533
|
+
it 'redirects to the profiles list' do
|
534
|
+
delete :destroy, params: { id: profiles(:user2).id }
|
535
535
|
response.should redirect_to(profiles_url)
|
536
536
|
end
|
537
537
|
|
538
|
-
it
|
539
|
-
delete :destroy, id: profiles(:librarian2).id
|
538
|
+
it 'should not destroy librarian' do
|
539
|
+
delete :destroy, params: { id: profiles(:librarian2).id }
|
540
540
|
response.should be_forbidden
|
541
541
|
end
|
542
542
|
|
543
|
-
it
|
544
|
-
delete :destroy, id: profiles(:admin).id
|
543
|
+
it 'should not destroy admin' do
|
544
|
+
delete :destroy, params: { id: profiles(:admin).id }
|
545
545
|
response.should be_forbidden
|
546
546
|
end
|
547
547
|
|
548
|
-
it
|
549
|
-
delete :destroy, id: profiles(:librarian1).id
|
548
|
+
it 'should not destroy myself' do
|
549
|
+
delete :destroy, params: { id: profiles(:librarian1).id }
|
550
550
|
response.should be_forbidden
|
551
551
|
end
|
552
552
|
|
553
|
-
it
|
554
|
-
librarian =
|
555
|
-
delete :destroy, id: librarian.id
|
553
|
+
it 'should not be able to delete other librarian user' do
|
554
|
+
librarian = FactoryGirl.create(:librarian_profile)
|
555
|
+
delete :destroy, params: { id: librarian.id }
|
556
556
|
response.should be_forbidden
|
557
557
|
end
|
558
558
|
end
|
559
559
|
|
560
|
-
describe
|
560
|
+
describe 'When logged in as User' do
|
561
561
|
login_fixture_user
|
562
562
|
|
563
|
-
it
|
564
|
-
delete :destroy, id: profiles(:user2).id
|
563
|
+
it 'destroys the requested user' do
|
564
|
+
delete :destroy, params: { id: profiles(:user2).id }
|
565
565
|
end
|
566
566
|
|
567
|
-
it
|
568
|
-
delete :destroy, id: profiles(:user2).id
|
567
|
+
it 'should be forbidden' do
|
568
|
+
delete :destroy, params: { id: profiles(:user2).id }
|
569
569
|
response.should be_forbidden
|
570
570
|
end
|
571
571
|
|
572
|
-
it
|
573
|
-
delete :destroy, id: profiles(:user1).id
|
572
|
+
it 'should not destroy myself' do
|
573
|
+
delete :destroy, params: { id: profiles(:user1).id }
|
574
574
|
response.should be_forbidden
|
575
575
|
end
|
576
576
|
end
|
577
577
|
|
578
|
-
describe
|
579
|
-
it
|
580
|
-
delete :destroy, id: profiles(:user2).id
|
578
|
+
describe 'When not logged in' do
|
579
|
+
it 'destroys the requested user' do
|
580
|
+
delete :destroy, params: { id: profiles(:user2).id }
|
581
581
|
response.should redirect_to(new_user_session_url)
|
582
582
|
end
|
583
583
|
|
584
|
-
it
|
585
|
-
delete :destroy, id: profiles(:user2).id
|
584
|
+
it 'should be forbidden' do
|
585
|
+
delete :destroy, params: { id: profiles(:user2).id }
|
586
586
|
response.should redirect_to(new_user_session_url)
|
587
587
|
end
|
588
588
|
end
|