Sha256: bd93c3d13a58b66bf05c1313794b28b39fdb9a0c4c00e62c62ef75ede3f10783

Contents?: true

Size: 1.07 KB

Versions: 18

Compression:

Stored size: 1.07 KB

Contents

require 'rails_helper'

RSpec.describe 'rake rails_rbi:mailers', type: :task do
  let!(:generated_dir_path) { Rails.root.join("sorbet", "rails-rbi", "mailers") }

  class CustomMailerRbiGenerator < SorbetRails::MailerRbiFormatter
    def populate_rbi
      rbi_generator.root.add_comment("== Custom Generator ==")
      super
    end
  end

  it "preloads the Rails environment" do
    expect(task.prerequisites).to include("environment")
  end

  it "generates mailers rbi correctly" do
    task.invoke
    expect_files(
      base_dir: generated_dir_path,
      files: [
        "application_mailer.rbi",
        "daily_prophet_mailer.rbi",
        "hogwarts_acceptance_mailer.rbi",
      ],
    )
  end

  it "generates custom mailers rbi correctly" do
    ::SorbetRails.config.mailer_generator_class = CustomMailerRbiGenerator
    task.invoke
    expect_files(
      base_dir: generated_dir_path,
      files: [
        "application_mailer.rbi",
        "daily_prophet_mailer.rbi",
        "hogwarts_acceptance_mailer.rbi",
      ],
      expected_file_prefix: "expected_custom",
    )
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
sorbet-rails-0.7.34 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.33 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.32 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.31 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.27 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.26 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.25 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.24 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.23 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.22 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.20 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.19 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.18 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.5 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.4 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.3 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.2 spec/rake_rails_rbi_mailers_spec.rb
sorbet-rails-0.7.1 spec/rake_rails_rbi_mailers_spec.rb