Files
mastodon/spec/models/email_subscription_spec.rb
2026-03-25 16:25:45 +00:00

44 lines
1.2 KiB
Ruby

# frozen_string_literal: true
require 'rails_helper'
RSpec.describe EmailSubscription do
describe '#confirmed?' do
it 'returns true when confirmed' do
subject.confirmed_at = Time.now.utc
expect(subject.confirmed?).to be true
end
it 'returns false when not confirmed' do
subject.confirmed_at = nil
expect(subject.confirmed?).to be false
end
end
describe '#confirm!' do
subject { Fabricate(:email_subscription) }
it 'records confirmation time' do
subject.confirm!
expect(subject.confirmed_at).to_not be_nil
end
end
describe 'Callbacks' do
subject { Fabricate(:email_subscription) }
it 'generates token and delivers confirmation email', :inline_jobs do
emails = capture_emails { subject }
expect(subject.confirmed_at).to be_nil
expect(subject.confirmation_token).to_not be_nil
expect(emails.size).to eq(1)
expect(emails.first)
.to have_attributes(
to: contain_exactly(subject.email),
subject: eq(I18n.t('email_subscription_mailer.confirmation.subject', name: subject.account.username, domain: Rails.configuration.x.local_domain))
)
end
end
end