Sha256: d2704bdf93e70a3ca2c06ef90eec353df3d04c47862d3f560855b3b1a372c9ca

Contents?: true

Size: 1.39 KB

Versions: 2

Compression:

Stored size: 1.39 KB

Contents

describe ActivityNotification::ActsAsTarget do
  let(:dummy_model_class) { Dummy::DummyBase }

  describe "as public class methods" do
    describe ".acts_as_target" do
      it "have not included Target before calling" do
        expect(dummy_model_class.respond_to?(:available_as_target?)).to be_falsey
      end

      it "includes Target" do
        dummy_model_class.acts_as_target
        expect(dummy_model_class.respond_to?(:available_as_target?)).to be_truthy
        expect(dummy_model_class.available_as_target?).to be_truthy
      end

      context "with no options" do
        it "returns hash of specified options" do
          expect(dummy_model_class.acts_as_target).to eq({})
        end
      end

      #TODO test other options
    end

    describe ".acts_as_notification_target" do
      it "is an alias of acts_as_target" do
        #TODO make better way to test alias
        #expect(dummy_model_class.acts_as_notification_target).to receive(:acts_as_target)
        expect(dummy_model_class.respond_to?(:acts_as_notification_target)).to be_truthy
      end
    end

    describe ".available_target_options" do
      it "returns list of available options in acts_as_target" do
        expect(dummy_model_class.available_target_options)
          .to eq([:email, :email_allowed, :batch_email_allowed, :devise_resource, :printable_notification_target_name, :printable_name])
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activity_notification-1.0.2 spec/roles/acts_as_target_spec.rb
activity_notification-1.0.1 spec/roles/acts_as_target_spec.rb