Sha256: 7964bc6ef82e73d2551f49c148f5f7476a34ea16bf0060f1ddb332fa1f01ff31

Contents?: true

Size: 995 Bytes

Versions: 5

Compression:

Stored size: 995 Bytes

Contents

module NulogyMessageBusConsumer
  RSpec.describe LagTracker do
    it "does not fail when values change" do
      tracker = described_class.new(failing_checks: 1)

      tracker.update({"one" => {"0" => 1, "1" => 1}})
      tracker.update({"one" => {"0" => 2, "1" => 0}})

      expect(tracker).not_to be_failing
    end

    it "tracks failed when value unchanged enough" do
      tracker = described_class.new(failing_checks: 2)

      tracker.update({"one" => {"0" => 1, "1" => 1}})
      tracker.update({"one" => {"0" => 1, "1" => 2}})
      tracker.update({"one" => {"0" => 1, "1" => 3}})

      expect(tracker).to be_failing
      expect(tracker.failed).to eq({
        "one" => ["0"]
      })
    end

    it "ignores unchanged 0 values" do
      tracker = described_class.new(failing_checks: 1)

      tracker.update({"one" => {"0" => 0}})
      tracker.update({"one" => {"0" => 0}})
      tracker.update({"one" => {"0" => 0}})

      expect(tracker).not_to be_failing
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
nulogy_message_bus_consumer-3.0.0 spec/unit/nulogy_message_bus_consumer/lag_tracker.rb
nulogy_message_bus_consumer-2.0.1 spec/unit/nulogy_message_bus_consumer/lag_tracker.rb
nulogy_message_bus_consumer-2.0.0 spec/unit/nulogy_message_bus_consumer/lag_tracker.rb
nulogy_message_bus_consumer-1.0.0 spec/unit/nulogy_message_bus_consumer/lag_tracker.rb
nulogy_message_bus_consumer-0.5.0 spec/unit/nulogy_message_bus_consumer/lag_tracker.rb