Newsletter validation updates

- Rename validator to newsletterValidator for clarity
- Add validation for ALC content
- Refactor tests to use data factory for consistency and to avoid
validation issues
- Add separate tests for NewsletterValidator service
- Add test helper for retrieving service with private properties
overridden by name

[MAILPOET-4236]
This commit is contained in:
John Oleksowicz
2022-04-18 14:00:43 -05:00
committed by Veljko V
parent a5103f9596
commit 9bfe2b2ca1
9 changed files with 184 additions and 41 deletions

View File

@ -13,12 +13,12 @@ use MailPoet\Entities\ScheduledTaskEntity;
use MailPoet\Entities\SendingQueueEntity;
use MailPoet\Mailer\MailerFactory;
use MailPoet\Newsletter\NewslettersRepository;
use MailPoet\Newsletter\NewsletterValidator;
use MailPoet\Newsletter\Options\NewsletterOptionFieldsRepository;
use MailPoet\Newsletter\Options\NewsletterOptionsRepository;
use MailPoet\Newsletter\Scheduler\Scheduler;
use MailPoet\Newsletter\Sending\ScheduledTasksRepository;
use MailPoet\Newsletter\Sending\SendingQueuesRepository;
use MailPoet\Newsletter\Validator;
use MailPoet\Segments\SubscribersFinder;
use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsController;
@ -86,7 +86,7 @@ class SendingQueueTest extends \MailPoetTest {
$this->diContainer->get(ScheduledTasksRepository::class),
$this->diContainer->get(MailerFactory::class),
$this->diContainer->get(Scheduler::class),
$this->diContainer->get(Validator::class)
$this->diContainer->get(NewsletterValidator::class)
);
$res = $sendingQueue->add(['newsletter_id' => $this->newsletter->getId()]);
expect($res->status)->equals(APIResponse::STATUS_FORBIDDEN);
@ -169,7 +169,7 @@ class SendingQueueTest extends \MailPoetTest {
$this->diContainer->get(ScheduledTasksRepository::class),
$this->diContainer->get(MailerFactory::class),
$this->diContainer->get(Scheduler::class),
new Validator(Stub::make(Bridge::class, [
new NewsletterValidator(Stub::make(Bridge::class, [
'isMailpoetSendingServiceEnabled' => true,
]), $this->diContainer->get(TrackingConfig::class))
);