From 21ff5e9656e41a4b6ae6eca3c0298b8a47c907b0 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Sat, 12 Oct 2024 17:02:36 -0400 Subject: [PATCH] Add coverage for .permission_for_event --- spec/models/webhook_spec.rb | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/spec/models/webhook_spec.rb b/spec/models/webhook_spec.rb index d856793759..3bce8c7931 100644 --- a/spec/models/webhook_spec.rb +++ b/spec/models/webhook_spec.rb @@ -19,6 +19,58 @@ RSpec.describe Webhook do end end + describe '.permission_for_event' do + subject { described_class.permission_for_event(event) } + + context 'with a nil value' do + let(:event) { nil } + + it { is_expected.to be_nil } + end + + context 'with an account approved event' do + let(:event) { 'account.approved' } + + it { is_expected.to eq(:manage_users) } + end + + context 'with an account created event' do + let(:event) { 'account.created' } + + it { is_expected.to eq(:manage_users) } + end + + context 'with an account updated event' do + let(:event) { 'account.updated' } + + it { is_expected.to eq(:manage_users) } + end + + context 'with an report created event' do + let(:event) { 'report.created' } + + it { is_expected.to eq(:manage_reports) } + end + + context 'with an report updated event' do + let(:event) { 'report.updated' } + + it { is_expected.to eq(:manage_reports) } + end + + context 'with an status created event' do + let(:event) { 'status.created' } + + it { is_expected.to eq(:view_devops) } + end + + context 'with an status updated event' do + let(:event) { 'status.updated' } + + it { is_expected.to eq(:view_devops) } + end + end + describe '#rotate_secret!' do it 'changes the secret' do expect { webhook.rotate_secret! }