Sha256: fbd7fc1ba253594c3df0ff7ea50bde4780b65b217d8393642fcb1095b925e8d5

Contents?: true

Size: 924 Bytes

Versions: 1

Compression:

Stored size: 924 Bytes

Contents

require "spec_helper"
require File.expand_path("../../../support/custom_resolutions", __FILE__)

describe Tabs::Resolution do
  describe "#register" do
    it "registers a new resolution" do
      Tabs::Resolution.register(:test, Tabs::Resolutions::Minute)
      expect(Tabs::Resolution.all).to include :test
    end

    context "with a custom resolution" do
      it "does not return nil" do
        expect(WellFormedResolution.serialize(Time.now)).to_not be_nil
      end

      it "gets stats for custom resolution" do
        Tabs::Resolution.register(:seconds, WellFormedResolution)
        Timecop.freeze(Time.now)

        Tabs.increment_counter("foo")
        expect(Tabs.get_stats("foo", (Time.now - 5.seconds..Time.now), :seconds).values.size).to eq(6)
      end

      it "raises an error when method not implemented" do
        expect{BadlyFormedResolution.normalize}.to raise_error
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tabs-0.9.1 spec/lib/tabs/resolution_spec.rb