Test all supported save fields

[MAILPOET-2900]
This commit is contained in:
Jan Jakeš
2020-05-14 14:49:25 +02:00
committed by Veljko V
parent 688338bcdf
commit 4862d42e8b
4 changed files with 39 additions and 9 deletions

View File

@ -24,7 +24,10 @@ use function MailPoetVendor\array_column;
* @property string $type
* @property object|array|bool $queue
* @property string $hash
* @property string $senderName
* @property string $senderAddress
* @property string $replyToName
* @property string $replyToAddress
* @property string $status
* @property string|object $meta
* @property array $options

View File

@ -52,12 +52,7 @@ parameters:
-
message: "#^Cannot call method asArray\\(\\) on MailPoet\\\\Models\\\\Newsletter\\|false\\.$#"
count: 6
path: ../../tests/integration/API/JSON/v1/NewslettersTest.php
-
message: "#^Cannot access property \\$subject on MailPoet\\\\Models\\\\Newsletter\\|false\\.$#"
count: 1
count: 5
path: ../../tests/integration/API/JSON/v1/NewslettersTest.php
-

View File

@ -170,15 +170,31 @@ class NewslettersTest extends \MailPoetTest {
public function testItCanSaveANewsletter() {
$newsletterData = [
'id' => $this->newsletter->id,
'subject' => 'My Updated Newsletter',
'type' => 'Updated type',
'subject' => 'Updated subject',
'preheader' => 'Updated preheader',
'body' => '{"value": "Updated body"}',
'sender_name' => 'Updated sender name',
'sender_address' => 'Updated sender address',
'reply_to_name' => 'Updated reply-to name',
'reply_to_address' => 'Updated reply-to address',
'ga_campaign' => 'Updated GA campaign',
];
$response = $this->endpoint->save($newsletterData);
expect($response->status)->equals(APIResponse::STATUS_OK);
$updatedNewsletter = Newsletter::findOne($this->newsletter->id);
assert($updatedNewsletter instanceof Newsletter); // PHPStan
expect($response->data)->equals($updatedNewsletter->asArray());
expect($updatedNewsletter->subject)->equals('My Updated Newsletter');
expect($updatedNewsletter->type)->equals('Updated type');
expect($updatedNewsletter->subject)->equals('Updated subject');
expect($updatedNewsletter->preheader)->equals('Updated preheader');
expect($updatedNewsletter->body)->equals('{"value":"Updated body"}');
expect($updatedNewsletter->senderName)->equals('Updated sender name');
expect($updatedNewsletter->senderAddress)->equals('Updated sender address');
expect($updatedNewsletter->replyToName)->equals('Updated reply-to name');
expect($updatedNewsletter->replyToAddress)->equals('Updated reply-to address');
expect($updatedNewsletter->gaCampaign)->equals('Updated GA campaign');
}
public function testItReturnsErrorIfSubscribersLimitReached() {

View File

@ -31,11 +31,27 @@ class NewsletterSaveControllerTest extends \MailPoetTest {
$newsletter = $this->createNewsletter(NewsletterEntity::TYPE_STANDARD);
$newsletterData = [
'id' => $newsletter->getId(),
'type' => 'Updated type',
'subject' => 'Updated subject',
'preheader' => 'Updated preheader',
'body' => '{"value": "Updated body"}',
'sender_name' => 'Updated sender name',
'sender_address' => 'Updated sender address',
'reply_to_name' => 'Updated reply-to name',
'reply_to_address' => 'Updated reply-to address',
'ga_campaign' => 'Updated GA campaign',
];
$newsletter = $this->saveController->save($newsletterData);
expect($newsletter->getType())->equals('Updated type');
expect($newsletter->getSubject())->equals('Updated subject');
expect($newsletter->getPreheader())->equals('Updated preheader');
expect($newsletter->getBody())->equals(['value' => 'Updated body']);
expect($newsletter->getSenderName())->equals('Updated sender name');
expect($newsletter->getSenderAddress())->equals('Updated sender address');
expect($newsletter->getReplyToName())->equals('Updated reply-to name');
expect($newsletter->getReplyToAddress())->equals('Updated reply-to address');
expect($newsletter->getGaCampaign())->equals('Updated GA campaign');
}
public function testItDoesNotRerenderPostNotificationsUponUpdate() {