Add getFullyOrPartiallyVerifiedSenderDomains

This function will replace getVerifiedDomains

[MAILPOET-5786]
This commit is contained in:
Brezo Cordero
2024-01-12 17:11:39 -06:00
committed by Aschepikov
parent aef1d65b6d
commit 01a3b3c5ca
2 changed files with 16 additions and 8 deletions

View File

@@ -160,24 +160,29 @@ class AuthorizedSenderDomainController {
return $response;
}
public function getSenderDomainsByStatus(string $status): array {
public function getSenderDomainsByStatus(array $status): array {
return array_filter($this->getAllRawData(), function(array $senderDomainData) use ($status) {
return ($senderDomainData['domain_status'] ?? null) === $status;
return in_array($senderDomainData['domain_status'] ?? null, $status);
});
}
public function getFullyVerifiedSenderDomains($domainsOnly = false): array {
$domainData = $this->getSenderDomainsByStatus(self::OVERALL_STATUS_VERIFIED);
$domainData = $this->getSenderDomainsByStatus([self::OVERALL_STATUS_VERIFIED]);
return $domainsOnly ? $this->extractDomains($domainData) : $domainData;
}
public function getPartiallyVerifiedSenderDomains($domainsOnly = false): array {
$domainData = $this->getSenderDomainsByStatus(self::OVERALL_STATUS_PARTIALLY_VERIFIED);
$domainData = $this->getSenderDomainsByStatus([self::OVERALL_STATUS_PARTIALLY_VERIFIED]);
return $domainsOnly ? $this->extractDomains($domainData) : $domainData;
}
public function getUnverifiedSenderDomains($domainsOnly = false): array {
$domainData = $this->getSenderDomainsByStatus(self::OVERALL_STATUS_UNVERIFIED);
$domainData = $this->getSenderDomainsByStatus([self::OVERALL_STATUS_UNVERIFIED]);
return $domainsOnly ? $this->extractDomains($domainData) : $domainData;
}
public function getFullyOrPartiallyVerifiedSenderDomains($domainsOnly = false): array {
$domainData = $this->getSenderDomainsByStatus([self::OVERALL_STATUS_PARTIALLY_VERIFIED,self::OVERALL_STATUS_VERIFIED]);
return $domainsOnly ? $this->extractDomains($domainData) : $domainData;
}

View File

@@ -227,13 +227,13 @@ class AuthorizedSenderDomainControllerTest extends \MailPoetTest {
$controller = $this->getController($bridgeMock);
$domainsByStatus = $controller->getSenderDomainsByStatus('verified');
$domainsByStatus = $controller->getSenderDomainsByStatus(['verified']);
$this->assertEqualsCanonicalizing([$verifiedDomain], $domainsByStatus);
$domainsByStatus = $controller->getSenderDomainsByStatus('partially-verified');
$domainsByStatus = $controller->getSenderDomainsByStatus(['partially-verified']);
$this->assertEqualsCanonicalizing([$partiallyVerifiedDomain], $domainsByStatus);
$domainsByStatus = $controller->getSenderDomainsByStatus('unverified');
$domainsByStatus = $controller->getSenderDomainsByStatus(['unverified']);
$this->assertEqualsCanonicalizing([$unverifiedDomain], $domainsByStatus);
$grouped = $controller->getSenderDomainsGroupedByStatus();
@@ -249,6 +249,9 @@ class AuthorizedSenderDomainControllerTest extends \MailPoetTest {
$domains = $controller->getPartiallyVerifiedSenderDomains(true);
$this->assertEqualsCanonicalizing(['example2.com'], $domains);
$domains = $controller->getFullyOrPartiallyVerifiedSenderDomains(true);
$this->assertEqualsCanonicalizing(['example1.com', 'example2.com'], $domains);
$domains = $controller->getUnverifiedSenderDomains(true);
$this->assertEqualsCanonicalizing(['example3.com'], $domains);
}