Sha256: 2a4c7e4ea9f533579259c16227e769b17db734f56134cc25a51263626d9d3ccf

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

require "test_helper"

class UseVanityMailerTest < ActionMailer::TestCase
  tests VanityMailer

  def setup
    super
    metric :sugar_high
    new_ab_test :pie_or_cake do
      metrics :sugar_high
      alternatives :pie, :cake
      default :pie
    end
  end

  def test_js_enabled_still_adds_participant
    Vanity.playground.use_js!
    experiment(:pie_or_cake).identify { }
    experiment(:pie_or_cake).chooses(:pie)
    VanityMailer.ab_test_subject(nil)

    alts = experiment(:pie_or_cake).alternatives
    assert_equal 1, alts.map(&:participants).sum
  end

  def test_returns_different_alternatives
    experiment(:pie_or_cake).identify { }

    experiment(:pie_or_cake).chooses(:pie)
    email = VanityMailer.ab_test_subject(nil)
    assert_equal 'pie', email.subject

    experiment(:pie_or_cake).chooses(:cake)
    email = VanityMailer.ab_test_subject(nil)
    assert_equal 'cake', email.subject
  end

  def test_tracking_image_is_rendered
    email = VanityMailer.ab_test_content(nil)
    assert email.body =~ /<img/
    assert email.body =~ /_identity=/
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vanity-3.1.0 test/frameworks/rails/action_mailer_test.rb
vanity-3.0.2 test/frameworks/rails/action_mailer_test.rb
vanity-3.0.1 test/frameworks/rails/action_mailer_test.rb
vanity-3.0.0 test/frameworks/rails/action_mailer_test.rb