enju_leaf 1.1.0.rc19 → 1.1.0.rc20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/enju.css +1 -1
- data/app/controllers/page_controller.rb +12 -6
- data/app/controllers/profiles_controller.rb +1 -0
- data/app/controllers/roles_controller.rb +4 -1
- data/app/controllers/user_groups_controller.rb +2 -2
- data/app/controllers/user_import_files_controller.rb +1 -1
- data/app/models/enju_leaf/ability.rb +18 -2
- data/app/models/profile.rb +4 -0
- data/app/models/role.rb +0 -1
- data/app/models/user_group.rb +0 -1
- data/app/models/user_import_file.rb +19 -16
- data/app/models/user_import_result.rb +0 -1
- data/app/views/devise/passwords/new.html.erb +2 -3
- data/app/views/devise/registrations/edit.html.erb +4 -4
- data/app/views/my_accounts/edit.html.erb +1 -1
- data/app/views/my_accounts/show.html.erb +1 -1
- data/app/views/profiles/_edit_credential.html.erb +2 -2
- data/app/views/profiles/edit.html.erb +2 -4
- data/app/views/profiles/index.html.erb +1 -1
- data/app/views/user_export_files/_form.html.erb +0 -10
- data/config/locales/en.yml +1 -1
- data/config/locales/ja.yml +1 -1
- data/config/locales/translation_en.yml +2 -6
- data/config/locales/translation_ja.yml +2 -6
- data/lib/enju_leaf/user.rb +10 -7
- data/lib/enju_leaf/version.rb +1 -1
- data/spec/controllers/profiles_controller_spec.rb +41 -1
- data/spec/controllers/roles_controller_spec.rb +4 -4
- data/spec/controllers/user_export_files_controller_spec.rb +8 -8
- data/spec/controllers/user_groups_controller_spec.rb +4 -4
- data/spec/controllers/user_import_files_controller_spec.rb +11 -11
- data/spec/factories/checkout.rb +9 -0
- data/spec/factories/profile.rb +8 -0
- data/spec/factories/user.rb +3 -3
- data/spec/models/profile_spec.rb +7 -0
- data/spec/models/user_import_file_spec.rb +58 -3
- data/spec/spec_helper.rb +3 -0
- data/spec/views/profiles/edit.html.erb_spec.rb +24 -2
- data/spec/views/profiles/index.html.erb_spec.rb +5 -1
- data/spec/views/profiles/show.html.erb_spec.rb +16 -0
- data/spec/views/user_export_files/new.html.erb_spec.rb +19 -0
- metadata +37 -21
- data/app/views/profiles/_edit_credential.html.slim +0 -67
- data/app/views/profiles/_edit_profile.html.slim +0 -40
@@ -126,7 +126,7 @@ describe UserExportFilesController do
|
|
126
126
|
login_fixture_admin
|
127
127
|
|
128
128
|
it "should create agent_export_file" do
|
129
|
-
post :create, :
|
129
|
+
post :create, user_export_file: {mode: 'export'}
|
130
130
|
assigns(:user_export_file).should be_valid
|
131
131
|
assigns(:user_export_file).user.username.should eq @user.username
|
132
132
|
expect(response).to redirect_to user_export_file_url(assigns(:user_export_file))
|
@@ -137,7 +137,7 @@ describe UserExportFilesController do
|
|
137
137
|
login_fixture_librarian
|
138
138
|
|
139
139
|
it "should create agent_export_file" do
|
140
|
-
post :create, :
|
140
|
+
post :create, user_export_file: {mode: 'export'}
|
141
141
|
assigns(:user_export_file).should_not be_valid
|
142
142
|
assigns(:user_export_file).user.should be_nil
|
143
143
|
expect(response).to be_forbidden
|
@@ -148,7 +148,7 @@ describe UserExportFilesController do
|
|
148
148
|
login_fixture_user
|
149
149
|
|
150
150
|
it "should be forbidden" do
|
151
|
-
post :create, :
|
151
|
+
post :create, user_export_file: {mode: 'export'}
|
152
152
|
assigns(:user_export_file).user.should be_nil
|
153
153
|
expect(response).to be_forbidden
|
154
154
|
end
|
@@ -156,7 +156,7 @@ describe UserExportFilesController do
|
|
156
156
|
|
157
157
|
describe "When not logged in" do
|
158
158
|
it "should be redirected to new session url" do
|
159
|
-
post :create, :
|
159
|
+
post :create, user_export_file: {mode: 'export'}
|
160
160
|
assigns(:user_export_file).user.should be_nil
|
161
161
|
expect(response).to redirect_to new_user_session_url
|
162
162
|
end
|
@@ -208,7 +208,7 @@ describe UserExportFilesController do
|
|
208
208
|
login_fixture_admin
|
209
209
|
|
210
210
|
it "should update user_export_file" do
|
211
|
-
put :update, id: user_export_files(:user_export_file_00003).id, :
|
211
|
+
put :update, id: user_export_files(:user_export_file_00003).id, user_export_file: {mode: 'export'}
|
212
212
|
expect(response).to redirect_to user_export_file_url(assigns(:user_export_file))
|
213
213
|
end
|
214
214
|
end
|
@@ -217,7 +217,7 @@ describe UserExportFilesController do
|
|
217
217
|
login_fixture_librarian
|
218
218
|
|
219
219
|
it "should update user_export_file" do
|
220
|
-
put :update, id: user_export_files(:user_export_file_00003).id, :
|
220
|
+
put :update, id: user_export_files(:user_export_file_00003).id, user_export_file: {mode: 'export'}
|
221
221
|
expect(response).to be_forbidden
|
222
222
|
end
|
223
223
|
end
|
@@ -226,14 +226,14 @@ describe UserExportFilesController do
|
|
226
226
|
login_fixture_user
|
227
227
|
|
228
228
|
it "should not update user_export_file" do
|
229
|
-
put :update, id: user_export_files(:user_export_file_00003).id, :
|
229
|
+
put :update, id: user_export_files(:user_export_file_00003).id, user_export_file: {mode: 'export'}
|
230
230
|
expect(response).to be_forbidden
|
231
231
|
end
|
232
232
|
end
|
233
233
|
|
234
234
|
describe "When not logged in" do
|
235
235
|
it "should not update user_export_file" do
|
236
|
-
put :update, id: user_export_files(:user_export_file_00003).id, :
|
236
|
+
put :update, id: user_export_files(:user_export_file_00003).id, user_export_file: {mode: 'export'}
|
237
237
|
expect(response).to redirect_to new_user_session_url
|
238
238
|
end
|
239
239
|
end
|
@@ -17,7 +17,7 @@ describe UserGroupsController do
|
|
17
17
|
|
18
18
|
it "assigns all user_groups as @user_groups" do
|
19
19
|
get :index
|
20
|
-
assigns(:user_groups).should eq(UserGroup.
|
20
|
+
assigns(:user_groups).should eq(UserGroup.order(:position))
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
@@ -26,7 +26,7 @@ describe UserGroupsController do
|
|
26
26
|
|
27
27
|
it "assigns all user_groups as @user_groups" do
|
28
28
|
get :index
|
29
|
-
assigns(:user_groups).should eq(UserGroup.
|
29
|
+
assigns(:user_groups).should eq(UserGroup.order(:position))
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -35,14 +35,14 @@ describe UserGroupsController do
|
|
35
35
|
|
36
36
|
it "assigns all user_groups as @user_groups" do
|
37
37
|
get :index
|
38
|
-
assigns(:user_groups).should eq(UserGroup.
|
38
|
+
assigns(:user_groups).should eq(UserGroup.order(:position))
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
42
|
describe "When not logged in" do
|
43
43
|
it "assigns all user_groups as @user_groups" do
|
44
44
|
get :index
|
45
|
-
assigns(:user_groups).should eq(UserGroup.
|
45
|
+
assigns(:user_groups).should eq(UserGroup.order(:position))
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
@@ -9,7 +9,7 @@ describe UserImportFilesController do
|
|
9
9
|
|
10
10
|
it "assigns all user_import_files as @user_import_files" do
|
11
11
|
get :index
|
12
|
-
assigns(:user_import_files).should eq(UserImportFile.page(1))
|
12
|
+
assigns(:user_import_files).should eq(UserImportFile.order('id DESC').page(1))
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
@@ -18,7 +18,7 @@ describe UserImportFilesController do
|
|
18
18
|
|
19
19
|
it "assigns all user_import_files as @user_import_files" do
|
20
20
|
get :index
|
21
|
-
assigns(:user_import_files).should eq(UserImportFile.page(1))
|
21
|
+
assigns(:user_import_files).should eq(UserImportFile.order('id DESC').page(1))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -131,7 +131,7 @@ describe UserImportFilesController do
|
|
131
131
|
end
|
132
132
|
|
133
133
|
it "should create agent_import_file" do
|
134
|
-
post :create, :
|
134
|
+
post :create, user_import_file: {user_import: fixture_file_upload("/../../examples/user_import_file_sample.tsv", 'text/csv') }
|
135
135
|
assigns(:user_import_file).should be_valid
|
136
136
|
assigns(:user_import_file).user.username.should eq @user.username
|
137
137
|
expect(response).to redirect_to user_import_file_url(assigns(:user_import_file))
|
@@ -147,7 +147,7 @@ describe UserImportFilesController do
|
|
147
147
|
end
|
148
148
|
|
149
149
|
it "should be forbidden" do
|
150
|
-
post :create, :
|
150
|
+
post :create, user_import_file: {user_import: fixture_file_upload("/../../examples/user_import_file_sample.tsv", 'text/csv') }
|
151
151
|
assigns(:user_import_file).user.should be_nil
|
152
152
|
expect(response).to be_forbidden
|
153
153
|
end
|
@@ -155,7 +155,7 @@ describe UserImportFilesController do
|
|
155
155
|
|
156
156
|
describe "When not logged in" do
|
157
157
|
it "should be redirected to new session url" do
|
158
|
-
post :create, :
|
158
|
+
post :create, user_import_file: {user_import: fixture_file_upload("/../../examples/user_import_file_sample.tsv", 'text/csv') }
|
159
159
|
assigns(:user_import_file).user.should be_nil
|
160
160
|
expect(response).to redirect_to new_user_session_url
|
161
161
|
end
|
@@ -207,8 +207,8 @@ describe UserImportFilesController do
|
|
207
207
|
login_fixture_admin
|
208
208
|
|
209
209
|
it "should update user_import_file" do
|
210
|
-
post :create, :
|
211
|
-
put :update, id: assigns(:user_import_file).id, :
|
210
|
+
post :create, user_import_file: {user_import: fixture_file_upload("/../../examples/user_import_file_sample.tsv", 'text/csv') }
|
211
|
+
put :update, id: assigns(:user_import_file).id, user_import_file: { note: 'test' }
|
212
212
|
expect(response).to redirect_to user_import_file_url(assigns(:user_import_file))
|
213
213
|
end
|
214
214
|
end
|
@@ -217,8 +217,8 @@ describe UserImportFilesController do
|
|
217
217
|
login_fixture_librarian
|
218
218
|
|
219
219
|
it "should update user_import_file" do
|
220
|
-
post :create, :
|
221
|
-
put :update, id: assigns(:user_import_file).id, :
|
220
|
+
post :create, user_import_file: {user_import: fixture_file_upload("/../../examples/user_import_file_sample.tsv", 'text/csv') }
|
221
|
+
put :update, id: assigns(:user_import_file).id, user_import_file: { note: 'test' }
|
222
222
|
expect(response).to redirect_to user_import_file_url(assigns(:user_import_file))
|
223
223
|
end
|
224
224
|
end
|
@@ -227,14 +227,14 @@ describe UserImportFilesController do
|
|
227
227
|
login_fixture_user
|
228
228
|
|
229
229
|
it "should not update user_import_file" do
|
230
|
-
put :update, id: user_import_files(:two).id, :
|
230
|
+
put :update, id: user_import_files(:two).id, user_import_file: { }
|
231
231
|
expect(response).to be_forbidden
|
232
232
|
end
|
233
233
|
end
|
234
234
|
|
235
235
|
describe "When not logged in" do
|
236
236
|
it "should not update user_import_file" do
|
237
|
-
put :update, id: user_import_files(:two).id, :
|
237
|
+
put :update, id: user_import_files(:two).id, user_import_file: { }
|
238
238
|
expect(response).to redirect_to new_user_session_url
|
239
239
|
end
|
240
240
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :checkout, :class => Checkout do |f|
|
3
|
+
f.due_date Time.zone.now.next_week
|
4
|
+
f.association :item, factory: :item
|
5
|
+
f.association :user, factory: :user
|
6
|
+
f.association :librarian, factory: :librarian
|
7
|
+
f.association :basket, factory: :basket
|
8
|
+
end
|
9
|
+
end
|
data/spec/factories/profile.rb
CHANGED
@@ -5,5 +5,13 @@ FactoryGirl.define do
|
|
5
5
|
f.sequence(:user_number){|n| "user_number_#{n}"}
|
6
6
|
f.library_id 2
|
7
7
|
f.locale "ja"
|
8
|
+
factory :librarian_profile, :class => Profile do |f|
|
9
|
+
f.required_role_id {Role.where(name: 'Librarian').first.id}
|
10
|
+
f.association :user, factory: :librarian
|
11
|
+
end
|
12
|
+
factory :admin_profile, :class => Profile do |f|
|
13
|
+
f.required_role_id {Role.where(name: 'Administrator').first.id}
|
14
|
+
f.association :user, factory: :admin
|
15
|
+
end
|
8
16
|
end
|
9
17
|
end
|
data/spec/factories/user.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
FactoryGirl.define do
|
2
|
-
factory :admin, :
|
2
|
+
factory :admin, class: User do |f|
|
3
3
|
f.sequence(:username){|n| "admin_#{n}"}
|
4
4
|
f.sequence(:email){|n| "admin_#{n}@example.jp"}
|
5
5
|
f.password 'adminpassword'
|
@@ -12,7 +12,7 @@ FactoryGirl.define do
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
-
factory :librarian, :
|
15
|
+
factory :librarian, class: User do |f|
|
16
16
|
f.sequence(:username){|n| "librarian_#{n}"}
|
17
17
|
f.sequence(:email){|n| "librarian_#{n}@example.jp"}
|
18
18
|
f.password 'librarianpassword'
|
@@ -25,7 +25,7 @@ FactoryGirl.define do
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
factory :user, :
|
28
|
+
factory :user, class: User do |f|
|
29
29
|
f.sequence(:username){|n| "user_#{n}"}
|
30
30
|
f.sequence(:email){|n| "user_#{n}@example.jp"}
|
31
31
|
f.password 'userpassword'
|
data/spec/models/profile_spec.rb
CHANGED
@@ -32,6 +32,13 @@ describe Profile do
|
|
32
32
|
assert !profile.new_record?, "#{profile.errors.full_messages.to_sentence}"
|
33
33
|
end
|
34
34
|
|
35
|
+
it "should create profile with empty user_number" do
|
36
|
+
profile1 = FactoryGirl.create(:profile, user_number: "")
|
37
|
+
profile2 = FactoryGirl.create(:profile, user_number: "")
|
38
|
+
profile1.should be_valid
|
39
|
+
profile2.should be_valid
|
40
|
+
end
|
41
|
+
|
35
42
|
if defined?(EnjuQuestion)
|
36
43
|
it "should reset answer_feed_token" do
|
37
44
|
profiles(:user1).reset_answer_feed_token
|
@@ -53,7 +53,7 @@ describe UserImportFile do
|
|
53
53
|
user003.profile.share_bookmarks.should be_falsy
|
54
54
|
User.where(username: 'user000').first.should be_nil
|
55
55
|
UserImportResult.count.should eq old_import_results_count + 7
|
56
|
-
UserImportResult.order(:
|
56
|
+
UserImportResult.order(:id).last.error_message.should eq 'Password is too short (minimum is 6 characters)'
|
57
57
|
|
58
58
|
user005 = User.where(username: 'user005').first
|
59
59
|
user005.role.name.should eq 'User'
|
@@ -96,8 +96,53 @@ describe UserImportFile do
|
|
96
96
|
|
97
97
|
describe "when its mode is 'update'" do
|
98
98
|
it "should update users" do
|
99
|
+
FactoryGirl.create(:user,
|
100
|
+
username: 'user001',
|
101
|
+
profile: FactoryGirl.create(:profile)
|
102
|
+
)
|
99
103
|
@file = UserImportFile.create :user_import => File.new("#{Rails.root}/../../examples/user_update_file.tsv")
|
100
|
-
@file.modify
|
104
|
+
result = @file.modify
|
105
|
+
result.should have_key(:user_updated)
|
106
|
+
user001 = User.where(username: 'user001').first
|
107
|
+
user001.email.should eq 'user001@example.jp'
|
108
|
+
user001.profile.full_name.should eq '田辺 浩介'
|
109
|
+
user001.profile.full_name_transcription.should eq 'たなべこうすけ'
|
110
|
+
user001.profile.user_number.should eq 'user_number_1'
|
111
|
+
user001.profile.note.should eq 'test'
|
112
|
+
user001.profile.keyword_list.should eq 'keyword1 keyword2'
|
113
|
+
end
|
114
|
+
|
115
|
+
it "should not overwrite with null value" do
|
116
|
+
FactoryGirl.create(:user,
|
117
|
+
username: 'user001',
|
118
|
+
profile: FactoryGirl.create(:profile,
|
119
|
+
user_number: '001',
|
120
|
+
full_name: 'User 001',
|
121
|
+
full_name_transcription: 'User 001',
|
122
|
+
locale: 'ja',
|
123
|
+
note: 'Note',
|
124
|
+
keyword_list: 'keyword1 keyword2',
|
125
|
+
date_of_birth: 10.years.ago)
|
126
|
+
)
|
127
|
+
@file = UserImportFile.create :user_import => File.new("#{Rails.root}/../../examples/user_update_file2.tsv")
|
128
|
+
result = @file.modify
|
129
|
+
result.should have_key(:user_updated)
|
130
|
+
user001 = User.find('user001')
|
131
|
+
user001.email.should eq 'user001@example.jp'
|
132
|
+
user001.profile.user_number.should eq '001'
|
133
|
+
user001.profile.full_name.should eq 'User 001'
|
134
|
+
user001.profile.full_name_transcription.should eq 'User 001'
|
135
|
+
user001.profile.keyword_list.should eq 'keyword1 keyword2'
|
136
|
+
end
|
137
|
+
it "should update user_number" do
|
138
|
+
FactoryGirl.create(:user,
|
139
|
+
username: 'user001',
|
140
|
+
profile: FactoryGirl.create(:profile))
|
141
|
+
@file = UserImportFile.create :user_import => File.new("#{Rails.root}/../../examples/user_update_file3.tsv")
|
142
|
+
result = @file.modify
|
143
|
+
result.should have_key(:user_updated)
|
144
|
+
user001 = User.where(username: 'user001').first
|
145
|
+
user001.profile.user_number.should eq '0001'
|
101
146
|
end
|
102
147
|
end
|
103
148
|
|
@@ -112,10 +157,20 @@ describe UserImportFile do
|
|
112
157
|
end
|
113
158
|
|
114
159
|
it "should remove users" do
|
160
|
+
old_count = User.count
|
161
|
+
@file = UserImportFile.create :user_import => File.new("#{Rails.root}/../../examples/user_delete_file.tsv")
|
162
|
+
@file.user = users(:admin)
|
163
|
+
@file.remove
|
164
|
+
User.count.should eq old_count - 2
|
165
|
+
end
|
166
|
+
|
167
|
+
it "should not remove users if there are checkouts" do
|
168
|
+
user001 = User.where(username: 'user001').first
|
169
|
+
checkout = FactoryGirl.create(:checkout, user: user001, item: FactoryGirl.create(:item))
|
115
170
|
old_count = User.count
|
116
171
|
@file = UserImportFile.create :user_import => File.new("#{Rails.root}/../../examples/user_delete_file.tsv")
|
117
172
|
@file.remove
|
118
|
-
User.
|
173
|
+
User.where(username: 'user001').should_not be_blank
|
119
174
|
end
|
120
175
|
end
|
121
176
|
|
data/spec/spec_helper.rb
CHANGED
@@ -3,6 +3,9 @@ require 'coveralls'
|
|
3
3
|
SimpleCov.start 'rails'
|
4
4
|
Coveralls.wear!
|
5
5
|
|
6
|
+
require 'capybara/rspec'
|
7
|
+
require 'cancan/matchers'
|
8
|
+
|
6
9
|
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
7
10
|
ENV["RAILS_ENV"] ||= 'test'
|
8
11
|
require File.expand_path("../dummy/config/environment", __FILE__)
|
@@ -10,14 +10,36 @@ describe "profiles/edit" do
|
|
10
10
|
assign(:roles, Role.all)
|
11
11
|
assign(:available_languages, Language.available_languages)
|
12
12
|
view.stub(:current_user).and_return(User.find('enjuadmin'))
|
13
|
+
@ability = Object.new
|
14
|
+
@ability.extend(CanCan::Ability)
|
15
|
+
controller.stub(:current_ability) { @ability }
|
13
16
|
end
|
14
17
|
|
15
18
|
it "renders the edit user form" do
|
16
19
|
render
|
17
|
-
|
18
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
19
20
|
assert_select "form", :action => profiles_path(@profile), :method => "post" do
|
20
21
|
assert_select "input#profile_user_number", :name => "profile[user_number]"
|
21
22
|
end
|
22
23
|
end
|
24
|
+
|
25
|
+
describe "when logged in as librarian" do
|
26
|
+
before(:each) do
|
27
|
+
@profile = assign(:profile, profiles(:librarian2))
|
28
|
+
user = users(:librarian1)
|
29
|
+
view.stub(:current_user).and_return(user)
|
30
|
+
@ability = EnjuLeaf::Ability.new(user, '0.0.0.0')
|
31
|
+
@ability.extend(CanCan::Ability)
|
32
|
+
controller.stub(:current_ability) { @ability }
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should not display 'delete' link" do
|
36
|
+
render
|
37
|
+
expect(rendered).not_to have_selector("a[href='#{profile_path(@profile.id)}'][data-method='delete']")
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should disable role selection" do
|
41
|
+
render
|
42
|
+
expect(rendered).to have_selector("select#profile_user_attributes_user_has_role_attributes_role_id[disabled='disabled']")
|
43
|
+
end
|
44
|
+
end
|
23
45
|
end
|
@@ -5,7 +5,11 @@ describe "profiles/index" do
|
|
5
5
|
|
6
6
|
before(:each) do
|
7
7
|
assign(:profiles, Profile.page(1))
|
8
|
-
|
8
|
+
admin = User.find('enjuadmin')
|
9
|
+
view.stub(:current_user).and_return(admin)
|
10
|
+
@ability = EnjuLeaf::Ability.new(admin, '0.0.0.0')
|
11
|
+
@ability.extend(CanCan::Ability)
|
12
|
+
controller.stub(:current_ability) { @ability }
|
9
13
|
end
|
10
14
|
|
11
15
|
it "renders a list of profiles" do
|
@@ -17,4 +17,20 @@ describe "profiles/show" do
|
|
17
17
|
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
18
18
|
rendered.should match(/Checkout/)
|
19
19
|
end
|
20
|
+
|
21
|
+
describe "when logged in as Librarian" do
|
22
|
+
before(:each) do
|
23
|
+
@profile = assign(:profile, profiles(:librarian2))
|
24
|
+
user = users(:librarian1)
|
25
|
+
view.stub(:current_user).and_return(user)
|
26
|
+
@ability = EnjuLeaf::Ability.new(user, '0.0.0.0')
|
27
|
+
@ability.extend(CanCan::Ability)
|
28
|
+
controller.stub(:current_ability) { @ability }
|
29
|
+
end
|
30
|
+
|
31
|
+
it "cannot be deletable by other librarian" do
|
32
|
+
render
|
33
|
+
@ability.should_not be_able_to( :destroy, @profile )
|
34
|
+
end
|
35
|
+
end
|
20
36
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "user_export_files/new" do
|
4
|
+
before(:each) do
|
5
|
+
assign(:user_export_file, stub_model(
|
6
|
+
UserExportFile
|
7
|
+
).as_new_record)
|
8
|
+
view.stub(:current_user).and_return(User.find('enjuadmin'))
|
9
|
+
end
|
10
|
+
|
11
|
+
it "renders new user form" do
|
12
|
+
render
|
13
|
+
|
14
|
+
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
15
|
+
assert_select "form", action: user_export_files_path, method: "post" do
|
16
|
+
assert_select "input", name: "commit"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enju_leaf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.0.
|
4
|
+
version: 1.1.0.rc20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kosuke Tanabe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -36,28 +36,28 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.1.0.
|
39
|
+
version: 0.1.0.pre68
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 0.1.0.
|
46
|
+
version: 0.1.0.pre68
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: enju_library
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.1.0.
|
53
|
+
version: 0.1.0.pre43
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: 0.1.0.
|
60
|
+
version: 0.1.0.pre43
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: enju_manifestation_viewer
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,28 +106,28 @@ dependencies:
|
|
106
106
|
requirements:
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '3.
|
109
|
+
version: '3.5'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '3.
|
116
|
+
version: '3.5'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
118
|
name: cancancan
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '1.
|
123
|
+
version: '1.12'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '1.
|
130
|
+
version: '1.12'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
132
|
name: acts_as_list
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -244,16 +244,16 @@ dependencies:
|
|
244
244
|
name: sitemap_generator
|
245
245
|
requirement: !ruby/object:Gem::Requirement
|
246
246
|
requirements:
|
247
|
-
- - "
|
247
|
+
- - "~>"
|
248
248
|
- !ruby/object:Gem::Version
|
249
|
-
version: '
|
249
|
+
version: '5.1'
|
250
250
|
type: :runtime
|
251
251
|
prerelease: false
|
252
252
|
version_requirements: !ruby/object:Gem::Requirement
|
253
253
|
requirements:
|
254
|
-
- - "
|
254
|
+
- - "~>"
|
255
255
|
- !ruby/object:Gem::Version
|
256
|
-
version: '
|
256
|
+
version: '5.1'
|
257
257
|
- !ruby/object:Gem::Dependency
|
258
258
|
name: devise-encryptable
|
259
259
|
requirement: !ruby/object:Gem::Requirement
|
@@ -414,28 +414,28 @@ dependencies:
|
|
414
414
|
requirements:
|
415
415
|
- - "~>"
|
416
416
|
- !ruby/object:Gem::Version
|
417
|
-
version: '3.
|
417
|
+
version: '3.3'
|
418
418
|
type: :development
|
419
419
|
prerelease: false
|
420
420
|
version_requirements: !ruby/object:Gem::Requirement
|
421
421
|
requirements:
|
422
422
|
- - "~>"
|
423
423
|
- !ruby/object:Gem::Version
|
424
|
-
version: '3.
|
424
|
+
version: '3.3'
|
425
425
|
- !ruby/object:Gem::Dependency
|
426
426
|
name: enju_circulation
|
427
427
|
requirement: !ruby/object:Gem::Requirement
|
428
428
|
requirements:
|
429
429
|
- - "~>"
|
430
430
|
- !ruby/object:Gem::Version
|
431
|
-
version: 0.1.0.
|
431
|
+
version: 0.1.0.pre47
|
432
432
|
type: :development
|
433
433
|
prerelease: false
|
434
434
|
version_requirements: !ruby/object:Gem::Requirement
|
435
435
|
requirements:
|
436
436
|
- - "~>"
|
437
437
|
- !ruby/object:Gem::Version
|
438
|
-
version: 0.1.0.
|
438
|
+
version: 0.1.0.pre47
|
439
439
|
- !ruby/object:Gem::Dependency
|
440
440
|
name: enju_bookmark
|
441
441
|
requirement: !ruby/object:Gem::Requirement
|
@@ -590,6 +590,20 @@ dependencies:
|
|
590
590
|
- - ">="
|
591
591
|
- !ruby/object:Gem::Version
|
592
592
|
version: '0'
|
593
|
+
- !ruby/object:Gem::Dependency
|
594
|
+
name: capybara
|
595
|
+
requirement: !ruby/object:Gem::Requirement
|
596
|
+
requirements:
|
597
|
+
- - ">="
|
598
|
+
- !ruby/object:Gem::Version
|
599
|
+
version: '0'
|
600
|
+
type: :development
|
601
|
+
prerelease: false
|
602
|
+
version_requirements: !ruby/object:Gem::Requirement
|
603
|
+
requirements:
|
604
|
+
- - ">="
|
605
|
+
- !ruby/object:Gem::Version
|
606
|
+
version: '0'
|
593
607
|
description: integrated library system
|
594
608
|
email:
|
595
609
|
- nabeta@fastmail.fm
|
@@ -788,9 +802,7 @@ files:
|
|
788
802
|
- app/views/page/statistics.html.erb
|
789
803
|
- app/views/page/system_information.html.erb
|
790
804
|
- app/views/profiles/_edit_credential.html.erb
|
791
|
-
- app/views/profiles/_edit_credential.html.slim
|
792
805
|
- app/views/profiles/_edit_profile.html.erb
|
793
|
-
- app/views/profiles/_edit_profile.html.slim
|
794
806
|
- app/views/profiles/_form.html.erb
|
795
807
|
- app/views/profiles/_show.html.erb
|
796
808
|
- app/views/profiles/edit.html.erb
|
@@ -1149,6 +1161,7 @@ files:
|
|
1149
1161
|
- spec/factories/basket.rb
|
1150
1162
|
- spec/factories/bookstore.rb
|
1151
1163
|
- spec/factories/carrier_type.rb
|
1164
|
+
- spec/factories/checkout.rb
|
1152
1165
|
- spec/factories/content_type.rb
|
1153
1166
|
- spec/factories/country.rb
|
1154
1167
|
- spec/factories/create.rb
|
@@ -1279,6 +1292,7 @@ files:
|
|
1279
1292
|
- spec/views/profiles/index.html.erb_spec.rb
|
1280
1293
|
- spec/views/profiles/new.html.erb_spec.rb
|
1281
1294
|
- spec/views/profiles/show.html.erb_spec.rb
|
1295
|
+
- spec/views/user_export_files/new.html.erb_spec.rb
|
1282
1296
|
- vendor/assets/javascripts/event_calendar.js
|
1283
1297
|
- vendor/assets/javascripts/jquery.colorbox.js
|
1284
1298
|
- vendor/assets/javascripts/jquery.cookie.js
|
@@ -1324,7 +1338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1324
1338
|
version: 1.3.1
|
1325
1339
|
requirements: []
|
1326
1340
|
rubyforge_project:
|
1327
|
-
rubygems_version: 2.4.5
|
1341
|
+
rubygems_version: 2.4.5.1
|
1328
1342
|
signing_key:
|
1329
1343
|
specification_version: 4
|
1330
1344
|
summary: Next-L Enju Leaf
|
@@ -1584,6 +1598,7 @@ test_files:
|
|
1584
1598
|
- spec/factories/basket.rb
|
1585
1599
|
- spec/factories/bookstore.rb
|
1586
1600
|
- spec/factories/carrier_type.rb
|
1601
|
+
- spec/factories/checkout.rb
|
1587
1602
|
- spec/factories/content_type.rb
|
1588
1603
|
- spec/factories/country.rb
|
1589
1604
|
- spec/factories/create.rb
|
@@ -1714,3 +1729,4 @@ test_files:
|
|
1714
1729
|
- spec/views/profiles/index.html.erb_spec.rb
|
1715
1730
|
- spec/views/profiles/new.html.erb_spec.rb
|
1716
1731
|
- spec/views/profiles/show.html.erb_spec.rb
|
1732
|
+
- spec/views/user_export_files/new.html.erb_spec.rb
|