Module: Aws::ActionMailbox::SES::RSpec

Defined in:
lib/aws/action_mailbox/ses/rspec.rb,
lib/aws/action_mailbox/ses/rspec/email.rb,
lib/aws/action_mailbox/ses/rspec/subscription_confirmation.rb

Overview

RSpec extension for testing Amazon SES notifications. Include the ‘Aws::ActionMailbox::SES::RSpec` extension in your tests, like so:

require 'aws/rails/action_mailbox/rspec'
RSpec.configure do |config|
  config.include Aws::ActionMailbox::SES::RSpec
end

Defined Under Namespace

Classes: Email, SubscriptionConfirmation

Instance Method Summary collapse

Instance Method Details

#action_mailbox_ses_deliver_email(options = {}) ⇒ Object

Stubs the AWS SNS message verifier and delivers an email.

Examples:

it 'delivers an email notification' do
  action_mailbox_ses_deliver_email(mail: Mail.new(to: 'user@example.com'))
  expect(ActionMailbox::InboundEmail.last.mail.recipients).to eql ['user@example.com']
end


41
42
43
44
45
46
47
48
49
# File 'lib/aws/action_mailbox/ses/rspec.rb', line 41

def action_mailbox_ses_deliver_email(options = {})
  email = Email.new(**options)
  stub_aws_sns_message_verifier(email)

  post email.url,
       params: email.params,
       headers: email.headers,
       as: :json
end

#action_mailbox_ses_deliver_subscription_confirmation(options = {}) ⇒ Object

Stubs the AWS SNS message verifier and delivers a subscription confirmation.

Examples:

it 'delivers a subscription notification' do
  action_mailbox_ses_deliver_subscription_confirmation
  expect(response).to have_http_status :ok
end


24
25
26
27
28
29
30
31
32
33
# File 'lib/aws/action_mailbox/ses/rspec.rb', line 24

def action_mailbox_ses_deliver_subscription_confirmation(options = {})
  subscription_confirmation = SubscriptionConfirmation.new(**options)
  stub_aws_sns_message_verifier(subscription_confirmation)
  stub_aws_sns_subscription_request

  post subscription_confirmation.url,
       params: subscription_confirmation.params,
       headers: subscription_confirmation.headers,
       as: :json
end