module SmsCarrier::TestHelper
Provides helper methods for testing SmsCarrier
, including assert_smses
and assert_no_smses
.
Public Instance Methods
assert_no_smses(&block)
click to toggle source
Assert that no SMSes have been sent.
def test_smses assert_no_smses ContactCarrier.welcome.deliver_now assert_smses 1 end
If a block is passed, that block should not cause any SMSes to be sent.
def test_smses_again assert_no_smses do # No SMSes should be sent from this block end end
Note: This assertion is simply a shortcut for:
assert_smses 0
# File lib/sms_carrier/test_helper.rb, line 62 def assert_no_smses(&block) assert_smses 0, &block end
assert_smses(number) { || ... }
click to toggle source
Asserts that the number of SMSes sent matches the given number.
def test_smses assert_smses 0 ContactCarrier.welcome.deliver_now assert_smses 1 ContactCarrier.welcome.deliver_now assert_smses 2 end
If a block is passed, that block should cause the specified number of SMSes to be sent.
def test_smses_again assert_smses 1 do ContactCarrier.welcome.deliver_now end assert_smses 2 do ContactCarrier.welcome.deliver_now ContactCarrier.welcome.deliver_now end end
# File lib/sms_carrier/test_helper.rb, line 32 def assert_smses(number) if block_given? original_count = SmsCarrier::Base.deliveries.size yield new_count = SmsCarrier::Base.deliveries.size assert_equal number, new_count - original_count, "#{number} SMSes expected, but #{new_count - original_count} were sent" else assert_equal number, SmsCarrier::Base.deliveries.size end end