diff --git a/spec/services/approve_appeal_service_spec.rb b/spec/services/approve_appeal_service_spec.rb new file mode 100644 index 0000000000..5707c5d7f4 --- /dev/null +++ b/spec/services/approve_appeal_service_spec.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe ApproveAppealService do + describe '#call' do + context 'with an existing appeal' do + let(:appeal) { Fabricate(:appeal) } + let(:account) { Fabricate(:account) } + + it 'processes the appeal approval' do + expect { subject.call(appeal, account) } + .to mark_overruled + .and record_approver + end + + def mark_overruled + change(appeal.strike, :overruled_at) + .from(nil) + .to(be > 1.minute.ago) + end + + def record_approver + change(appeal, :approved_by_account) + .from(nil) + .to(account) + end + end + end +end