Sha256: 6b9bffe459be664e6593c4c44cd1a489ae6a209f58e6d4d6c707688a9c8b184c

Contents?: true

Size: 1.46 KB

Versions: 4

Compression:

Stored size: 1.46 KB

Contents

require "spec_helper"

RSpec.describe "Mailer" do
  let(:gemfile) { IO.read("#{project_path}/Gemfile") }
  let(:mailer_config) { IO.read("#{project_path}/config/mailer.rb") }
  let(:dev_config) { IO.read("#{project_path}/config/environments/development.rb") }

  before(:all) { drop_dummy_database }

  context "when selecting sendgrid as mailer" do
    before(:all) do
      remove_project_directory
      create_dummy_project("email_service" => "sendgrid")
    end

    it { expect(gemfile).to include("send_grid_mailer") }

    it "adds configuration to mailer.rb" do
      expect(mailer_config).to include("delivery_method = :sendgrid")
      expect(mailer_config).to include("sendgrid_settings = {")
      expect(mailer_config).to include("api_key: ENV['SENDGRID_API_KEY']")
    end

    it "adds configuration to development.rb" do
      expect(dev_config).to include("delivery_method = :sendgrid_dev")
      expect(dev_config).to include("sendgrid_dev_settings = {")
      expect(dev_config).to include("api_key: ENV['SENDGRID_API_KEY']")
    end
  end

  context "when selecting aws_ses as mailer" do
    before(:all) do
      remove_project_directory
      create_dummy_project("email_service" => "aws_ses")
    end

    it { expect(gemfile).to include("aws-sdk-rails") }
    it { expect(gemfile).to include("letter_opener") }
    it { expect(mailer_config).to include("delivery_method = :aws_sdk") }
    it { expect(dev_config).to include("delivery_method = :letter_opener") }
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
potassium-6.1.0 spec/features/mailer_spec.rb
potassium-6.0.0 spec/features/mailer_spec.rb
potassium-5.2.3 spec/features/mailer_spec.rb
potassium-5.2.2 spec/features/mailer_spec.rb