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

46 lines
981 B
PHP

<?php
namespace com\fwdekker\deathnotifier\validator;
/**
* Unit tests for `IsEmailRule`.
*/
class IsEmailRuleTest extends RuleTest
{
function get_rule(?string $override = null): Rule
{
return new IsEmailRule($override);
}
function get_valid_input(): ?string
{
return "test@test.test";
}
function get_invalid_input(): ?string
{
return "invalid";
}
public function test_returns_null_if_email_is_valid(): void
{
$rule = new IsEmailRule();
$is_valid = $rule->check(["email" => "example@example.com"], "email");
$this->assertNull($is_valid);
}
public function test_returns_response_message_if_email_is_invalid(): void
{
$rule = new IsEmailRule();
$is_valid = $rule->check(["email" => "example.com"], "email");
$this->assertNotNull($is_valid);
$this->assertEquals("Enter a valid email address.", $is_valid->payload["message"]);
}
}