Sha256: f17f41c180698f9e35dfcadbe6f0ba59781124a5bf7d7a494e01fa7d8b99b18b
Contents?: true
Size: 1.82 KB
Versions: 6
Compression:
Stored size: 1.82 KB
Contents
# frozen_string_literal: true require "cases/helper" require "models/notification" require "models/user" class SuppressorTest < ActiveRecord::TestCase def test_suppresses_create assert_no_difference -> { Notification.count } do Notification.suppress do Notification.create Notification.create! Notification.new.save Notification.new.save! end end end def test_suppresses_update user = User.create! token: "asdf" User.suppress do user.update token: "ghjkl" assert_equal "asdf", user.reload.token user.update! token: "zxcvbnm" assert_equal "asdf", user.reload.token user.token = "qwerty" user.save assert_equal "asdf", user.reload.token user.token = "uiop" user.save! assert_equal "asdf", user.reload.token end end def test_suppresses_create_in_callback assert_difference -> { User.count } do assert_no_difference -> { Notification.count } do Notification.suppress { UserWithNotification.create! } end end end def test_resumes_saving_after_suppression_complete Notification.suppress { UserWithNotification.create! } assert_difference -> { Notification.count } do Notification.create!(message: "New Comment") end end def test_suppresses_validations_on_create assert_no_difference -> { Notification.count } do Notification.suppress do User.create User.create! User.new.save User.new.save! end end end def test_suppresses_when_nested_multiple_times assert_no_difference -> { Notification.count } do Notification.suppress do Notification.suppress { } Notification.create Notification.create! Notification.new.save Notification.new.save! end end end end
Version data entries
6 entries across 6 versions & 1 rubygems