40 lines
1.1 KiB
PHP
40 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Tests\Feature\Requests\Client;
|
|
|
|
use App\Http\Requests\Client\WalletDepositRequest;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use Tests\Concerns\ValidatesFormRequests;
|
|
use Tests\TestCase;
|
|
|
|
class WalletDepositRequestTest extends TestCase
|
|
{
|
|
use RefreshDatabase, ValidatesFormRequests;
|
|
|
|
public function test_passes_with_amount_in_range(): void
|
|
{
|
|
$this->assertPasses(WalletDepositRequest::class, ['amount' => 10000]);
|
|
$this->assertPasses(WalletDepositRequest::class, ['amount' => 500000000]);
|
|
}
|
|
|
|
public function test_fails_without_amount(): void
|
|
{
|
|
$this->assertFailsOn('amount', WalletDepositRequest::class, []);
|
|
}
|
|
|
|
public function test_fails_with_non_integer_amount(): void
|
|
{
|
|
$this->assertFailsOn('amount', WalletDepositRequest::class, ['amount' => '10000.5']);
|
|
}
|
|
|
|
public function test_fails_below_minimum(): void
|
|
{
|
|
$this->assertFailsOn('amount', WalletDepositRequest::class, ['amount' => 9999]);
|
|
}
|
|
|
|
public function test_fails_above_maximum(): void
|
|
{
|
|
$this->assertFailsOn('amount', WalletDepositRequest::class, ['amount' => 500000001]);
|
|
}
|
|
}
|