Sha256: 125cef24e03f43e1fe3b3276166972199e5c06e185e8dc2b757ae064078d4a86

Contents?: true

Size: 1.55 KB

Versions: 17

Compression:

Stored size: 1.55 KB

Contents

require 'test_helper'

  class ClarkKent::ReportEmailTest < ActiveSupport::TestCase
    test "sends report to s3" do
      ClarkKent::ReportUploaderBucketName = 'test_bucket'
      user = User.find_by(email: 'taproot@gmail.com')
      report = ClarkKent::Report.first
      report.update_columns(sharing_scope_type: 'Department', sharing_scope_id: user.department_id)
      report_email = report.report_emails.create(name: 'test_emailer')
      report_email.report_filters.create(
        filter_name: "created_at",
        filter_value: nil,
        type: "ClarkKent::ReportDateFilter",
        duration: "week",
        kind_of_day: "Monday",
        offset: "this_week")
      bucket_mock = ->(string) { raise 'finished building report'}
      err = assert_raises(RuntimeError) do
        AWS::S3::Bucket.stub :new, bucket_mock, [String] do
          report_email.send_email(user.id)
        end
      end
      err.message.must_match('finished building report')
    end

    test "throws an error if required date filters are not present" do
      user = User.find_by(email: 'taproot@gmail.com')
      report = ClarkKent::Report.first
      report.update_columns(sharing_scope_type: 'Department', sharing_scope_id: user.department_id)
      report_email = report.report_emails.create(name: 'test_emailer')
      report_email.send_email(user.id)
      mailed = ActionMailer::Base.deliveries.last
      assert_match /Your report could not be created due to the following problem/, mailed.body.to_s
      assert_match /At least one date range is required/, mailed.body.to_s
    end
  end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
clark_kent-0.8.11 test/models/clark_kent/report_email_test.rb
clark_kent-0.8.10 test/models/clark_kent/report_email_test.rb
clark_kent-0.8.9 test/models/clark_kent/report_email_test.rb
clark_kent-0.8.8 test/models/clark_kent/report_email_test.rb
clark_kent-0.8.7 test/models/clark_kent/report_email_test.rb
clark_kent-0.8.6 test/models/clark_kent/report_email_test.rb
clark_kent-0.8.5 test/models/clark_kent/report_email_test.rb
clark_kent-0.8.4 test/models/clark_kent/report_email_test.rb
clark_kent-0.8.3 test/models/clark_kent/report_email_test.rb
clark_kent-0.8.2 test/models/clark_kent/report_email_test.rb
clark_kent-0.8.1 test/models/clark_kent/report_email_test.rb
clark_kent-0.7.1 test/models/clark_kent/report_email_test.rb
clark_kent-0.7.0 test/models/clark_kent/report_email_test.rb
clark_kent-0.6.1 test/models/clark_kent/report_email_test.rb
clark_kent-0.6.0 test/models/clark_kent/report_email_test.rb
clark_kent-0.5.0 test/models/clark_kent/report_email_test.rb
clark_kent-0.4.4 test/models/clark_kent/report_email_test.rb