diff --git a/src/Observers/TransactionObserver.php b/src/Observers/TransactionObserver.php index afd76c8..964a5ed 100644 --- a/src/Observers/TransactionObserver.php +++ b/src/Observers/TransactionObserver.php @@ -32,6 +32,12 @@ public function created(Transaction $tx): void public function updating(Transaction $tx): void { $this->callProcessorMethodIfExist($tx, 'updating'); + + if ($tx->isDirty('amount')) { + /** @var \O21\LaravelWallet\Transaction\Preparer $preparer */ + $preparer = app(TransactionPreparer::class); + $preparer->prepare($tx); + } } public function updated(Transaction $tx): void @@ -41,12 +47,6 @@ public function updated(Transaction $tx): void event(new TransactionStatusChanged($tx, $originalStatus)); } - if ($tx->wasChanged('amount')) { - /** @var \O21\LaravelWallet\Transaction\Preparer $preparer */ - $preparer = app(TransactionPreparer::class); - $preparer->prepare($tx); - } - event(new TransactionUpdated($tx)); } diff --git a/tests/TransactionTest.php b/tests/TransactionTest.php index 7661ffd..6d61f2d 100644 --- a/tests/TransactionTest.php +++ b/tests/TransactionTest.php @@ -460,7 +460,7 @@ public function test_received_changed_when_amount_changed(): void $this->assertEquals( 40, - $tx->received + $tx->fresh()->received ); } }