Module: Poodle::TestHelpers

Includes:
Assertions
Defined in:
lib/poodle/test_helpers.rb

Overview

Test utilities and mock classes for testing applications that use Poodle

Examples:

RSpec configuration

RSpec.configure do |config|
  config.include Poodle::TestHelpers

  config.before(:each) do
    Poodle.test_mode!
  end
end

Testing email sending

it "sends welcome email" do
  expect {
    UserMailer.send_welcome(user)
  }.to change { Poodle.deliveries.count }.by(1)

  email = Poodle.deliveries.last
  expect(email[:to]).to eq(user.email)
  expect(email[:subject]).to include("Welcome")
end

Defined Under Namespace

Modules: Assertions, TestMode Classes: MockClient

Instance Method Summary collapse

Methods included from Assertions

#assert_email_sent, #assert_email_sent_to, #assert_email_sent_with_subject, #assert_no_emails_sent

Instance Method Details

#clear_poodle_deliveriesObject



204
205
206
# File 'lib/poodle/test_helpers.rb', line 204

def clear_poodle_deliveries
  Poodle::TestHelpers::TestMode.clear_deliveries
end

#last_poodle_deliveryObject



200
201
202
# File 'lib/poodle/test_helpers.rb', line 200

def last_poodle_delivery
  Poodle::TestHelpers::TestMode.last_delivery
end

#poodle_deliveriesObject

Convenience methods for accessing test data



196
197
198
# File 'lib/poodle/test_helpers.rb', line 196

def poodle_deliveries
  Poodle::TestHelpers::TestMode.deliveries
end

#poodle_mock_clientObject

Create a mock client for testing



209
210
211
# File 'lib/poodle/test_helpers.rb', line 209

def poodle_mock_client
  Poodle::TestHelpers::MockClient.new
end