assertPasses(BankCardStoreRequest::class, ['card_number' => '6037991234567890', 'holder_name' => 'علی رضایی']); } public function test_fails_without_required_fields(): void { $errors = $this->formRequestErrors(BankCardStoreRequest::class, []); $this->assertArrayHasKey('card_number', $errors); $this->assertArrayHasKey('holder_name', $errors); } public function test_fails_when_card_number_is_not_sixteen_digits(): void { $this->assertFailsOn('card_number', BankCardStoreRequest::class, ['card_number' => '603799123456789', 'holder_name' => 'x']); $this->assertFailsOn('card_number', BankCardStoreRequest::class, ['card_number' => '60379912345678901', 'holder_name' => 'x']); $this->assertFailsOn('card_number', BankCardStoreRequest::class, ['card_number' => '6037-9912-3456-7890', 'holder_name' => 'x']); } public function test_fails_when_holder_name_is_too_long(): void { $this->assertFailsOn('holder_name', BankCardStoreRequest::class, ['card_number' => '6037991234567890', 'holder_name' => str_repeat('a', 256)]); } }