Sha256: ab5e3e23392e06052d73d3f8be0e387e5441c15806ff3b970a7fa02c8f9c7569
Contents?: true
Size: 1.95 KB
Versions: 1
Compression:
Stored size: 1.95 KB
Contents
require 'opt_out' require 'test/unit' require 'dotenv' Dotenv.load # All adapters must pass these tests. To setup a new adapter test: # # class MyAdapterTest < Test::Unit::TestCase # include AdapterTests # test_adapter(MyAdapter, {:some => 'options'}) do # # optional test setup block # end # end module AdapterTests def self.included(base) base.extend Macros end module Macros attr_accessor :original_config, :test_config def test_adapter(adapter, options = {}, &blk) self.original_config = OptOut.config.dup self.test_config = { :adapter => adapter, :options => options, :setup => blk } end end def setup if custom_setup = self.class.test_config[:setup] custom_setup.call end OptOut.configure do |c| c.adapter = self.class.test_config[:adapter] c.options = self.class.test_config[:options] end OptOut.reset end def teardown OptOut.config.adapter = self.class.original_config[:adapter] OptOut.config.options = self.class.original_config[:options] OptOut.reset end def test_auto_subscribed assert OptOut.subscribed?('newsletters', '5') end def test_resubscribe OptOut.unsubscribe('newsletters', '5') OptOut.subscribe('newsletters', '5') assert OptOut.subscribed?('newsletters', '5') assert !OptOut.unsubscribed?('newsletters', '5') end def test_unsubscribe OptOut.unsubscribe('newsletters', '5') assert !OptOut.subscribed?('newsletters', '5') assert OptOut.unsubscribed?('newsletters', '5') end def test_multi_unsubscribe OptOut.unsubscribe('newsletters', '5') OptOut.unsubscribe('newsletters', '5') assert !OptOut.subscribed?('newsletters', '5') assert OptOut.unsubscribed?('newsletters', '5') end def test_unsubscribers OptOut.unsubscribe('newsletters', '5') OptOut.unsubscribe('newsletters', '6') assert_equal ['5', '6'], OptOut.unsubscribers('newsletters').sort end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
opt_out-1.0.0 | test/adapter_tests.rb |