Commit Graph

19873 Commits

Author SHA1 Message Date
d3b37f0463 Fix duplicate entity fetch request
[MAILPOET-5660]
2023-10-26 10:43:00 +02:00
30cdac6674 Fix scrolling in editor inserter
[MAILPOET-5637]
2023-10-26 10:43:00 +02:00
46f317563e Don't thrown an exception if data is incorrect
See https://github.com/mailpoet/mailpoet/pull/5238#discussion_r1371462690

[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
040ed6fa80 Minor improvement: use ScheduledTaskEntity::getSendingQueue()
Using it to avoid using $this->queue->id

[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
d4a80c7230 Move SendingQueueEntity::toArray() to SendingQueuesResponseBuilder::build()
Based on a suggestion during the review of the PR, it was decided that
it makes more sense for the code that was created as
SendingQueueEntity::toArray() tp be moved to
SendingQueuesResponseBuilder::build(). It is used only to build the
format that is send in the API response.

[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
69736c5e83 Fix typo in error message
[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
508fdd7756 Refresh Doctrine entities in SendingQueue::add() to avoid issues
Since SendingQueue::add() still uses Paris, it was running into some
problems caught by our integration tests since some Sending methods
where refactored to Doctrine. The issue was that we started loading some
Doctrine entities earlier, then Paris code inside SendingQueue::add()
would change the same rows, causing the Doctrine entities to contain
stale data. To workaround this problem, in this commit, we are making
sure that the Doctrine entities are refreshed after they are changed by
Paris.

I considered refactoring SendingQueue::add() to use Doctrine but I
wasn't sure what to do with SendingTask::create() and
SendingTask::createFromQueue() so I decided to take a different
approach.

[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
dc1cee5118 Replace Newsletter model with NewsletterEntity in SendingQueue
This was the easiest way to fix failing integration tests related to
updating some Sending methods to use Doctrine instead of Paris. Using
Paris in SendingQueue to update the database was creating a state where
Doctrine had stale data and this was causing the tests to fail.

[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
18d34202a8 Remove remaining uses of the ScheduledTaskSubscriber model from Sending
[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
63a0f0b940 Remove \MailPoet\Tasks\Subscribers class now that it is not used anymore
[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
8b4e747499 Refactor Sending::saveSubscriberError() to use Doctrine instead of Paris
[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
11f8de4176 Add integration test for Sending::saveSubscriberError()
[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
d5cb060cb5 Refactor Sending::delete() to use Doctrine instead of Paris
[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
2b368141db Refactor updateProcessedSubscribers() to use Doctrine instead of Paris
It was necessary to update a test to be more lenient when comparing
dates and another one to persist a change in Paris to the database.

[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
c0a091de04 Add the ScheduledTaskEntity as a property to the Sending class
Doing this instead of having to get the ScheduledTaskEntity in several
methods of this class.

[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
9f48427b1c Update test coverage for updateProcessedSubscribers()
[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
4e633f64fb Remove unused method removeAllSubscribers()
This method was added in c0c57f6b67 but
its only usage besides integration test was removed in
18a6a1c439. It doesn't seem like it is
still used in our code base.

[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
fefaf174cd Refactor Sending::removeSubscribers() to use Doctrine instead of Paris
[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
59d4ce3ba2 Update checkCompleted() to also change the processedAt field
This commit updates the method ScheduledTaskSubscribersRepository::checkCompleted() to update the processedAt field of the Scheduled Task. The method was added in f62d9b4167 and I believe it is meant to be a replacement to \MailPoet\Tasks\Subscribers::checkCompleted(). The original method updates the processedAt field, so I'm assuming the new method should update as well. I found this while working on refactoring \MailPoet\Tasks\Sending::removeSubscribers() to use Doctrine as this method calls \MailPoet\Tasks\Subscribers::checkCompleted() internaly.

[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
9c766c2f32 Fix typo
[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
6b56a3ab7f Improve test coverage for Sending::removeSubscribers()
[MAILPOET-4368]
2023-10-25 21:09:39 +02:00
d8da748b7b Updated selectors for k6 test to reflect new segmentation
[MAILPOET-5675]
2023-10-25 13:32:52 +02:00
57129bd460 Deprecate \MailPoet\Models\ScheduledTaskSubscriber::setSubscribers()
This model is no longer used since Sending::setSubscribers() was
refactored in a previous commit.

[MAILPOET-4368]
2023-10-25 10:31:45 +02:00
8fd8b8f193 Refactor Sending::setSubscribers() to use Doctrine instead of Paris
[MAILPOET-4368]
2023-10-25 10:31:45 +02:00
b252043dac Refactor Sending::getSubscribers() to use Doctrine instead of Paris
[MAILPOET-4368]
2023-10-25 10:31:45 +02:00
eb16cca0da Improve test coverage for Sending::getSubscribers()
[MAILPOET-4368]
2023-10-25 10:31:45 +02:00
52ebb9562c Replace ScheduledTaskSubscriber model with corresponding entity in SendingTest
[MAILPOET-4368]
2023-10-25 10:31:45 +02:00
6488bd5fd4 Replace Newsletter model with Newsletter entity in SendingTest
[MAILPOET-4368]
2023-10-25 10:31:45 +02:00
52195fc3f9 Release 4.34.0 2023-10-25 10:20:55 +02:00
b60da9faf6 Make sure offset is always number
We want to prevent an error 'Unsupported operand types: string * int'

[MAILPOET-5676]
2023-10-24 16:12:24 +02:00
8f1cdc6a0d Release 4.33.0 2023-10-24 12:27:35 +02:00
5fec40484a Remove PHPStan ignored error that is not happening anymore
This error was added to the list of PHPStan ignored errors in
153e32b3bc. It is not happening anymore so
it is safe to remove it. Probably one of the commits that changed the
used codeception/verify functions caused that but I didn't check which
one and I don't believe this is necessary.

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
2455388f8d Replace expect()->matchesFormat() with verify()->stringMatchesFormat()
codeception/verify 2.1 removed support for expect()->matchesFormat() so we need
to replace it with verify()->stringMatchesFormat().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
560f728713 Replace expect()->string() with verify()->isString()
codeception/verify 2.1 removed support for expect()->string() so we need
to replace it with verify()->isString().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
4f90774bec Replace expect()->int() with verify()->isInt()
codeception/verify 2.1 removed support for expect()->int() so we need
to replace it with verify()->isInt().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
65e4fe3b9f Replace expect()->callable() with verify()->isCallable()
codeception/verify 2.1 removed support for expect()->callable() so we need
to replace it with verify()->isCallable().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
73445afd70 Replace expect_that() with verify()->instanceOf()
codeception/verify 2.1 removed support for expect_that() so we need
to replace it with verify()->instanceOf().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
eb8351f964 Replace verify()->equals() with verify->equalsWithDelta()
The second parameter of expect()->equals() could be a integer and in
this case it would be used as a delta when comparing the values.
verify()->equals() does not accept that and verify()->equalsWithDelta()
should be used.

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
fac7fbb4f1 Replace expect()->notContains() with verify()->arrayNotContains()
codeception/verify 2.1 removed support for expect()->lessThan() so we need
to replace it with verify()->lessThan().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
8bc4d78c68 Replace expect()->regExp() with verify()->stringMatchesRegExp()
codeception/verify 2.1 removed support for expect()->regExp() so we need
to replace it with verify()->stringMatchesRegExp().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
2ced2b4afa Replace expect()->lessThan() with verify()->lessThan()
codeception/verify 2.1 removed support for expect()->lessThan() so we need
to replace it with verify()->lessThan().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
a54e1f3c01 Replace expect()->greaterOrEquals() with verify()->greaterThanOrEqual()
codeception/verify 2.1 removed support for expect()->greaterOrEquals() so we need
to replace it with verify()->greaterThanOrEqual().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
c1c59fe392 Replace expect()->lessOrEquals() with verify()->lessThanOrEqual()
codeception/verify 2.1 removed support for expect()->lessOrEquals() so we need
to replace it with verify()->lessThanOrEqual().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
e4f0b89032 Replace expect()->contains() with verify()->arrayContains()
codeception/verify 2.1 removed support for expect()->contains() so we need
to replace it with verify()->arrayContains().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
fa9236d8c9 Replace expect()->greaterThan() with verify()->greaterThan()
codeception/verify 2.1 removed support for expect()->greaterThan() so we need
to replace it with verify()->greaterThan().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
b5b4106da4 Replace expect()->endsWith() with verify()->stringEndsWith()
codeception/verify 2.1 removed support for expect()->endsWith() so we need
to replace it with verify()->stringEndsWith().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
4bc4e9b254 Replace expect()->startsWith() with verify()->stringStartsWith()
codeception/verify 2.1 removed support for expect()->startsWith() so we need
to replace it with verify()->stringStartsWith().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
a1f57361c5 Replace expect()->array() with verify()->isArray()
codeception/verify 2.1 removed support for expect()->array() so we need
to replace it with verify()->isArray().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
c41e5c7d0f Replace expect()->hasNotKey() with verify()->arrayHasNotKey()
codeception/verify 2.1 removed support for expect()->hasNotKey() so we need
to replace it with verify()->arrayHasNotKey().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
525495409c Replace expect()->notNull() with verify()->notNull()
codeception/verify 2.1 removed support for expect()->notNull() so we need
to replace it with verify()->notNull().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00