Module: Poodle::TestHelpers::Assertions

Included in:
Poodle::TestHelpers
Defined in:
lib/poodle/test_helpers.rb

Overview

Helper methods for test assertions

Instance Method Summary collapse

Instance Method Details

#assert_email_sent(count = 1) ⇒ Object

Assert that an email was sent



166
167
168
169
# File 'lib/poodle/test_helpers.rb', line 166

def assert_email_sent(count = 1)
  actual_count = Poodle::TestHelpers::TestMode.deliveries.length
  raise "Expected #{count} email(s) to be sent, but #{actual_count} were sent" unless actual_count == count
end

#assert_email_sent_to(email_address) ⇒ Object

Assert that an email was sent to a specific address



172
173
174
175
176
# File 'lib/poodle/test_helpers.rb', line 172

def assert_email_sent_to(email_address)
  deliveries = Poodle::TestHelpers::TestMode.deliveries
  sent = deliveries.any? { |delivery| delivery[:to] == email_address }
  raise "Expected email to be sent to #{email_address}" unless sent
end

#assert_email_sent_with_subject(subject) ⇒ Object

Assert that an email was sent with a specific subject



179
180
181
182
183
# File 'lib/poodle/test_helpers.rb', line 179

def assert_email_sent_with_subject(subject)
  deliveries = Poodle::TestHelpers::TestMode.deliveries
  sent = deliveries.any? { |delivery| delivery[:subject].include?(subject) }
  raise "Expected email to be sent with subject containing '#{subject}'" unless sent
end

#assert_no_emails_sentObject

Assert that no emails were sent



186
187
188
189
# File 'lib/poodle/test_helpers.rb', line 186

def assert_no_emails_sent
  count = Poodle::TestHelpers::TestMode.deliveries.length
  raise "Expected no emails to be sent, but #{count} were sent" unless count.zero?
end