Skip to content

Commit f4d66aa

Browse files
committed
fix safeResetConfirm
1 parent cf2c845 commit f4d66aa

File tree

4 files changed

+6
-25
lines changed

4 files changed

+6
-25
lines changed

src/Internal/Observers/TransactionObserver.php

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
use Bavix\Wallet\Exceptions\UnconfirmedInvalid;
88
use Bavix\Wallet\Exceptions\WalletOwnerInvalid;
9-
use Bavix\Wallet\Interfaces\Wallet;
109
use Bavix\Wallet\Internal\Exceptions\ExceptionInterface;
1110
use Bavix\Wallet\Internal\Exceptions\RecordNotFoundException;
1211
use Bavix\Wallet\Internal\Exceptions\TransactionFailedException;
@@ -25,15 +24,6 @@ final class TransactionObserver
2524
*/
2625
public function deleting(Transaction $model): bool
2726
{
28-
return $this->safeResetConfirm($model->wallet, $model);
29-
}
30-
31-
private function safeResetConfirm(Wallet $model, Transaction $transaction): bool
32-
{
33-
try {
34-
return $model->resetConfirm($transaction);
35-
} catch (UnconfirmedInvalid) {
36-
return true;
37-
}
27+
return $model->wallet->safeResetConfirm($model);
3828
}
3929
}

src/Internal/Observers/TransferObserver.php

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@
66

77
use Bavix\Wallet\Exceptions\UnconfirmedInvalid;
88
use Bavix\Wallet\Exceptions\WalletOwnerInvalid;
9-
use Bavix\Wallet\Interfaces\Wallet;
109
use Bavix\Wallet\Internal\Exceptions\ExceptionInterface;
1110
use Bavix\Wallet\Internal\Exceptions\RecordNotFoundException;
1211
use Bavix\Wallet\Internal\Exceptions\TransactionFailedException;
13-
use Bavix\Wallet\Models\Transaction;
1412
use Bavix\Wallet\Models\Transfer;
1513
use Bavix\Wallet\Services\AtomicServiceInterface;
1614
use Illuminate\Database\RecordsNotFoundException;
@@ -33,17 +31,8 @@ public function __construct(
3331
public function deleting(Transfer $model): bool
3432
{
3533
return $this->atomicService->blocks([$model->from, $model->to], function () use ($model) {
36-
return $this->safeResetConfirm($model->from, $model->withdraw)
37-
&& $this->safeResetConfirm($model->to, $model->deposit);
34+
return $model->from->safeResetConfirm($model->withdraw)
35+
&& $model->to->safeResetConfirm($model->deposit);
3836
});
3937
}
40-
41-
private function safeResetConfirm(Wallet $model, Transaction $transaction): bool
42-
{
43-
try {
44-
return $model->resetConfirm($transaction);
45-
} catch (UnconfirmedInvalid) {
46-
return true;
47-
}
48-
}
4938
}

src/Traits/CanConfirm.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ public function safeResetConfirm(Transaction $transaction): bool
9999
{
100100
try {
101101
return $this->resetConfirm($transaction);
102+
} catch (UnconfirmedInvalid) {
103+
return true;
102104
} catch (ExceptionInterface) {
103105
return false;
104106
}

tests/Units/Domain/ConfirmTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ public function testSafeUnconfirmed(): void
195195
$transaction = $wallet->deposit(1000, null, false);
196196
self::assertSame(0, $wallet->balanceInt);
197197
self::assertFalse($transaction->confirmed);
198-
self::assertFalse($wallet->safeResetConfirm($transaction));
198+
self::assertTrue($wallet->safeResetConfirm($transaction));
199199
}
200200

201201
public function testWalletOwnerInvalid(): void

0 commit comments

Comments
 (0)