35 lines
1.2 KiB
Ruby
Executable File
35 lines
1.2 KiB
Ruby
Executable File
require 'rails_helper'
|
|
|
|
RSpec.describe AdministratorNotifications::AccountComplianceMailer do
|
|
let(:account) do
|
|
create(:account, custom_attributes: { 'marked_for_deletion_at' => 1.day.ago.iso8601, 'marked_for_deletion_reason' => 'user_requested' })
|
|
end
|
|
let(:soft_deleted_users) do
|
|
[
|
|
{ id: 1, original_email: 'user1@example.com' },
|
|
{ id: 2, original_email: 'user2@example.com' }
|
|
]
|
|
end
|
|
|
|
describe 'account_deleted' do
|
|
it 'has the right subject format' do
|
|
subject = described_class.new.send(:subject_for, account)
|
|
expect(subject).to eq("Account Deletion Notice for #{account.id} - #{account.name}")
|
|
end
|
|
|
|
it 'includes soft deleted users in meta when provided' do
|
|
mailer_instance = described_class.new
|
|
allow(mailer_instance).to receive(:params).and_return(
|
|
{ soft_deleted_users: soft_deleted_users }
|
|
)
|
|
|
|
meta = mailer_instance.send(:build_meta, account)
|
|
|
|
expect(meta['deleted_user_count']).to eq(2)
|
|
expect(meta['soft_deleted_users'].size).to eq(2)
|
|
expect(meta['soft_deleted_users'].first['user_id']).to eq('1')
|
|
expect(meta['soft_deleted_users'].first['user_email']).to eq('user1@example.com')
|
|
end
|
|
end
|
|
end
|