|
@@ -203,4 +203,27 @@ RSpec.describe Ticket do
|
|
|
|
|
|
end
|
|
|
|
|
|
+ context 'callbacks' do
|
|
|
+
|
|
|
+ describe '#reset_pending_time' do
|
|
|
+
|
|
|
+ it 'resets the pending time on state change' do
|
|
|
+ ticket = create(:ticket,
|
|
|
+ state: Ticket::State.lookup(name: 'pending reminder'),
|
|
|
+ pending_time: Time.zone.now + 2.days)
|
|
|
+ expect(ticket.pending_time).not_to be nil
|
|
|
+
|
|
|
+ ticket.update_attribute(:state, Ticket::State.lookup(name: 'open'))
|
|
|
+ expect(ticket.pending_time).to be nil
|
|
|
+ end
|
|
|
+
|
|
|
+ it 'lets handle ActiveRecord nil as new value' do
|
|
|
+ ticket = create(:ticket)
|
|
|
+ expect do
|
|
|
+ ticket.update_attribute(:state, nil)
|
|
|
+ end.to raise_error(ActiveRecord::StatementInvalid)
|
|
|
+ end
|
|
|
+
|
|
|
+ end
|
|
|
+ end
|
|
|
end
|