|
5 | 5 | use Bavix\Wallet\Exceptions\AmountInvalid; |
6 | 6 | use Bavix\Wallet\Exceptions\BalanceIsEmpty; |
7 | 7 | use Bavix\Wallet\Models\Transaction; |
| 8 | +use Bavix\Wallet\Services\WalletService; |
8 | 9 | use Bavix\Wallet\Test\Models\UserFloat as User; |
9 | 10 |
|
10 | 11 | class WalletFloatTest extends TestCase |
@@ -227,6 +228,39 @@ public function testMantissa(): void |
227 | 228 | $this->assertEquals($user->balanceFloat, 10000.00 + 2556.72); |
228 | 229 | } |
229 | 230 |
|
| 231 | + /** |
| 232 | + * @return void |
| 233 | + */ |
| 234 | + public function testUpdateTransaction(): void |
| 235 | + { |
| 236 | + /** |
| 237 | + * @var User $user |
| 238 | + */ |
| 239 | + $user = factory(User::class)->create(); |
| 240 | + $this->assertEquals($user->balance, 0); |
| 241 | + |
| 242 | + $user->deposit(1000000); |
| 243 | + $this->assertEquals($user->balance, 1000000); |
| 244 | + $this->assertEquals($user->balanceFloat, 10000.00); |
| 245 | + |
| 246 | + $transaction = $user->withdrawFloat(2556.72); |
| 247 | + $this->assertEquals($transaction->amount, -255672); |
| 248 | + $this->assertEquals($transaction->amountFloat, -2556.72); |
| 249 | + $this->assertEquals($transaction->type, Transaction::TYPE_WITHDRAW); |
| 250 | + |
| 251 | + $transaction->type = Transaction::TYPE_DEPOSIT; |
| 252 | + $transaction->amountFloat = 2556.72; |
| 253 | + $this->assertTrue($transaction->save()); |
| 254 | + $this->assertTrue($user->wallet->refreshBalance()); |
| 255 | + |
| 256 | + $this->assertEquals($transaction->amount, 255672); |
| 257 | + $this->assertEquals($transaction->amountFloat, 2556.72); |
| 258 | + $this->assertEquals($transaction->type, Transaction::TYPE_DEPOSIT); |
| 259 | + |
| 260 | + $this->assertEquals($user->balance, 1000000 + 255672); |
| 261 | + $this->assertEquals($user->balanceFloat, 10000.00 + 2556.72); |
| 262 | + } |
| 263 | + |
230 | 264 | /** |
231 | 265 | * @return void |
232 | 266 | */ |
|
0 commit comments