Sha256: 303307b993ac381c179f0c44404873736aa6dc0561b38b4e8b218058a9b28b64

Contents?: true

Size: 1.21 KB

Versions: 2

Compression:

Stored size: 1.21 KB

Contents

require "test_helper"

class MonkeyParty::SubscriberTest < Test::Unit::TestCase
  context "A subscriber" do
    setup do
      @merge_vars = {:merge_var => "MERGE VAR 1"}
      @email = "user@example.com"
      @subscriber = MonkeyParty::Subscriber.new(@email, @merge_vars)
    end

    should "have an email" do
      assert_equal @email, @subscriber.email
    end

    should "have a list of merge fields" do
      assert_equal @merge_vars, @subscriber.merge_fields
    end

    should "have a hashed version of all the attributes" do
      intended_hash = {
        :email => @email
      }.merge(@merge_vars)

      assert_equal intended_hash, @subscriber.to_h
    end

    should "have a mailchimp style hash of all the attributes" do
      intended_hash = {}
      intended_hash["EMAIL"] = @email
      @merge_vars.each do |key, value|
        intended_hash[key.to_s.upcase] = value
      end

      assert_equal intended_hash, @subscriber.to_mailchimp_hash
    end

    should "limit merge vars to 10 characters" do
      @merge_vars = {:a_really_long_merge_var => "LONG ONE"}
      @subscriber = MonkeyParty::Subscriber.new(@email, @merge_vars)
      assert @subscriber.to_mailchimp_hash.keys.include?("A_REALLY_L")

    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
dpickett-monkey_party-0.1.0 test/monkey_party/subscriber_test.rb
monkey_party-0.2.0 test/monkey_party/subscriber_test.rb