File: open_test.rb

package info (click to toggle)
ruby-ahoy-email 1.1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 324 kB
  • sloc: ruby: 820; makefile: 6
file content (34 lines) | stat: -rw-r--r-- 809 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
require_relative "test_helper"

class OpenTest < ActionDispatch::IntegrationTest
  def test_default
    message = OpenMailer.welcome.deliver_now
    refute_body "open.gif", message
  end

  def test_basic
    message = OpenMailer.basic.deliver_now
    assert_body "open.gif", message

    open_message(message)
    assert_response :success
    assert ahoy_message.opened_at
  end

  def test_subscriber
    with_subscriber(EmailSubscriber.new) do
      message = OpenMailer.basic.deliver_now
      open_message(message)

      assert_equal 1, $open_events.size
      open_event = $open_events.first
      assert_equal ahoy_message, open_event[:message]
      assert open_event[:token]
    end
  end

  def open_message(message)
    url = /src=\"([^"]+)\"/.match(message.body.decoded)[1]
    get url
  end
end