spec/ddtelemetry/counter_spec.rb in ddtelemetry-1.0.0a2 vs spec/ddtelemetry/counter_spec.rb in ddtelemetry-1.0.0a3

- old
+ new

@@ -3,76 +3,84 @@ describe DDTelemetry::Counter do subject(:counter) { described_class.new } describe 'new counter' do it 'starts at 0' do - expect(subject.get(:erb)).to eq(0) - expect(subject.get(:haml)).to eq(0) + expect(subject.get(filter: :erb)).to eq(0) + expect(subject.get(filter: :haml)).to eq(0) end end describe '#increment' do - subject { counter.increment(:erb) } + subject { counter.increment(filter: :erb) } it 'increments the matching value' do expect { subject } - .to change { counter.get(:erb) } + .to change { counter.get(filter: :erb) } .from(0) .to(1) end it 'does not increment any other value' do - expect(counter.get(:haml)).to eq(0) + expect(counter.get(filter: :haml)).to eq(0) expect { subject } - .not_to change { counter.get(:haml) } + .not_to change { counter.get(filter: :haml) } end + + context 'non-hash label' do + subject { counter.increment('WRONG UGH') } + + it 'errors' do + expect { subject }.to raise_error(ArgumentError, 'label argument must be a hash') + end + end end describe '#get' do - subject { counter.get(:erb) } + subject { counter.get(filter: :erb) } context 'not incremented' do it { is_expected.to eq(0) } end context 'incremented' do - before { counter.increment(:erb) } + before { counter.increment(filter: :erb) } it { is_expected.to eq(1) } end context 'other incremented' do - before { counter.increment(:haml) } + before { counter.increment(filter: :haml) } it { is_expected.to eq(0) } end end describe '#labels' do subject { counter.labels } before do - counter.increment(:erb) - counter.increment(:erb) - counter.increment(:haml) + counter.increment(filter: :erb) + counter.increment(filter: :erb) + counter.increment(filter: :haml) end - it { is_expected.to contain_exactly(:haml, :erb) } + it { is_expected.to match_array([{ filter: :haml }, { filter: :erb }]) } end describe '#each' do subject do {}.tap do |res| counter.each { |label, count| res[label] = count } end end before do - counter.increment(:erb) - counter.increment(:erb) - counter.increment(:haml) + counter.increment(filter: :erb) + counter.increment(filter: :erb) + counter.increment(filter: :haml) end - it { is_expected.to eq(haml: 1, erb: 2) } + it { is_expected.to eq({ filter: :haml } => 1, { filter: :erb } => 2) } it 'is enumerable' do expect(counter.map { |_label, count| count }.sort) .to eq([1, 2]) end @@ -80,20 +88,20 @@ describe '#to_s' do subject { counter.to_s } before do - counter.increment(:erb) - counter.increment(:erb) - counter.increment(:haml) + counter.increment(filter: :erb) + counter.increment(filter: :erb) + counter.increment(filter: :haml) end it 'returns table' do expected = <<~TABLE - │ count - ─────┼────── - erb │ 2 - haml │ 1 + │ count + ────────────┼────── + filter=erb │ 2 + filter=haml │ 1 TABLE expect(subject.strip).to eq(expected.strip) end end