diff options
Diffstat (limited to 'spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb')
-rw-r--r-- | spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb b/spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb index 7b33a95bfa1..8ee76efc896 100644 --- a/spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb +++ b/spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb @@ -95,6 +95,12 @@ RSpec.shared_examples 'a model including Escalatable' do it { is_expected.to eq([ignored_escalatable, resolved_escalatable, acknowledged_escalatable, triggered_escalatable]) } end end + + describe '.open' do + subject { all_escalatables.open } + + it { is_expected.to contain_exactly(acknowledged_escalatable, triggered_escalatable) } + end end describe '.status_value' do @@ -133,6 +139,24 @@ RSpec.shared_examples 'a model including Escalatable' do end end + describe '.open_status?' do + using RSpec::Parameterized::TableSyntax + + where(:status, :is_open_status) do + :triggered | true + :acknowledged | true + :resolved | false + :ignored | false + nil | false + end + + with_them do + it 'returns true when the status is open status' do + expect(described_class.open_status?(status)).to eq(is_open_status) + end + end + end + describe '#trigger' do subject { escalatable.trigger } @@ -237,6 +261,15 @@ RSpec.shared_examples 'a model including Escalatable' do end end + describe '#open?' do + it 'returns true when the status is open status' do + expect(triggered_escalatable.open?).to be true + expect(acknowledged_escalatable.open?).to be true + expect(resolved_escalatable.open?).to be false + expect(ignored_escalatable.open?).to be false + end + end + private def factory_from_class(klass) |