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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/enju.css +1 -1
  3. data/app/controllers/page_controller.rb +12 -6
  4. data/app/controllers/profiles_controller.rb +1 -0
  5. data/app/controllers/roles_controller.rb +4 -1
  6. data/app/controllers/user_groups_controller.rb +2 -2
  7. data/app/controllers/user_import_files_controller.rb +1 -1
  8. data/app/models/enju_leaf/ability.rb +18 -2
  9. data/app/models/profile.rb +4 -0
  10. data/app/models/role.rb +0 -1
  11. data/app/models/user_group.rb +0 -1
  12. data/app/models/user_import_file.rb +19 -16
  13. data/app/models/user_import_result.rb +0 -1
  14. data/app/views/devise/passwords/new.html.erb +2 -3
  15. data/app/views/devise/registrations/edit.html.erb +4 -4
  16. data/app/views/my_accounts/edit.html.erb +1 -1
  17. data/app/views/my_accounts/show.html.erb +1 -1
  18. data/app/views/profiles/_edit_credential.html.erb +2 -2
  19. data/app/views/profiles/edit.html.erb +2 -4
  20. data/app/views/profiles/index.html.erb +1 -1
  21. data/app/views/user_export_files/_form.html.erb +0 -10
  22. data/config/locales/en.yml +1 -1
  23. data/config/locales/ja.yml +1 -1
  24. data/config/locales/translation_en.yml +2 -6
  25. data/config/locales/translation_ja.yml +2 -6
  26. data/lib/enju_leaf/user.rb +10 -7
  27. data/lib/enju_leaf/version.rb +1 -1
  28. data/spec/controllers/profiles_controller_spec.rb +41 -1
  29. data/spec/controllers/roles_controller_spec.rb +4 -4
  30. data/spec/controllers/user_export_files_controller_spec.rb +8 -8
  31. data/spec/controllers/user_groups_controller_spec.rb +4 -4
  32. data/spec/controllers/user_import_files_controller_spec.rb +11 -11
  33. data/spec/factories/checkout.rb +9 -0
  34. data/spec/factories/profile.rb +8 -0
  35. data/spec/factories/user.rb +3 -3
  36. data/spec/models/profile_spec.rb +7 -0
  37. data/spec/models/user_import_file_spec.rb +58 -3
  38. data/spec/spec_helper.rb +3 -0
  39. data/spec/views/profiles/edit.html.erb_spec.rb +24 -2
  40. data/spec/views/profiles/index.html.erb_spec.rb +5 -1
  41. data/spec/views/profiles/show.html.erb_spec.rb +16 -0
  42. data/spec/views/user_export_files/new.html.erb_spec.rb +19 -0
  43. metadata +37 -21
  44. data/app/views/profiles/_edit_credential.html.slim +0 -67
  45. 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, :user_export_file => {mode: 'export'}
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, :user_export_file => {mode: 'export'}
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, :user_export_file => {mode: 'export'}
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, :user_export_file => {mode: 'export'}
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, :user_export_file => {mode: 'export'}
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, :user_export_file => {mode: 'export'}
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, :user_export_file => {mode: 'export'}
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, :user_export_file => {mode: 'export'}
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.all)
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.all)
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.all)
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.all)
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, :user_import_file => {:user_import => fixture_file_upload("/../../examples/user_import_file_sample.tsv", 'text/csv') }
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, :user_import_file => {:user_import => fixture_file_upload("/../../examples/user_import_file_sample.tsv", 'text/csv') }
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, :user_import_file => {:user_import => fixture_file_upload("/../../examples/user_import_file_sample.tsv", 'text/csv') }
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, :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' }
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, :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' }
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, :user_import_file => { }
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, :user_import_file => { }
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
@@ -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
@@ -1,5 +1,5 @@
1
1
  FactoryGirl.define do
2
- factory :admin, :class => User do |f|
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, :class => User do |f|
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, :class => User do |f|
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'
@@ -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(:created_at).last.error_message.should eq 'Password is too short (minimum is 6 characters)'
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.count.should eq old_count - 3
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
- view.stub(:current_user).and_return(User.find('enjuadmin'))
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.rc19
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-06-26 00:00:00.000000000 Z
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.pre66
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.pre66
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.pre41
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.pre41
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.4'
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.4'
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.11'
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.11'
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: '0'
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: '0'
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.2'
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.2'
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.pre44
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.pre44
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