## Summary - update the admin notification base mailer spec to ignore ordering when verifying administrator email addresses - extend the channel and integrations admin notification mailer specs to cover multiple administrators without relying on recipient order ------ https://chatgpt.com/codex/tasks/task_e_68cc7457cf788326a765f116ceab1732 Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
43 lines
1.6 KiB
Ruby
43 lines
1.6 KiB
Ruby
require 'rails_helper'
|
|
require Rails.root.join 'spec/mailers/administrator_notifications/shared/smtp_config_shared.rb'
|
|
|
|
RSpec.describe AdministratorNotifications::IntegrationsNotificationMailer do
|
|
include_context 'with smtp config'
|
|
|
|
let!(:account) { create(:account) }
|
|
let!(:administrator) { create(:user, :administrator, email: 'admin@example.com', account: account) }
|
|
let!(:another_administrator) { create(:user, :administrator, email: 'owner@example.com', account: account) }
|
|
|
|
describe 'slack_disconnect' do
|
|
let(:mail) { described_class.with(account: account).slack_disconnect.deliver_now }
|
|
|
|
it 'renders the subject' do
|
|
expect(mail.subject).to eq('Your Slack integration has expired')
|
|
end
|
|
|
|
it 'renders the receiver email' do
|
|
expect(mail.to).to contain_exactly(administrator.email, another_administrator.email)
|
|
end
|
|
|
|
it 'includes reconnect instructions in the body' do
|
|
expect(mail.body.encoded).to include('To continue receiving messages on Slack, please delete the integration and connect your workspace again')
|
|
end
|
|
end
|
|
|
|
describe 'dialogflow_disconnect' do
|
|
let(:mail) { described_class.with(account: account).dialogflow_disconnect.deliver_now }
|
|
|
|
it 'renders the subject' do
|
|
expect(mail.subject).to eq('Your Dialogflow integration was disconnected')
|
|
end
|
|
|
|
it 'renders the content' do
|
|
expect(mail.body.encoded).to include('Your Dialogflow integration was disconnected because of permission issues')
|
|
end
|
|
|
|
it 'renders the receiver email' do
|
|
expect(mail.to).to contain_exactly(administrator.email, another_administrator.email)
|
|
end
|
|
end
|
|
end
|