dry_crud 2.1.2 → 3.0.0

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.
Files changed (37) hide show
  1. checksums.yaml +5 -13
  2. data/README.rdoc +1 -2
  3. data/VERSION +1 -1
  4. data/app/controllers/crud_controller.rb +96 -61
  5. data/app/controllers/dry_crud/generic_model.rb +1 -5
  6. data/app/controllers/dry_crud/rememberable.rb +1 -1
  7. data/app/controllers/dry_crud/render_callbacks.rb +2 -4
  8. data/app/controllers/list_controller.rb +4 -5
  9. data/app/helpers/dry_crud/form/builder.rb +4 -30
  10. data/app/helpers/format_helper.rb +2 -0
  11. data/app/helpers/utility_helper.rb +2 -3
  12. data/app/views/crud/show.json.jbuilder +1 -0
  13. data/app/views/layouts/_flash.html.erb +1 -1
  14. data/app/views/layouts/_flash.html.haml +1 -1
  15. data/app/views/list/index.json.jbuilder +4 -0
  16. data/config/locales/crud.de.yml +1 -1
  17. data/lib/generators/dry_crud/templates/spec/controllers/crud_test_models_controller_spec.rb +141 -139
  18. data/lib/generators/dry_crud/templates/spec/helpers/dry_crud/form/builder_spec.rb +47 -48
  19. data/lib/generators/dry_crud/templates/spec/helpers/dry_crud/table/builder_spec.rb +6 -6
  20. data/lib/generators/dry_crud/templates/spec/helpers/form_helper_spec.rb +66 -66
  21. data/lib/generators/dry_crud/templates/spec/helpers/format_helper_spec.rb +62 -61
  22. data/lib/generators/dry_crud/templates/spec/helpers/i18n_helper_spec.rb +13 -13
  23. data/lib/generators/dry_crud/templates/spec/helpers/table_helper_spec.rb +42 -38
  24. data/lib/generators/dry_crud/templates/spec/helpers/utility_helper_spec.rb +22 -22
  25. data/lib/generators/dry_crud/templates/spec/support/crud_controller_examples.rb +72 -72
  26. data/lib/generators/dry_crud/templates/spec/support/crud_controller_test_helper.rb +54 -45
  27. data/lib/generators/dry_crud/templates/test/controllers/crud_test_models_controller_test.rb +8 -11
  28. data/lib/generators/dry_crud/templates/test/helpers/dry_crud/form/builder_test.rb +1 -6
  29. data/lib/generators/dry_crud/templates/test/helpers/form_helper_test.rb +47 -46
  30. data/lib/generators/dry_crud/templates/test/helpers/format_helper_test.rb +1 -1
  31. data/lib/generators/dry_crud/templates/test/helpers/table_helper_test.rb +9 -3
  32. data/lib/generators/dry_crud/templates/test/support/crud_controller_test_helper.rb +2 -2
  33. data/lib/generators/dry_crud/templates/test/support/crud_test_helper.rb +1 -1
  34. data/lib/generators/dry_crud/templates/test/support/crud_test_model.rb +0 -4
  35. data/lib/generators/dry_crud/templates/test/support/crud_test_models_controller.rb +5 -10
  36. metadata +15 -18
  37. data/app/controllers/dry_crud/responder.rb +0 -34
@@ -1,5 +1,5 @@
1
1
  # encoding: UTF-8
2
- require 'spec_helper'
2
+ require 'rails_helper'
3
3
 
4
4
  describe UtilityHelper do
5
5
 
@@ -17,17 +17,17 @@ describe UtilityHelper do
17
17
  let(:model) { crud_test_models(:AAAAA) }
18
18
 
19
19
  it 'recognizes types' do
20
- column_type(model, :name).should == :string
21
- column_type(model, :children).should == :integer
22
- column_type(model, :companion_id).should == :integer
23
- column_type(model, :rating).should == :float
24
- column_type(model, :income).should == :decimal
25
- column_type(model, :birthdate).should == :date
26
- column_type(model, :gets_up_at).should == :time
27
- column_type(model, :last_seen).should == :datetime
28
- column_type(model, :human).should == :boolean
29
- column_type(model, :remarks).should == :text
30
- column_type(model, :companion).should be_nil
20
+ expect(column_type(model, :name)).to eq(:string)
21
+ expect(column_type(model, :children)).to eq(:integer)
22
+ expect(column_type(model, :companion_id)).to eq(:integer)
23
+ expect(column_type(model, :rating)).to eq(:float)
24
+ expect(column_type(model, :income)).to eq(:decimal)
25
+ expect(column_type(model, :birthdate)).to eq(:date)
26
+ expect(column_type(model, :gets_up_at)).to eq(:time)
27
+ expect(column_type(model, :last_seen)).to eq(:datetime)
28
+ expect(column_type(model, :human)).to eq(:boolean)
29
+ expect(column_type(model, :remarks)).to eq(:text)
30
+ expect(column_type(model, :companion)).to be_nil
31
31
  end
32
32
  end
33
33
 
@@ -35,39 +35,39 @@ describe UtilityHelper do
35
35
 
36
36
  it 'escapes safe content' do
37
37
  html = content_tag_nested(:div, %w(a b)) { |e| content_tag(:span, e) }
38
- html.should be_html_safe
39
- html.should == '<div><span>a</span><span>b</span></div>'
38
+ expect(html).to be_html_safe
39
+ expect(html).to eq('<div><span>a</span><span>b</span></div>')
40
40
  end
41
41
 
42
42
  it 'escapes unsafe content' do
43
43
  html = content_tag_nested(:div, %w(a b)) { |e| "<#{e}>" }
44
- html.should == '<div>&lt;a&gt;&lt;b&gt;</div>'
44
+ expect(html).to eq('<div>&lt;a&gt;&lt;b&gt;</div>')
45
45
  end
46
46
 
47
47
  it 'simplys join without block' do
48
48
  html = content_tag_nested(:div, %w(a b))
49
- html.should == '<div>ab</div>'
49
+ expect(html).to eq('<div>ab</div>')
50
50
  end
51
51
  end
52
52
 
53
53
  describe '#safe_join' do
54
54
  it 'works as super without block' do
55
55
  html = safe_join(['<a>', '<b>'.html_safe])
56
- html.should == '&lt;a&gt;<b>'
56
+ expect(html).to eq('&lt;a&gt;<b>')
57
57
  end
58
58
 
59
59
  it 'collects contents for array' do
60
60
  html = safe_join(%w(a b)) { |e| content_tag(:span, e) }
61
- html.should == '<span>a</span><span>b</span>'
61
+ expect(html).to eq('<span>a</span><span>b</span>')
62
62
  end
63
63
  end
64
64
 
65
65
  describe '#default_crud_attrs' do
66
66
  it 'do not contain id and password' do
67
- default_crud_attrs.should ==
68
- [:name, :email, :whatever, :children, :companion_id, :rating, :income,
69
- :birthdate, :gets_up_at, :last_seen, :human, :remarks,
70
- :created_at, :updated_at]
67
+ expect(default_crud_attrs).to eq([
68
+ :name, :email, :whatever, :children, :companion_id, :rating, :income,
69
+ :birthdate, :gets_up_at, :last_seen, :human, :remarks,
70
+ :created_at, :updated_at])
71
71
  end
72
72
  end
73
73
 
@@ -3,8 +3,8 @@ require 'support/crud_controller_test_helper'
3
3
 
4
4
  RSpec.configure do |c|
5
5
  c.before failing: true do
6
- model_class.any_instance.stub(:save).and_return(false)
7
- model_class.any_instance.stub(:destroy).and_return(false)
6
+ allow_any_instance_of(model_class).to receive(:save).and_return(false)
7
+ allow_any_instance_of(model_class).to receive(:destroy).and_return(false)
8
8
  end
9
9
  end
10
10
 
@@ -36,7 +36,7 @@ shared_examples 'crud controller' do |options|
36
36
  end
37
37
 
38
38
  before do
39
- m = example.metadata
39
+ m = RSpec.current_example.metadata
40
40
  if m[:perform_request] != false && m[:action] && m[:method]
41
41
  perform_combined_request
42
42
  end
@@ -52,9 +52,9 @@ shared_examples 'crud controller' do |options|
52
52
  context 'plain',
53
53
  unless: skip?(options, %w(index html plain)),
54
54
  combine: 'ihp' do
55
- it_should_respond
56
- it_should_assign_entries
57
- it_should_render
55
+ it_is_expected_to_respond
56
+ it_is_expected_to_assign_entries
57
+ it_is_expected_to_render
58
58
  end
59
59
 
60
60
  context 'search',
@@ -63,11 +63,11 @@ shared_examples 'crud controller' do |options|
63
63
  combine: 'ihse' do
64
64
  let(:params) { { q: search_value } }
65
65
 
66
- it_should_respond
66
+ it_is_expected_to_respond
67
67
 
68
68
  context 'entries' do
69
69
  subject { entries }
70
- it { should include(test_entry) }
70
+ it { is_expected.to include(test_entry) }
71
71
  end
72
72
  end
73
73
 
@@ -78,11 +78,11 @@ shared_examples 'crud controller' do |options|
78
78
  combine: 'ihso' do
79
79
  let(:params) { { sort: sort_column, sort_dir: 'asc' } }
80
80
 
81
- it_should_respond
81
+ it_is_expected_to_respond
82
82
 
83
- it 'should have sorted entries' do
83
+ it 'has sorted entries' do
84
84
  sorted = entries.sort_by(&(sort_column.to_sym))
85
- entries.should == sorted
85
+ expect(entries).to eq(sorted)
86
86
  end
87
87
  end
88
88
 
@@ -91,11 +91,11 @@ shared_examples 'crud controller' do |options|
91
91
  combine: 'ihsd' do
92
92
  let(:params) { { sort: sort_column, sort_dir: 'desc' } }
93
93
 
94
- it_should_respond
94
+ it_is_expected_to_respond
95
95
 
96
- it 'should have sorted entries' do
96
+ it 'has sorted entries' do
97
97
  sorted = entries.sort_by(&(sort_column.to_sym))
98
- entries.should == sorted.reverse
98
+ expect(entries).to eq(sorted.reverse)
99
99
  end
100
100
  end
101
101
  end
@@ -105,9 +105,9 @@ shared_examples 'crud controller' do |options|
105
105
  format: :json,
106
106
  unless: skip?(options, %w(index json)),
107
107
  combine: 'ij' do
108
- it_should_respond
109
- it_should_assign_entries
110
- it { response.body.should start_with('[{') }
108
+ it_is_expected_to_respond
109
+ it_is_expected_to_assign_entries
110
+ it { expect(response.body).to start_with('[{') }
111
111
  end
112
112
  end
113
113
 
@@ -122,9 +122,9 @@ shared_examples 'crud controller' do |options|
122
122
  context 'plain',
123
123
  unless: skip?(options, %w(show html plain)),
124
124
  combine: 'sh' do
125
- it_should_respond
126
- it_should_assign_entry
127
- it_should_render
125
+ it_is_expected_to_respond
126
+ it_is_expected_to_assign_entry
127
+ it_is_expected_to_render
128
128
  end
129
129
 
130
130
  context 'with non-existing id',
@@ -132,7 +132,7 @@ shared_examples 'crud controller' do |options|
132
132
  %w(show html with_non_existing_id)) do
133
133
  let(:params) { { id: 9999 } }
134
134
 
135
- it 'should raise RecordNotFound', perform_request: false do
135
+ it 'raises RecordNotFound', perform_request: false do
136
136
  expect { perform_request }
137
137
  .to raise_error(ActiveRecord::RecordNotFound)
138
138
  end
@@ -143,9 +143,9 @@ shared_examples 'crud controller' do |options|
143
143
  format: :json,
144
144
  unless: skip?(options, %w(show json)),
145
145
  combine: 'sj' do
146
- it_should_respond
147
- it_should_assign_entry
148
- it_should_render_json
146
+ it_is_expected_to_respond
147
+ it_is_expected_to_assign_entry
148
+ it_is_expected_to_render_json
149
149
  end
150
150
  end
151
151
 
@@ -154,15 +154,15 @@ shared_examples 'crud controller' do |options|
154
154
  context 'plain',
155
155
  unless: skip?(options, %w(new plain)),
156
156
  combine: 'new' do
157
- it_should_respond
158
- it_should_render
159
- it_should_persist_entry(false)
157
+ it_is_expected_to_respond
158
+ it_is_expected_to_render
159
+ it_is_expected_to_persist_entry(false)
160
160
  end
161
161
 
162
162
  context 'with params',
163
163
  unless: skip?(options, %w(new with_params)) do
164
164
  let(:params) { { model_identifier => new_entry_attrs } }
165
- it_should_set_attrs(:new)
165
+ it_is_expected_to_set_attrs(:new)
166
166
  end
167
167
  end
168
168
 
@@ -170,55 +170,55 @@ shared_examples 'crud controller' do |options|
170
170
  unless: skip?(options, %w(create)) do
171
171
  let(:params) { { model_identifier => new_entry_attrs } }
172
172
 
173
- it 'should add entry to database', perform_request: false do
173
+ it 'adds entry to database', perform_request: false do
174
174
  expect { perform_request }.to change { model_class.count }.by(1)
175
175
  end
176
176
 
177
177
  context 'html',
178
178
  format: :html,
179
179
  unless: skip?(options, %w(create html)) do
180
- it_should_persist_entry # cannot combine this
180
+ it_is_expected_to_persist_entry # cannot combine this
181
181
 
182
182
  context 'with valid params',
183
183
  unless: skip?(options, %w(create html valid)),
184
184
  combine: 'chv' do
185
- it_should_redirect_to_show
186
- it_should_set_attrs(:new)
187
- it_should_have_flash(:notice)
185
+ it_is_expected_to_redirect_to_show
186
+ it_is_expected_to_set_attrs(:new)
187
+ it_is_expected_to_have_flash(:notice)
188
188
  end
189
189
 
190
190
  context 'with invalid params',
191
191
  failing: true,
192
192
  unless: skip?(options, %w(create html invalid)),
193
193
  combine: 'chi' do
194
- it_should_render('new')
195
- it_should_persist_entry(false)
196
- it_should_set_attrs(:new)
197
- it_should_not_have_flash(:notice)
194
+ it_is_expected_to_render('new')
195
+ it_is_expected_to_persist_entry(false)
196
+ it_is_expected_to_set_attrs(:new)
197
+ it_is_expected_to_not_have_flash(:notice)
198
198
  end
199
199
  end
200
200
 
201
201
  context 'json',
202
202
  format: :json,
203
203
  unless: skip?(options, %w(create json)) do
204
- it_should_persist_entry # cannot combine this
204
+ it_is_expected_to_persist_entry # cannot combine this
205
205
 
206
206
  context 'with valid params',
207
207
  unless: skip?(options, %w(create json valid)),
208
208
  combine: 'cjv' do
209
- it_should_respond(201)
210
- it_should_set_attrs(:new)
211
- it_should_render_json
209
+ it_is_expected_to_respond(201)
210
+ it_is_expected_to_set_attrs(:new)
211
+ it_is_expected_to_render_json
212
212
  end
213
213
 
214
214
  context 'with invalid params',
215
215
  failing: true,
216
216
  unless: skip?(options, %w(create json invalid)),
217
217
  combine: 'cji' do
218
- it_should_respond(422)
219
- it_should_set_attrs(:new)
220
- it_should_render_error_json
221
- it_should_persist_entry(false)
218
+ it_is_expected_to_respond(422)
219
+ it_is_expected_to_set_attrs(:new)
220
+ it_is_expected_to_render_json
221
+ it_is_expected_to_persist_entry(false)
222
222
  end
223
223
  end
224
224
  end
@@ -227,9 +227,9 @@ shared_examples 'crud controller' do |options|
227
227
  id: true,
228
228
  unless: skip?(options, %w(edit)),
229
229
  combine: 'edit' do
230
- it_should_respond
231
- it_should_render
232
- it_should_assign_entry
230
+ it_is_expected_to_respond
231
+ it_is_expected_to_render
232
+ it_is_expected_to_assign_entry
233
233
  end
234
234
 
235
235
  describe_action :put, :update,
@@ -237,7 +237,7 @@ shared_examples 'crud controller' do |options|
237
237
  unless: skip?(options, %w(update)) do
238
238
  let(:params) { { model_identifier => edit_entry_attrs } }
239
239
 
240
- it 'should update entry in database', perform_request: false do
240
+ it 'updates entry in database', perform_request: false do
241
241
  expect { perform_request }.to change { model_class.count }.by(0)
242
242
  end
243
243
 
@@ -247,19 +247,19 @@ shared_examples 'crud controller' do |options|
247
247
  context 'with valid params',
248
248
  unless: skip?(options, %w(update html valid)),
249
249
  combine: 'uhv' do
250
- it_should_set_attrs(:edit)
251
- it_should_redirect_to_show
252
- it_should_persist_entry
253
- it_should_have_flash(:notice)
250
+ it_is_expected_to_set_attrs(:edit)
251
+ it_is_expected_to_redirect_to_show
252
+ it_is_expected_to_persist_entry
253
+ it_is_expected_to_have_flash(:notice)
254
254
  end
255
255
 
256
256
  context 'with invalid params',
257
257
  failing: true,
258
258
  unless: skip?(options, %w(update html invalid)),
259
259
  combine: 'uhi' do
260
- it_should_render('edit')
261
- it_should_set_attrs(:edit)
262
- it_should_not_have_flash(:notice)
260
+ it_is_expected_to_render('edit')
261
+ it_is_expected_to_set_attrs(:edit)
262
+ it_is_expected_to_not_have_flash(:notice)
263
263
  end
264
264
  end
265
265
 
@@ -270,19 +270,19 @@ shared_examples 'crud controller' do |options|
270
270
  context 'with valid params',
271
271
  unless: skip?(options, %w(update json valid)),
272
272
  combine: 'ujv' do
273
- it_should_respond(204)
274
- it_should_set_attrs(:edit)
275
- it { response.body.should be_blank }
276
- it_should_persist_entry
273
+ it_is_expected_to_respond(200)
274
+ it_is_expected_to_set_attrs(:edit)
275
+ it_is_expected_to_render_json
276
+ it_is_expected_to_persist_entry
277
277
  end
278
278
 
279
279
  context 'with invalid params',
280
280
  failing: true,
281
281
  unless: skip?(options, %w(update json invalid)),
282
282
  combine: 'uji' do
283
- it_should_respond(422)
284
- it_should_set_attrs(:edit)
285
- it_should_render_error_json
283
+ it_is_expected_to_respond(422)
284
+ it_is_expected_to_set_attrs(:edit)
285
+ it_is_expected_to_render_json
286
286
  end
287
287
  end
288
288
  end
@@ -291,7 +291,7 @@ shared_examples 'crud controller' do |options|
291
291
  id: true,
292
292
  unless: skip?(options, %w(destroy)) do
293
293
 
294
- it 'should remove entry from database', perform_request: false do
294
+ it 'removes entry from database', perform_request: false do
295
295
  expect { perform_request }.to change { model_class.count }.by(-1)
296
296
  end
297
297
 
@@ -300,13 +300,13 @@ shared_examples 'crud controller' do |options|
300
300
  unless: skip?(options, %w(destroy html)) do
301
301
 
302
302
  context 'successfull', combine: 'dhs' do
303
- it_should_redirect_to_index
304
- it_should_have_flash(:notice)
303
+ it_is_expected_to_redirect_to_index
304
+ it_is_expected_to_have_flash(:notice)
305
305
  end
306
306
 
307
307
  context 'with failure', failing: true, combine: 'dhf' do
308
- it_should_redirect_to_index
309
- it_should_have_flash(:alert)
308
+ it_is_expected_to_redirect_to_index
309
+ it_is_expected_to_have_flash(:alert)
310
310
  end
311
311
  end
312
312
 
@@ -315,13 +315,13 @@ shared_examples 'crud controller' do |options|
315
315
  unless: skip?(options, %w(destroy json)) do
316
316
 
317
317
  context 'successfull', combine: 'djs' do
318
- it_should_respond(204)
319
- it { response.body.should be_blank }
318
+ it_is_expected_to_respond(204)
319
+ it { expect(response.body).to be_blank }
320
320
  end
321
321
 
322
322
  context 'with failure', failing: true, combine: 'djf' do
323
- it_should_respond(422)
324
- it_should_render_error_json
323
+ it_is_expected_to_respond(422)
324
+ it_is_expected_to_render_json
325
325
  end
326
326
  end
327
327
  end
@@ -7,7 +7,7 @@ module CrudControllerTestHelper
7
7
 
8
8
  # Performs a request based on the metadata of the action example under test.
9
9
  def perform_request
10
- m = example.metadata
10
+ m = RSpec.current_example.metadata
11
11
  example_params = respond_to?(:params) ? send(:params) : {}
12
12
  params = scope_params.merge(format: m[:format])
13
13
  params.merge!(id: test_entry.id) if m[:id]
@@ -22,29 +22,40 @@ module CrudControllerTestHelper
22
22
  # If a combine key is given in metadata, only the first request for all
23
23
  # examples with the same key will be performed.
24
24
  def perform_combined_request
25
- stack = example.metadata[:combine]
25
+ stack = RSpec.current_example.metadata[:combine]
26
26
  if stack
27
27
  @@current_stack ||= nil
28
28
  if stack == @@current_stack &&
29
29
  described_class == @@current_controller.class
30
- @response = @@current_response
31
- @_templates = @templates = @@current_templates
32
- @controller = @@current_controller
33
- @request = @@current_request
30
+ restore_request
34
31
  else
35
32
  perform_request
36
-
37
33
  @@current_stack = stack
38
- @@current_response = @response
39
- @@current_request = @request
40
- @@current_controller = @controller
41
- @@current_templates = @_templates || @templates
34
+ remember_request
42
35
  end
43
36
  else
44
37
  perform_request
45
38
  end
46
39
  end
47
40
 
41
+ def remember_request
42
+ @@current_response = @response
43
+ @@current_request = @request
44
+ @@current_controller = @controller
45
+ @@current_templates = @_templates || @templates
46
+
47
+ # treat in-memory entry as committed in order to
48
+ # avoid rollback of internal state.
49
+ entry.committed! if entry
50
+ end
51
+
52
+ def restore_request
53
+ @response = @@current_response
54
+ @_templates = @templates = @@current_templates
55
+ @controller = @@current_controller
56
+ @request = @@current_request
57
+ end
58
+
48
59
  # The params defining the nesting of the test entry.
49
60
  def scope_params
50
61
  params = {}
@@ -88,92 +99,90 @@ module CrudControllerTestHelper
88
99
  end
89
100
 
90
101
  # Test the response status, default 200.
91
- def it_should_respond(status = 200)
92
- it { response.status.should == status }
102
+ def it_is_expected_to_respond(status = 200)
103
+ it { expect(response.status).to eq(status) }
93
104
  end
94
105
 
95
106
  # Test that entries are assigned.
96
- def it_should_assign_entries
97
- it 'should assign entries' do
98
- entries.should be_present
107
+ def it_is_expected_to_assign_entries
108
+ it 'assigns entries' do
109
+ expect(entries).to be_present
99
110
  end
100
111
  end
101
112
 
102
113
  # Test that entry is assigned.
103
- def it_should_assign_entry
104
- it 'should assign entry' do
105
- entry.should == test_entry
114
+ def it_is_expected_to_assign_entry
115
+ it 'assigns entry' do
116
+ expect(entry).to eq(test_entry)
106
117
  end
107
118
  end
108
119
 
109
120
  # Test that the given template or the main template of the action under
110
121
  # test is rendered.
111
- def it_should_render(template = nil)
112
- it { should render_template(template || example.metadata[:action]) }
122
+ def it_is_expected_to_render(template = nil)
123
+ it do
124
+ template ||= RSpec.current_example.metadata[:action]
125
+ is_expected.to render_template(template)
126
+ end
113
127
  end
114
128
 
115
129
  # Test that a json response is rendered.
116
- def it_should_render_json
117
- it { response.body.should start_with('{') }
118
- end
119
-
120
- # Test that a json response containing the error is rendered.
121
- def it_should_render_error_json
122
- it { response.body.should match(/"errors":\{/) }
130
+ def it_is_expected_to_render_json
131
+ it { expect(response.body).to start_with('{') }
123
132
  end
124
133
 
125
134
  # Test that test_entry_attrs are set on entry.
126
- def it_should_set_attrs(action = nil)
127
- it 'should set params as entry attributes' do
135
+ def it_is_expected_to_set_attrs(action = nil)
136
+ it 'sets params as entry attributes' do
128
137
  attrs = send("#{action}_entry_attrs")
129
138
  actual = {}
130
139
  attrs.keys.each do |key|
131
140
  actual[key] = entry.attributes[key.to_s]
132
141
  end
133
- actual.should == attrs
142
+ expect(actual).to eq(attrs)
134
143
  end
135
144
  end
136
145
 
137
146
  # Test that the response redirects to the index action.
138
- def it_should_redirect_to_index
147
+ def it_is_expected_to_redirect_to_index
139
148
  it do
140
- should redirect_to scope_params.merge(action: 'index',
141
- returning: true)
149
+ is_expected.to redirect_to scope_params.merge(action: 'index',
150
+ returning: true)
142
151
  end
143
152
  end
144
153
 
145
154
  # Test that the response redirects to the show action of the current entry.
146
- def it_should_redirect_to_show
155
+ def it_is_expected_to_redirect_to_show
147
156
  it do
148
- should redirect_to scope_params.merge(action: 'show',
149
- id: entry.id)
157
+ is_expected.to redirect_to scope_params.merge(action: 'show',
158
+ id: entry.id)
150
159
  end
151
160
  end
152
161
 
153
162
  # Test that the given flash type is present.
154
- def it_should_have_flash(type, message = nil)
163
+ def it_is_expected_to_have_flash(type, message = nil)
155
164
  it "flash(#{type}) is set" do
156
- flash[type].should(message ? match(message) : be_present)
165
+ expect(flash[type]).to(message ? match(message) : be_present)
157
166
  end
158
167
  end
159
168
 
160
169
  # Test that not flash of the given type is present.
161
- def it_should_not_have_flash(type)
170
+ def it_is_expected_to_not_have_flash(type)
162
171
  it "flash(#{type}) is nil" do
163
- flash[type].should be_blank
172
+ expect(flash[type]).to be_blank
164
173
  end
165
174
  end
166
175
 
167
176
  # Test that the current entry is persistend and valid, or not.
168
- def it_should_persist_entry(bool = true)
177
+ def it_is_expected_to_persist_entry(bool = true)
169
178
  context 'entry' do
170
179
  subject { entry }
171
180
 
172
181
  if bool
173
- it { should_not be_new_record }
174
- it { should be_valid }
182
+ it { is_expected.not_to be_new_record }
183
+ it { is_expected.to be_valid }
175
184
  else
176
- it { should be_new_record }
185
+ it { is_expected.to be_new_record }
177
186
  end
178
187
  end
179
188
  end