2022-11-27 11:39:40 +01:00
|
|
|
<?php
|
|
|
|
|
2022-11-27 13:54:13 +01:00
|
|
|
namespace php;
|
2022-11-27 11:39:40 +01:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Unit tests for `IsNotBlankRule`.
|
|
|
|
*/
|
|
|
|
final class IsNotBlankRuleTest extends RuleTest
|
|
|
|
{
|
|
|
|
function get_rule(?string $override = null): Rule
|
|
|
|
{
|
|
|
|
return new IsNotBlankRule($override);
|
|
|
|
}
|
|
|
|
|
|
|
|
function get_valid_input(): ?string
|
|
|
|
{
|
|
|
|
return "not-blank";
|
|
|
|
}
|
|
|
|
|
|
|
|
function get_invalid_input(): ?string
|
|
|
|
{
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function test_returns_null_if_string_is_not_blank(): void
|
|
|
|
{
|
|
|
|
$rule = new IsNotBlankRule();
|
|
|
|
|
|
|
|
$is_valid = $rule->check(["input" => "not-blank"], "input");
|
|
|
|
|
|
|
|
$this->assertNull($is_valid);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function test_returns_response_message_if_input_is_the_empty_string(): void
|
|
|
|
{
|
|
|
|
$rule = new IsNotBlankRule();
|
|
|
|
|
|
|
|
$is_valid = $rule->check(["input" => ""], "input");
|
|
|
|
|
|
|
|
$this->assertNotNull($is_valid);
|
|
|
|
$this->assertEquals("Use at least one character.", $is_valid->payload["message"]);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function test_returns_response_message_if_input_contains_whitespace_only(): void
|
|
|
|
{
|
|
|
|
$rule = new IsNotBlankRule();
|
|
|
|
|
|
|
|
$is_valid = $rule->check(["input" => " "], "input");
|
|
|
|
|
|
|
|
$this->assertNotNull($is_valid);
|
|
|
|
$this->assertEquals("Use at least one character.", $is_valid->payload["message"]);
|
|
|
|
}
|
|
|
|
}
|