Sha256: 1b55571b302509e4cc089fcaeba8c174750e9f0b147c4fbdb8bcb0dc573d6476

Contents?: true

Size: 1.07 KB

Versions: 5

Compression:

Stored size: 1.07 KB

Contents

require 'spec_helper'

describe KalibroClient::Entities::Miscellaneous::Metric, :type => :model do
  describe 'methods' do
    describe 'initialize' do
      it 'should return an instance of Metric' do
        compound = true
        name = "Sample name"
        code = "sample_code"
        scope = KalibroClient::Entities::Miscellaneous::Granularity.new(:SOFTWARE)
        expect(KalibroClient::Entities::Miscellaneous::Metric.new(compound, name, code, scope)).to be_a(KalibroClient::Entities::Miscellaneous::Metric)
      end
    end

    describe 'scope=' do
      subject { FactoryGirl.build(:metric) }
      context 'with a valid granularity' do
        it 'is expected to instantiate a Granularity' do
          subject.scope = {"type" => "CLASS"}
          expect(subject.scope).to be_a KalibroClient::Entities::Miscellaneous::Granularity
        end
      end

      context 'with an invalid granularity' do
        it 'is expected to raise a TypeError' do
          scope = nil
          expect { subject.scope = scope }.to raise_error TypeError
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
kalibro_client-5.0.0 spec/entities/miscellaneous/metric_spec.rb
kalibro_client-4.0.0 spec/entities/miscellaneous/metric_spec.rb
kalibro_client-4.0.0.alpha1 spec/entities/miscellaneous/metric_spec.rb
kalibro_client-3.0.1 spec/entities/miscellaneous/metric_spec.rb
kalibro_client-3.0.0 spec/entities/miscellaneous/metric_spec.rb