### Summary - Converts conversation auto-resolution duration from days to minutes for more granular control - Updates validation to allow values from 10 minutes (minimum) to 999 days (maximum) - Implements smart messaging to show appropriate time units in activity messages ### Changes - Created migration to convert existing durations from days to minutes (x1440) - Updated conversation resolver to use minutes instead of days - Added dynamic translation key selection based on duration value - Updated related specs and documentation - Added support for displaying durations in days, hours, or minutes based on value ### Test plan - Verify account validation accepts new minute-based ranges - Confirm existing account settings are correctly migrated - Test auto-resolution works properly with minute values - Ensure proper time unit display in activity messages --------- Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
19 lines
541 B
Ruby
19 lines
541 B
Ruby
require 'rails_helper'
|
|
|
|
RSpec.describe Account::ConversationsResolutionSchedulerJob do
|
|
subject(:job) { described_class.perform_later }
|
|
|
|
let!(:account) { create(:account) }
|
|
|
|
it 'enqueues the job' do
|
|
expect { job }.to have_enqueued_job(described_class)
|
|
.on_queue('scheduled_jobs')
|
|
end
|
|
|
|
it 'enqueues Conversations::ResolutionJob' do
|
|
account.update(auto_resolve_after: 10 * 60 * 24)
|
|
expect(Conversations::ResolutionJob).to receive(:perform_later).with(account: account).once
|
|
described_class.perform_now
|
|
end
|
|
end
|