diff --git a/lib/concepts/ownership_transfer/accept.rb b/lib/concepts/ownership_transfer/accept.rb index 185ed2255..254fbf483 100644 --- a/lib/concepts/ownership_transfer/accept.rb +++ b/lib/concepts/ownership_transfer/accept.rb @@ -9,7 +9,7 @@ def call(ownership_transfer:) OwnershipTransfer.transaction do demote_previous_owners(school, ownership_transfer.nominated_user_id) promote_nominee(school, ownership_transfer.nominated_user_id) - ownership_transfer.update!(status: :completed) + ownership_transfer.update!(status: :completed, accepted_at: Time.current) end end diff --git a/spec/concepts/ownership_transfer/accept_spec.rb b/spec/concepts/ownership_transfer/accept_spec.rb index 2361bd98d..32a8befa9 100644 --- a/spec/concepts/ownership_transfer/accept_spec.rb +++ b/spec/concepts/ownership_transfer/accept_spec.rb @@ -3,6 +3,8 @@ require 'rails_helper' RSpec.describe OwnershipTransfer::Accept, type: :unit do + include ActiveSupport::Testing::TimeHelpers + let(:school) { create(:verified_school) } let(:owner) { create(:owner, school:) } let(:nominee) { create(:teacher, school:) } @@ -23,6 +25,14 @@ expect(ownership_transfer.reload.status).to eq('completed') end + it 'sets the accepted_at timestamp on the acceptance' do + freeze_time do + described_class.call(ownership_transfer:) + + expect(ownership_transfer.reload.accepted_at).to eq(Time.current) + end + end + it 'gives the nominee the owner role' do described_class.call(ownership_transfer:)