death-notifier/src/test/php/IsNotBlankRuleTest.php

56 lines
1.3 KiB
PHP
Raw Normal View History

<?php
2022-11-27 13:54:13 +01:00
namespace php;
/**
* 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"]);
}
}