Sha256: 0050f6bbadac2043397ed1bee160fe8f6bd81725231850849898612e7bef61e0

Contents?: true

Size: 1.62 KB

Versions: 13

Compression:

Stored size: 1.62 KB

Contents

require 'activity_notification/optional_targets/amazon_sns'
describe ActivityNotification::OptionalTarget::AmazonSNS do
  let(:test_instance) { ActivityNotification::OptionalTarget::AmazonSNS.new(skip_initializing_target: true) }

  describe "as public instance methods" do
    describe "#to_optional_target_name" do
      it "is return demodulized symbol class name" do
        expect(test_instance.to_optional_target_name).to eq(:amazon_sns)
      end
    end

    describe "#initialize_target" do
      #TODO
      it "does not raise NotImplementedError" do
        begin
          test_instance.initialize_target
        rescue Aws::Errors::MissingRegionError
          # Rescue for CI without AWS client configuration
        end
      end
    end

    describe "#notify" do
      #TODO
      it "does not raise NotImplementedError but NoMethodError" do
        expect { test_instance.notify(create(:notification)) }
          .to raise_error(NoMethodError)
      end
    end
  end

  describe "as protected instance methods" do
    describe "#render_notification_message" do
      context "as default" do
        it "renders notification message with default template" do
          expect(test_instance.send(:render_notification_message, create(:notification))).to be_include("Move to notified") 
        end
      end

      context "with unexisting template as fallback option" do
        it "raise ActionView::MissingTemplate" do
          expect { expect(test_instance.send(:render_notification_message, create(:notification), fallback: :hoge)) }
            .to raise_error(ActionView::MissingTemplate)
        end
      end
    end
  end
  
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
activity_notification-2.0.0 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.7.1 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.7.0 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.6.1 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.6.0 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.5.1 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.5.0 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.4.4 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.4.3 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.4.2 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.4.1 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.4.0 spec/optional_targets/amazon_sns_spec.rb
activity_notification-1.3.0 spec/optional_targets/amazon_sns_spec.rb