Sha256: 88d4ed1f8513301ed6681af09711b34333e174d5a4a5a004329cfbf8a7cdb376

Contents?: true

Size: 1.46 KB

Versions: 1

Compression:

Stored size: 1.46 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe DispatchRider::Publisher::Configuration::NotificationService do

  subject { described_class.new("file_system", options) }
  let(:options) do
    {
      "default_folder" => "/tmp/dispatch_rider"
    }
  end

  describe "#name" do
    describe '#name' do
      subject { super().name }
      it { is_expected.to eq("file_system") }
    end
  end

  describe "#options" do
    describe '#options' do
      subject { super().options }
      it { is_expected.to eq(options) }
    end
  end

  describe "#==" do
    let(:other) { described_class.new(name, other_options) }

    context "two notification services with the same name and options" do
      let(:name) { subject.name }
      let(:other_options) { options }

      it { is_expected.to eq other }
    end

    context "two notification services with different names but the same options" do
      let(:name) { "aws_sns" }
      let(:other_options) { options }

      it { is_expected.not_to eq other }
    end

    context "two notificaiton services with the same name but different options" do
      let(:name) { subject.name }
      let(:other_options) { { "topic" => "employee_updates" } }

      it { is_expected.not_to eq other }
    end

    context "two notification services with different names and options" do
      let(:name) { "aws_sns" }
      let(:other_options) { { "topic" => "employee_updates" } }

      it { is_expected.not_to eq other }
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dispatch-rider-2.2.0 spec/lib/dispatch-rider/publisher/configuration/notification_service_spec.rb