Sha256: 89187a68f21535aefee7c2a7a6150feea5d0859056702f5e977f5992b240502e

Contents?: true

Size: 976 Bytes

Versions: 1

Compression:

Stored size: 976 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 Tabs::Resolutionable::MethodNotImplementedException
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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