Commit Graph

20468 Commits

Author SHA1 Message Date
John Oleksowicz
dda7da465f Update # of orders filter for orders with coupon
MAILPOET-5373
2024-01-14 18:40:17 +05:00
John Oleksowicz
09a5a5cbbc Map number of orders with coupon code
MAILPOET-5373
2024-01-14 18:40:17 +05:00
John Oleksowicz
09563b5bc9 Update frontend to include # orders with coupon code filter
MAILPOET-5373
2024-01-14 18:40:17 +05:00
Pavel Dohnal
fdec5e819a Fix tag mismatch
[MAILPOET-5827]
2024-01-12 13:29:53 +01:00
Jan Jakes
9019c81dc1 Add a simpler fix for inverse side entity relationship
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
94d044b5f7 Add a simpler fix for inverse side entity relationship
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
e96251db7e Fix bug when changing ScheduledTask in_progress field
In 3394568, SendingQueue::stopProgress() was refactored to use Doctrine
but a typo introduced a bug causing this method to set
ScheduledTaskEntity::inProgress to true instead of false:

3394568792 (diff-3a26b2d8faf9cc01efd5aef47b058c088c0de01b8074c3be7cefd9adb77fbaaaR551)

This luckly was caught by the
EditorCouponCest.php:seeNoticeWhenCouponCantGenerateAndResumeSending
acceptance test.

This commit fixes the problem and also adds two integration tests to
protect against similar regressions in the future.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
6c176450c0 Remove tests for \MailPoet\Tasks\Sending methods that were removed
Sending::removeSubscribers() and Sending::saveSubscriberError() were
removed in a previous commit but the tests were not.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
97cdd9e665 Remove Newsletter model from NewsletterSaveController
The code that was still using the newsletter model was not needed
anymore so it was simply removed.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
b2c2be4fb6 Update call Newsletter::preProcessNewsletter()
Newsletter::preProcessNewsletter() was refactored in a previous commit
to use Doctrine instead of Paris. As a result, the signature of this
method was changed, but one call was left using the old signature and
passing a Paris model instead of a Doctrine entity. This commit fixes
this issue.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
0604d97212 Improve test coverage for SendingQueue::processSending()
While working on the previous commit, I noticed that we had a test to
check removing subscribers that are not part of a segment associated
with a newsletter when sending
(testItRemovesSubscribersFromProcessingListWhenNewsletterHasSegmentAndSubscriberIsNotPartOfIt()).
But SendingQueue::processSending() also handles removing subscribers
when sending newsletters without segments. And there was not test to
cover this part of the code.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
876a9489a4 Replace \MailPoet\Tasks\Sending with Doctrine in SendingQueueTest
This commit also removes Sending::getSendingQueueEntity() as the last
calls to this method were removed when refactoring SendingQueueTest.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
75f7ea24a9 Rename createQueueWithTaskAndSegment() to createQueueWithTask()
Removed `AndSegment` from test helper method to better reflect what it does as it does not create a segment.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
e7416c247c Fix error after refactor of SendingErrorHandler
In 862c395d3263f30057aef73a14704345e181dde3, SendingErrorHandler was
refactored to replace the `\MailPoet\Tasks\Sending` class with Doctrine
code. Inside `processSoftError()`, a call to
`$sendingTask->saveSubscriberError()` was replaced with a call to
`$this->scheduledTaskSubscribersRepository->saveError()`. The problem is
that the former updates the processed and unprocessed counts in the
QueueEntity while the later doesn't.

This commit fixes this issue by calling
`$this->sendingQueuesRepository->updateCounts()` inside
`processSoftError()`.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
7bb40664cc Replace ScheduledTask model with Doctrine in SendingQueueTest
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
5891e09418 Replace simple uses of Newsletter and Subscriber models with Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
90b56d3aa8 Replace model ScheduledTaskSubscriber with Doctrine in SendingQueueTest
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
d2e226a932 Fix SendingQueueTests after Doctrine refactor
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
3b38b3034a Update calls to SendingQueue worker constructor in SendingQueueTest
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
9c0eea54f8 Rewrite NewsletterTest using Doctrine
testItLogsErrorWhenExistingRenderedNewsletterBodyIsInvalid() was removed
because since 0e13cd02c31baef706f852664570e3ddb014f56d,
preProcessNewsletter() doesn't throw an exception anymore for an invalid
newsletter body:

0e13cd02c3 (diff-449c06813489ce1e60006fdd40b4f23eb3a0cf290ff84b703dcee44b04435eadL142)

Presumably, this is because Doctrine won't allow the code to save an
invalid body.

testItLogsErrorWhenNewlyRenderedNewsletterBodyIsInvalid() was removed
because it doesn't seem to test what it was supposed to test and it is
not trivial to make it work. Even on trunk this test was passing because
`self::fail('Sending error exception was not thrown.')` throwns an
exception and not because preProcessNewsletter() was throwing an
exception.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
af43185373 Improve SendingQueue factory
This commit improves the SendingQueue factory by refreshing the
associated ScheduledTaskEntity. Without this, calling
ScheduledTaskEntity::getSendingQueue() returns null which is not
correct.

[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
70085c40bb Rewrite SendingErrorHandlerTest using Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Rodrigo Primo
cd7a5c7943 Rewrite LinksTest using Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
e3ff7ccaca Remove remaining usages of MailPoet\Task\Sending from SendingQueue::processSending()
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
fa266dadcd Rewrite SendingErrorHandler using Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
7e45fb1c79 Rewrite SendingQueue::sendNewsletter(), sendNewsletters(), and processSendResult() using Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
586ef334b0 Rewrite SendingQueue\Tasks\Newsletter::prepareNewsletterForSending() using Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
44c5ae5664 Pass Doctrine entity into SendingQueue::processQueue(), replace simple usages
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
ec792b30df Rewrite SendingQueue\Tasks\Newsletter::preProcessNewsletter() using Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
c31cbb73c0 Rewrite SendingQueue\Tasks\Links::process() using Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
16b2817ce6 Rewrite SendingQueue\Tasks\Newsletter::getNewsletterFromQueue() using Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
737c80f953 Rewrite SendingQueue::deleteTaskIfNewsletterDoesNotExist() and deleteTask() using Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
ff9b2a1adb Pass Doctrine entity into SendingQueue::processSending(), replace simple usages
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Jan Jakes
6307f6c155 Rewrite SendingQueue::process() and progress/timeout functions using Doctrine
[MAILPOET-5682]
2024-01-12 13:25:46 +01:00
Brezo Cordero
18bfa1bf2e Release 4.41.2 2024-01-11 11:45:49 -06:00
John Oleksowicz
efe4c47568 Display different notices before Feb 1st
MAILPOET-5819
2024-01-11 20:13:59 +05:00
Jan Lysý
b68df77aee Simplify ListBlock renderer
Because for nesting is better to doesn't have any wrapper, we add configured styles directly to the list tag
[MAILPOET-5790]
2024-01-11 14:39:08 +01:00
Jan Jakes
c88da4a86c Add test checks for legacy automatic email stats
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
632e2d6405 Add acceptance test for legacy automatic emails listing
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
324097fcfa Add acceptance test for automation listing
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
3f0a81aecc Update tests to reflect removed email types
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
874c3cac18 Use buttons from @wordpress/components, use secondary variants
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
b3a8ac4f1d Remove close button from newsletter types component
This is now handled using page header component with a back button.

[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
298ee505f8 Add header and heading to new email page
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
ef8d7bf264 Remove automation hiding logic
This was introduced in:

https://github.com/mailpoet/mailpoet/pull/4917
https://github.com/mailpoet/mailpoet/pull/5171

[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
7fbcf3a67d Add notice for legacy automatic emails in automation listing
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
b774fff3b9 Add legacy automation count to automation total count
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
25a51b0b7b Add stats for legacy automatic emails
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
92aef9ea05 Add description for legacy automatic emails
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00
Jan Jakes
29430db641 Add description for legacy welcome emails
[MAILPOET-5779]
2024-01-10 19:12:39 +05:00