diff --git a/src/Traits/HasWalletFloat.php b/src/Traits/HasWalletFloat.php index adb8decf..a624363d 100644 --- a/src/Traits/HasWalletFloat.php +++ b/src/Traits/HasWalletFloat.php @@ -317,7 +317,7 @@ public function forceTransferFloat( public function getBalanceFloatAttribute(): string { // Get the wallet. - $wallet = app(CastServiceInterface::class)->getWallet($this); + $wallet = app(CastServiceInterface::class)->getWallet($this, false); // Get the wallet balance. /** @var non-empty-string $balance */ diff --git a/tests/Units/Domain/BalanceTest.php b/tests/Units/Domain/BalanceTest.php index a202e39d..92796a6a 100644 --- a/tests/Units/Domain/BalanceTest.php +++ b/tests/Units/Domain/BalanceTest.php @@ -19,6 +19,25 @@ */ final class BalanceTest extends TestCase { + public function testBalanceWalletNotExists() + { + /** @var Buyer $buyer */ + $buyer = BuyerFactory::new()->create(); + self::assertFalse($buyer->relationLoaded('wallet')); + + self::assertSame(0, (int) $buyer->wallet->balance); + self::assertFalse($buyer->wallet->exists); + + self::assertSame(0, $buyer->wallet->balanceInt); + self::assertFalse($buyer->wallet->exists); + + self::assertSame(0., (float)$buyer->wallet->balanceFloat); + self::assertFalse($buyer->wallet->exists); + + self::assertSame(0., $buyer->wallet->balanceFloatNum); + self::assertFalse($buyer->wallet->exists); + } + public function testDepositWalletExists(): void { /** @var Buyer $buyer */