death-notifier/src/test/php/com/fwdekker/deathnotifier/validator/IsNotBlankRuleTest.php

56 lines
1.3 KiB
PHP

<?php
namespace com\fwdekker\deathnotifier\validator;
/**
* Unit tests for `IsNotBlankRule`.
*/
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"]);
}
}