@@ -378,22 +378,36 @@ def test_initializer_should_write_date_to_file_with_block_in_config_initializers
378
378
assert_file "config/initializers/constants.rb" , code . strip_heredoc
379
379
end
380
380
381
- def test_generate_should_run_script_generate_with_argument_and_options
381
+ test "generate" do
382
382
run_generator
383
383
action :generate , "model" , "MyModel"
384
384
assert_file "app/models/my_model.rb" , /MyModel/
385
385
end
386
386
387
- def test_generate_aborts_when_subprocess_fails_if_requested
387
+ test "generate should raise on failure" do
388
388
run_generator
389
- content = capture ( :stderr ) do
389
+ message = capture ( :stderr ) do
390
390
assert_raises SystemExit do
391
- action :generate , "model" , "MyModel:ADsad" , abort_on_failure : true
392
- action :generate , "model" , "MyModel"
391
+ action :generate , "model" , "1234567890"
393
392
end
394
393
end
395
- assert_match ( /wrong constant name MyModel:aDsad/ , content )
396
- assert_no_file "app/models/my_model.rb"
394
+ assert_match ( /1234567890/ , message )
395
+ end
396
+
397
+ test "generate with inline option" do
398
+ run_generator
399
+ assert_not_called ( generator , :run ) do
400
+ action :generate , "model" , "MyModel" , inline : true
401
+ end
402
+ assert_file "app/models/my_model.rb" , /MyModel/
403
+ end
404
+
405
+ test "generate with inline option should raise on failure" do
406
+ run_generator
407
+ error = assert_raises do
408
+ action :generate , "model" , "1234567890" , inline : true
409
+ end
410
+ assert_match ( /1234567890/ , error . message )
397
411
end
398
412
399
413
test "rake should run rake with the default environment" do
@@ -438,6 +452,14 @@ def test_generate_aborts_when_subprocess_fails_if_requested
438
452
end
439
453
end
440
454
455
+ test "rake with abort_on_failure option should raise on failure" do
456
+ capture ( :stderr ) do
457
+ assert_raises SystemExit do
458
+ action :rake , "invalid" , abort_on_failure : true
459
+ end
460
+ end
461
+ end
462
+
441
463
test "rails_command should run rails with the default environment" do
442
464
assert_runs "rails log:clear" , env : { "RAILS_ENV" => "development" } do
443
465
with_rails_env nil do
@@ -484,6 +506,31 @@ def test_generate_aborts_when_subprocess_fails_if_requested
484
506
end
485
507
end
486
508
509
+ test "rails_command with abort_on_failure option should raise on failure" do
510
+ run_generator
511
+ capture ( :stderr ) do
512
+ assert_raises SystemExit do
513
+ action :rails_command , "invalid" , abort_on_failure : true
514
+ end
515
+ end
516
+ end
517
+
518
+ test "rails_command with inline option" do
519
+ run_generator
520
+ assert_not_called ( generator , :run ) do
521
+ action :rails_command , "generate model MyModel" , inline : true
522
+ end
523
+ assert_file "app/models/my_model.rb" , /MyModel/
524
+ end
525
+
526
+ test "rails_command with inline option should raise on failure" do
527
+ run_generator
528
+ error = assert_raises do
529
+ action :rails_command , "generate model 1234567890" , inline : true
530
+ end
531
+ assert_match ( /1234567890/ , error . message )
532
+ end
533
+
487
534
test "route should add route" do
488
535
run_generator
489
536
route_commands = [ "get 'foo'" , "get 'bar'" , "get 'baz'" ]
0 commit comments