Fix class methods on BizDev module

and add missing tests
This commit is contained in:
Frederic Merizen 2018-06-06 16:07:29 +02:00
parent 38ee42d446
commit 695f5b2705
2 changed files with 43 additions and 3 deletions

View file

@ -24,13 +24,13 @@ module BizDev
BIZ_DEV_IDS = BIZ_DEV_MAPPING.keys
def full_name(administration_id)
def self.full_name(administration_id)
id = ensure_proper_administration_id(administration_id)
BIZ_DEV_MAPPING[id][:full_name]
end
def pipedrive_id(administration_id)
def self.pipedrive_id(administration_id)
id = ensure_proper_administration_id(administration_id)
BIZ_DEV_MAPPING[id][:pipedrive_id]
@ -38,7 +38,7 @@ module BizDev
private
def ensure_proper_administration_id(administration_id)
def self.ensure_proper_administration_id(administration_id)
if administration_id.in?(BIZ_DEV_IDS)
administration_id
else

40
spec/lib/biz_dev_spec.rb Normal file
View file

@ -0,0 +1,40 @@
require 'spec_helper'
describe BizDev, lib: true do
let(:first_biz_dev_id) { BizDev::BIZ_DEV_IDS.first }
let(:non_biz_dev_id) { first_biz_dev_id - 1 }
it { expect(BizDev::BIZ_DEV_MAPPING).not_to include(non_biz_dev_id) }
describe '#full_name' do
subject { described_class.full_name(administration_id) }
context 'when administration is a business developer' do
let(:administration_id) { first_biz_dev_id }
it { is_expected.not_to be_empty }
end
context 'when administration is not a business developer' do
let(:administration_id) { non_biz_dev_id }
it { is_expected.not_to be_empty }
end
end
describe '#pipedrive_id' do
subject { described_class.pipedrive_id(administration_id) }
context 'when administration is a business developer' do
let(:administration_id) { first_biz_dev_id }
it { is_expected.to be > 0 }
end
context 'when administration is not a business developer' do
let(:administration_id) { non_biz_dev_id }
it { is_expected.to be > 0 }
end
end
end