Created
July 29, 2020 18:13
-
-
Save citrus/22f59f18aa44e6da6d417a721a40f945 to your computer and use it in GitHub Desktop.
Transaction rollback failing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TransactionTest | |
test:Transaction should properly save record. PASS (0.07s) | |
Validation failed: Url can't be blank | |
test:Transaction should rollback record. FAIL (0.03s) | |
Expected: false | |
Actual: true | |
minitest (5.14.1) lib/minitest/assertions.rb:183:in `assert' | |
minitest (5.14.1) lib/minitest/assertions.rb:218:in `assert_equal' | |
test/test_helper.rb:129:in `assert_equal' | |
test/transaction_test.rb:25:in `block in <class:TransactionTest>' | |
test/transaction_test.rb:23:in `instance_exec' | |
test/transaction_test.rb:23:in `block in create_test_from_should_hash' | |
minitest (5.14.1) lib/minitest/test.rb:98:in `block (3 levels) in run' | |
minitest (5.14.1) lib/minitest/test.rb:195:in `capture_exceptions' | |
minitest (5.14.1) lib/minitest/test.rb:95:in `block (2 levels) in run' | |
minitest (5.14.1) lib/minitest.rb:272:in `time_it' | |
minitest (5.14.1) lib/minitest/test.rb:94:in `block in run' | |
minitest (5.14.1) lib/minitest.rb:367:in `on_signal' | |
minitest (5.14.1) lib/minitest/test.rb:211:in `with_info_handler' | |
minitest (5.14.1) lib/minitest/test.rb:93:in `run' | |
minitest-reporters (1.4.2) lib/minitest/reporters.rb:48:in `run_with_hooks' | |
minitest (5.14.1) lib/minitest.rb:1029:in `run_one_method' | |
minitest (5.14.1) lib/minitest.rb:341:in `run_one_method' | |
minitest (5.14.1) lib/minitest.rb:328:in `block (2 levels) in run' | |
minitest (5.14.1) lib/minitest.rb:327:in `each' | |
minitest (5.14.1) lib/minitest.rb:327:in `block in run' | |
minitest (5.14.1) lib/minitest.rb:367:in `on_signal' | |
minitest (5.14.1) lib/minitest.rb:354:in `with_info_handler' | |
minitest (5.14.1) lib/minitest.rb:326:in `run' | |
railties (5.2.4) lib/rails/test_unit/line_filtering.rb:10:in `run' | |
minitest (5.14.1) lib/minitest.rb:164:in `block in __run' | |
minitest (5.14.1) lib/minitest.rb:164:in `map' | |
minitest (5.14.1) lib/minitest.rb:164:in `__run' | |
minitest (5.14.1) lib/minitest.rb:141:in `run' | |
minitest (5.14.1) lib/minitest.rb:68:in `block in autorun' | |
Finished in 0.10796s | |
2 tests, 2 assertions, 1 failures, 0 errors, 0 skips |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'test_helper' | |
class TransactionTest < ActiveSupport::TestCase | |
should "properly save record" do | |
@record = Redirect.new(url: 'http://google.com') | |
ActiveRecord::Base.transaction do | |
@record.save! | |
rescue ActiveRecord::RecordInvalid | |
raise ActiveRecord::Rollback | |
end | |
assert_equal true, @record.persisted? | |
end | |
should "rollback record" do | |
@record = Redirect.new(url: 'http://google.com') | |
ActiveRecord::Base.transaction do | |
@record.save! # persist record | |
@record.url = nil | |
@record.save! # save again | |
rescue ActiveRecord::RecordInvalid => e | |
puts e.message | |
raise ActiveRecord::Rollback | |
end | |
assert_equal false, @record.persisted? | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment