Unify responses of newsletter editing API methods with get()
[MAILPOET-5779]
This commit is contained in:
@ -163,6 +163,8 @@ class Newsletters extends APIEndpoint {
|
|||||||
$newsletter = $this->newsletterSaveController->save($data);
|
$newsletter = $this->newsletterSaveController->save($data);
|
||||||
$response = $this->newslettersResponseBuilder->build($newsletter, [
|
$response = $this->newslettersResponseBuilder->build($newsletter, [
|
||||||
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
||||||
|
NewslettersResponseBuilder::RELATION_OPTIONS,
|
||||||
|
NewslettersResponseBuilder::RELATION_QUEUE,
|
||||||
]);
|
]);
|
||||||
$previewUrl = $this->getViewInBrowserUrl($newsletter);
|
$previewUrl = $this->getViewInBrowserUrl($newsletter);
|
||||||
$response = $this->wp->applyFilters('mailpoet_api_newsletters_save_after', $response);
|
$response = $this->wp->applyFilters('mailpoet_api_newsletters_save_after', $response);
|
||||||
@ -237,7 +239,11 @@ class Newsletters extends APIEndpoint {
|
|||||||
$this->newslettersRepository->flush();
|
$this->newslettersRepository->flush();
|
||||||
|
|
||||||
return $this->successResponse(
|
return $this->successResponse(
|
||||||
$this->newslettersResponseBuilder->build($newsletter)
|
$this->newslettersResponseBuilder->build($newsletter, [
|
||||||
|
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
||||||
|
NewslettersResponseBuilder::RELATION_OPTIONS,
|
||||||
|
NewslettersResponseBuilder::RELATION_QUEUE,
|
||||||
|
])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,7 +253,11 @@ class Newsletters extends APIEndpoint {
|
|||||||
$this->newslettersRepository->bulkRestore([$newsletter->getId()]);
|
$this->newslettersRepository->bulkRestore([$newsletter->getId()]);
|
||||||
$this->newslettersRepository->refresh($newsletter);
|
$this->newslettersRepository->refresh($newsletter);
|
||||||
return $this->successResponse(
|
return $this->successResponse(
|
||||||
$this->newslettersResponseBuilder->build($newsletter),
|
$this->newslettersResponseBuilder->build($newsletter, [
|
||||||
|
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
||||||
|
NewslettersResponseBuilder::RELATION_OPTIONS,
|
||||||
|
NewslettersResponseBuilder::RELATION_QUEUE,
|
||||||
|
]),
|
||||||
['count' => 1]
|
['count' => 1]
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@ -263,7 +273,11 @@ class Newsletters extends APIEndpoint {
|
|||||||
$this->newslettersRepository->bulkTrash([$newsletter->getId()]);
|
$this->newslettersRepository->bulkTrash([$newsletter->getId()]);
|
||||||
$this->newslettersRepository->refresh($newsletter);
|
$this->newslettersRepository->refresh($newsletter);
|
||||||
return $this->successResponse(
|
return $this->successResponse(
|
||||||
$this->newslettersResponseBuilder->build($newsletter),
|
$this->newslettersResponseBuilder->build($newsletter, [
|
||||||
|
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
||||||
|
NewslettersResponseBuilder::RELATION_OPTIONS,
|
||||||
|
NewslettersResponseBuilder::RELATION_QUEUE,
|
||||||
|
]),
|
||||||
['count' => 1]
|
['count' => 1]
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@ -294,7 +308,11 @@ class Newsletters extends APIEndpoint {
|
|||||||
$duplicate = $this->newsletterSaveController->duplicate($newsletter);
|
$duplicate = $this->newsletterSaveController->duplicate($newsletter);
|
||||||
$this->wp->doAction('mailpoet_api_newsletters_duplicate_after', $newsletter, $duplicate);
|
$this->wp->doAction('mailpoet_api_newsletters_duplicate_after', $newsletter, $duplicate);
|
||||||
return $this->successResponse(
|
return $this->successResponse(
|
||||||
$this->newslettersResponseBuilder->build($duplicate),
|
$this->newslettersResponseBuilder->build($duplicate, [
|
||||||
|
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
||||||
|
NewslettersResponseBuilder::RELATION_OPTIONS,
|
||||||
|
NewslettersResponseBuilder::RELATION_QUEUE,
|
||||||
|
]),
|
||||||
['count' => 1]
|
['count' => 1]
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
@ -201,7 +201,13 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
verify($response->status)->equals(APIResponse::STATUS_OK);
|
verify($response->status)->equals(APIResponse::STATUS_OK);
|
||||||
$updatedNewsletter = $this->newsletterRepository->findOneById($this->newsletter->getId());
|
$updatedNewsletter = $this->newsletterRepository->findOneById($this->newsletter->getId());
|
||||||
$this->assertInstanceOf(NewsletterEntity::class, $updatedNewsletter); // PHPStan
|
$this->assertInstanceOf(NewsletterEntity::class, $updatedNewsletter); // PHPStan
|
||||||
verify($response->data)->equals($this->newslettersResponseBuilder->build($updatedNewsletter, [NewslettersResponseBuilder::RELATION_SEGMENTS]));
|
verify($response->data)->equals(
|
||||||
|
$this->newslettersResponseBuilder->build($updatedNewsletter, [
|
||||||
|
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
||||||
|
NewslettersResponseBuilder::RELATION_OPTIONS,
|
||||||
|
NewslettersResponseBuilder::RELATION_QUEUE,
|
||||||
|
])
|
||||||
|
);
|
||||||
verify($updatedNewsletter->getType())->equals('Updated type');
|
verify($updatedNewsletter->getType())->equals('Updated type');
|
||||||
verify($updatedNewsletter->getSubject())->equals('Updated subject');
|
verify($updatedNewsletter->getSubject())->equals('Updated subject');
|
||||||
verify($updatedNewsletter->getPreheader())->equals('Updated preheader');
|
verify($updatedNewsletter->getPreheader())->equals('Updated preheader');
|
||||||
@ -347,7 +353,13 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
verify($response->status)->equals(APIResponse::STATUS_OK);
|
verify($response->status)->equals(APIResponse::STATUS_OK);
|
||||||
$newsletter = $this->newsletterRepository->findOneById($this->newsletter->getId());
|
$newsletter = $this->newsletterRepository->findOneById($this->newsletter->getId());
|
||||||
$this->assertInstanceOf(NewsletterEntity::class, $newsletter);
|
$this->assertInstanceOf(NewsletterEntity::class, $newsletter);
|
||||||
verify($response->data)->equals($this->newslettersResponseBuilder->build($newsletter));
|
verify($response->data)->equals(
|
||||||
|
$this->newslettersResponseBuilder->build($newsletter, [
|
||||||
|
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
||||||
|
NewslettersResponseBuilder::RELATION_OPTIONS,
|
||||||
|
NewslettersResponseBuilder::RELATION_QUEUE,
|
||||||
|
])
|
||||||
|
);
|
||||||
verify($response->data['deleted_at'])->null();
|
verify($response->data['deleted_at'])->null();
|
||||||
verify($response->meta['count'])->equals(1);
|
verify($response->meta['count'])->equals(1);
|
||||||
}
|
}
|
||||||
@ -357,7 +369,13 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
verify($response->status)->equals(APIResponse::STATUS_OK);
|
verify($response->status)->equals(APIResponse::STATUS_OK);
|
||||||
$newsletter = $this->newsletterRepository->findOneById($this->newsletter->getId());
|
$newsletter = $this->newsletterRepository->findOneById($this->newsletter->getId());
|
||||||
$this->assertInstanceOf(NewsletterEntity::class, $newsletter);
|
$this->assertInstanceOf(NewsletterEntity::class, $newsletter);
|
||||||
verify($response->data)->equals($this->newslettersResponseBuilder->build($newsletter));
|
verify($response->data)->equals(
|
||||||
|
$this->newslettersResponseBuilder->build($newsletter, [
|
||||||
|
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
||||||
|
NewslettersResponseBuilder::RELATION_OPTIONS,
|
||||||
|
NewslettersResponseBuilder::RELATION_QUEUE,
|
||||||
|
])
|
||||||
|
);
|
||||||
verify($response->data['deleted_at'])->notNull();
|
verify($response->data['deleted_at'])->notNull();
|
||||||
verify($response->meta['count'])->equals(1);
|
verify($response->meta['count'])->equals(1);
|
||||||
}
|
}
|
||||||
@ -382,7 +400,13 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
verify($response->status)->equals(APIResponse::STATUS_OK);
|
verify($response->status)->equals(APIResponse::STATUS_OK);
|
||||||
$newsletterCopy = $this->newsletterRepository->findOneBy(['subject' => 'Copy of My Standard Newsletter']);
|
$newsletterCopy = $this->newsletterRepository->findOneBy(['subject' => 'Copy of My Standard Newsletter']);
|
||||||
$this->assertInstanceOf(NewsletterEntity::class, $newsletterCopy);
|
$this->assertInstanceOf(NewsletterEntity::class, $newsletterCopy);
|
||||||
verify($response->data)->equals($this->newslettersResponseBuilder->build($newsletterCopy));
|
verify($response->data)->equals(
|
||||||
|
$this->newslettersResponseBuilder->build($newsletterCopy, [
|
||||||
|
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
||||||
|
NewslettersResponseBuilder::RELATION_OPTIONS,
|
||||||
|
NewslettersResponseBuilder::RELATION_QUEUE,
|
||||||
|
])
|
||||||
|
);
|
||||||
verify($response->meta['count'])->equals(1);
|
verify($response->meta['count'])->equals(1);
|
||||||
|
|
||||||
$hookName = 'mailpoet_api_newsletters_duplicate_after';
|
$hookName = 'mailpoet_api_newsletters_duplicate_after';
|
||||||
@ -393,7 +417,13 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
verify($response->status)->equals(APIResponse::STATUS_OK);
|
verify($response->status)->equals(APIResponse::STATUS_OK);
|
||||||
$newsletterCopy = $this->newsletterRepository->findOneBy(['subject' => 'Copy of My Post Notification']);
|
$newsletterCopy = $this->newsletterRepository->findOneBy(['subject' => 'Copy of My Post Notification']);
|
||||||
$this->assertInstanceOf(NewsletterEntity::class, $newsletterCopy);
|
$this->assertInstanceOf(NewsletterEntity::class, $newsletterCopy);
|
||||||
verify($response->data)->equals($this->newslettersResponseBuilder->build($newsletterCopy));
|
verify($response->data)->equals(
|
||||||
|
$this->newslettersResponseBuilder->build($newsletterCopy, [
|
||||||
|
NewslettersResponseBuilder::RELATION_SEGMENTS,
|
||||||
|
NewslettersResponseBuilder::RELATION_OPTIONS,
|
||||||
|
NewslettersResponseBuilder::RELATION_QUEUE,
|
||||||
|
])
|
||||||
|
);
|
||||||
verify($response->meta['count'])->equals(1);
|
verify($response->meta['count'])->equals(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user