mirror of
https://github.com/Respect/Validation.git
synced 2026-03-17 07:45:45 +01:00
The problem with the current approach is that the "expect()" calls happen inside "tests/Pest.php". That means that when something fails, we can't easily know which exact expectation has failed. This commit will change the helper functions, and will make the tests more verbose, but event with that, the developer experience is better.
28 lines
881 B
PHP
28 lines
881 B
PHP
<?php
|
|
|
|
/*
|
|
* Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
test('Scenario #1', catchMessage(
|
|
fn() => v::iterableVal()->assert(3),
|
|
fn(string $message) => expect($message)->toBe('3 must be an iterable value')
|
|
));
|
|
|
|
test('Scenario #2', catchMessage(
|
|
fn() => v::not(v::iterableVal())->assert([2, 3]),
|
|
fn(string $message) => expect($message)->toBe('`[2, 3]` must not be an iterable value')
|
|
));
|
|
|
|
test('Scenario #3', catchFullMessage(
|
|
fn() => v::iterableVal()->assert('String'),
|
|
fn(string $fullMessage) => expect($fullMessage)->toBe('- "String" must be an iterable value')
|
|
));
|
|
|
|
test('Scenario #4', catchFullMessage(
|
|
fn() => v::not(v::iterableVal())->assert(new stdClass()),
|
|
fn(string $fullMessage) => expect($fullMessage)->toBe('- `stdClass {}` must not be an iterable value')
|
|
));
|