46 lines
981 B
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"]);
|
|
}
|
|
}
|