Server IP : 66.29.132.124 / Your IP : 3.143.7.112 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/vendor/bavix/laravel-wallet/tests/ |
Upload File : |
<?php namespace Bavix\Wallet\Test; use Bavix\Wallet\Models\Transfer; use Bavix\Wallet\Test\Factories\UserMultiFactory; use Bavix\Wallet\Test\Models\UserMulti; class ExchangeTest extends TestCase { /** * @return void */ public function testSimple(): void { /** * @var UserMulti $user */ $user = UserMultiFactory::new()->create(); $usd = $user->createWallet([ 'name' => 'My USD', 'slug' => 'usd', ]); $rub = $user->createWallet([ 'name' => 'Мои рубли', 'slug' => 'rub', ]); self::assertEquals(0, $rub->balance); self::assertEquals(0, $usd->balance); $rub->deposit(10000); self::assertEquals(10000, $rub->balance); self::assertEquals(0, $usd->balance); $transfer = $rub->exchange($usd, 10000); self::assertEquals(0, $rub->balance); self::assertEquals(147, $usd->balance); self::assertEquals(1.47, $usd->balanceFloat); // $1.47 self::assertEquals(0, $transfer->fee); self::assertEquals(Transfer::STATUS_EXCHANGE, $transfer->status); $transfer = $usd->exchange($rub, $usd->balance); self::assertEquals(0, $usd->balance); self::assertEquals(9938, $rub->balance); self::assertEquals(Transfer::STATUS_EXCHANGE, $transfer->status); } /** * @return void */ public function testSafe(): void { /** * @var UserMulti $user */ $user = UserMultiFactory::new()->create(); $usd = $user->createWallet([ 'name' => 'My USD', 'slug' => 'usd', ]); $rub = $user->createWallet([ 'name' => 'Мои рубли', 'slug' => 'rub', ]); self::assertEquals(0, $rub->balance); self::assertEquals(0, $usd->balance); $transfer = $rub->safeExchange($usd, 10000); self::assertNull($transfer); } }