Add AccountMigration#remaining_cooldown_days method (#38561)

This commit is contained in:
Matt Jankowski 2026-04-17 10:01:07 -04:00 committed by GitHub
parent 1d3ca80bf7
commit ea33d7fba6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 25 additions and 1 deletions

View File

@ -60,6 +60,10 @@ class AccountMigration < ApplicationRecord
created_at + COOLDOWN_PERIOD
end
def remaining_cooldown_days
((cooldown_at - Time.current) / 1.day).ceil
end
private
def set_target_account

View File

@ -24,7 +24,7 @@
= simple_form_for @migration, url: settings_migration_path do |f|
- if on_cooldown?
%p.hint
%span.warning-hint= t('migrations.on_cooldown', count: ((@cooldown.cooldown_at - Time.now.utc) / 1.day.seconds).ceil)
%span.warning-hint= t('migrations.on_cooldown', count: @cooldown.remaining_cooldown_days)
- else
%p.hint= t('migrations.warning.before')

View File

@ -51,4 +51,24 @@ RSpec.describe AccountMigration do
it { is_expected.to_not allow_value(target_acct).for(:acct) }
end
end
describe '#remaining_cooldown_days' do
subject { account_migration.remaining_cooldown_days }
before { stub_const('AccountMigration::COOLDOWN_PERIOD', 30.days) }
let(:account_migration) { Fabricate :account_migration, created_at: }
context 'with a record still in cooldown' do
let(:created_at) { 15.days.ago }
it { is_expected.to eq(15) }
end
context 'with a record out of cooldown' do
let(:created_at) { 150.days.ago }
it { is_expected.to be_negative }
end
end
end