0

誰かがそのような問題に遭遇しましたか?

メーラー配信をトリガーするコントローラーがあります。

  def create
    create! do |success, failure|
      success.js do
        CandidateMailer.donation_notification(current_candidate).deliver
      end
    end
  end

そして、私はそのメーラーを手に入れました:

  def donation_notification(candidate)
    puts Candidate.count  # note: during test - count of candidates is 0
    @candidate = candidate
    email_with_name = "#{@candidate.profile.name} <#{@candidate.email}>"
    mail(to: email_with_name, subject: 'New Donation Received!')
  end

テストが実際に終了する前に、データベースクリーナーがすべてのデータを削除する理由がわかりません。

それが重要な場合は、JS テスト (Webkit を使用) です。

これが私の設定です:

RSpec.configure do |config|

  config.before(:suite) do
    DatabaseCleaner.clean_with :truncation
  end

  config.before(:each) do
    if Capybara.current_driver == :rack_test
      DatabaseCleaner.strategy = :transaction
    else
      DatabaseCleaner.strategy = [:truncation, { pre_count: true }]
    end

    DatabaseCleaner.start
  end

  config.after(:each) do
    DatabaseCleaner.clean
  end
end
4

1 に答える 1