Commit Graph

59 Commits

Author SHA1 Message Date
0f45727ddc Add a new test case when verifying creator key with API
[MAILPOET-4464]
2022-10-17 12:15:07 +02:00
b96b549f43 Unschedule cron actions before running migrations
We don't want to run any actions during migrations.
This will also clean duplicate trigger actions
that were potentially created because of requests race conditions.
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
f1b59173dd Add filters into newsletter response
[MAILPOET-4583]
2022-10-05 14:14:34 +02:00
7e6f708df8 Create tags when do not exist
[MAILPOET-4557]
2022-09-28 11:42:51 +02:00
ef66a21096 Remove old ScheduledTask model from Config\Populator
[MAILPOET-4306]
2022-09-26 14:18:01 +02:00
a006701d78 PR feedback: add type hints, create new methods and save on extra api request
MAILPOET-4601
2022-09-26 11:13:40 +02:00
32a58301b0 Update test cases in ServicesTest
support sending congratulatory email when sender domain is verified but
no authorized email address

MAILPOET-4601
2022-09-26 11:13:40 +02:00
31732dbf3b Update tests, update dependencies
MAILPOET-4601
2022-09-26 11:13:40 +02:00
df8ba7351c Replace old SendingQueue model with Doctrine code in SubscribersTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
85d317015f Replace old Segment model with Doctrine code in SubscribersTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
4157a864e5 Replace old Subscriber and SubscriberSegment models with Doctrine code in SubscribersTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
929e5e6081 Replace old CustomField model with Doctrine code in SubscribersTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
8191af6a23 Replace old models with Doctrine code in SettingsTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
c3ab2fffec Replace old models with Doctrine code in NewslettersTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
f19e98091c Replace CustomField model with Doctrine code in CustomFieldsTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
6bf36d4211 Make sure the subscriber_segment table is truncated
This is necessary while
https://mailpoet.atlassian.net/browse/MAILPOET-4580. Without this
change, leaving entries in wp_mailpoet_subscriber_segment has the
potential to interfere with other tests as it happened in the test added
for the ticket MAILPOET-4365:

https://app.circleci.com/pipelines/github/mailpoet/mailpoet/11041/workflows/8cca6607-2e24-4529-a8ad-cf9a0c663180/jobs/191334/tests#failed-test-0

See MAILPOET-4580 for more details.

[MAILPOET-4365]
2022-09-19 13:35:39 +02:00
9e5f1d0ff0 Implement Show sender domain warning for settings
This would show the sender domain warning message for
domains that are not verified and have a Retricted DMARC Policy

MAILPOET-4302
2022-08-11 12:36:23 +02:00
e8b94761e5 Add tags into listing response
[MAILPOET-4441]
2022-07-14 10:37:49 +02:00
3009570640 Add integration test for SubscribersResponseBuilder
[MAILPOET-4440]
2022-07-12 13:35:00 +02:00
37c681259f Use data factories for generating entities
[MAILPOET-4440]
2022-07-12 13:35:00 +02:00
8399f37860 Reuse NewsletterOption factory
[MAILPOET-4440]
2022-07-12 13:35:00 +02:00
6aa4beb4dc Remove empty test
[MAILPOET-4432]
2022-07-04 14:04:16 +03:00
445d07ac68 Prevent segmentation of automation emails
[MAILPOET-4432]
2022-07-04 14:04:16 +03:00
d340909187 Replace repeating code with using factory
[MAILPOET-4141]
2022-06-20 12:00:47 +02:00
3d1365595b Remove catch block and change quotes
Remove catch block to log unexpected exceptions and change quotes for consistency on error message.

[MAILPOET-4259]
2022-06-06 11:59:27 +02:00
2e5e8e808f Verify that new email is unique when editing a subscriber
Throws an exception with information message if email already exists.

[MAILPOET-4259]
2022-06-06 11:59:27 +02:00
c1bd52b964 Add code to display the invisible ReCaptcha in the frontend
This commit adds the required code to display the invisible ReCaptcha in
the frontend when a form is rendered and this type of captcha is
selected in the admin.

[MAILPOET-4145]
2022-05-19 09:22:30 +02:00
db4ef57b2e Fix failing test in AutomatedLatestContentTest
[MAILPOET-4251]
2022-05-17 14:17:26 +02:00
fce14358bf Revert "Replace NewsletterOption and NewsletterOptionField models"
This reverts commit 9b087f719f.
2022-05-17 12:27:46 +02:00
d89067854c Replace NewsletterOption and NewsletterOptionField models
This commit repleaces the old NewsletterOption and NewsletterOptionField
models with Doctrine code in several test classes.

[MAILPOET-4150]
2022-05-16 13:18:21 +02:00
780dd7f609 Use data factory for test newsletter
MAILPOET-4236
2022-05-16 11:17:29 +02:00
0159418251 Remove unnecessarily specific test
This case is handled in the newsletter validator's integration tests

MAILPOET-4236
2022-05-16 11:17:29 +02:00
115fe9c511 Make test more generic
We already have a specific test for the newsletter validator to check
for the missing unsubscribe link case. All we really care about for the
sending queue is that it rejects newsletters that are considered invalid
 for any reason.

MAILPOET-4236
2022-05-16 11:17:29 +02:00
702d00c6e4 Refactor to use service override helper
MAILPOET-4236
2022-05-16 11:17:29 +02:00
c98f3bba29 Refactor mock service creation to use new helper
MAILPOET-4236
2022-05-16 11:17:29 +02:00
ab609c8867 Remove subscriber check from newsletter validator
Checking the subscriber limit has nothing to do with the newsletter
itself, so it makes more sense to continue to perform that check as
needed elsewhere in the codebase.

MAILPOET-4236
2022-05-16 11:17:29 +02:00
8983d5e3f7 Move subscriber limit check into validator
[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
9bfe2b2ca1 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]
2022-05-16 11:17:29 +02:00
a5103f9596 Move reengagement validations into validator
[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
27a86d2ca6 Check validity on activating newsletters
This prevents users from activating automatic emails from listing pages
that are not valid.

This also adds more checks for the content of a newsletter, requiring
that a newsletter have at least one content block in order to be valid.
This change makes the server side validation check match what we're
checking in the editor in mailpoet/assets/js/src/newsletter_editor
/components/save.js and mailpoet/assets/js/src/newsletters/send.jsx

[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
fdaf22d46b Extract newsletter validation to a service
[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
ed164ac397 Replace Paris code with Doctrine in NewslettersResponseBuilder.php
[MAILPOET-4138]
2022-05-09 13:04:56 +02:00
62c7022227 Improve message for confirmation emails when confirmation is disabled
[MAILPOET-4149]
2022-05-02 13:47:54 +02:00
ca3f8bdc43 Make Scheduler non-static
[MAILPOET-4252]
2022-04-25 12:08:18 +02:00
6b758d90e6 Use MailerFactory in Mailer api
[MAILPOET-4115]
2022-04-11 16:54:38 +02:00
06fb13bd86 Use MailerFactory in sending queue API mailer config check
[MAILPOET-4115]
2022-04-11 16:54:38 +02:00
fc1f3e6dc2 Inline generateToken for clarity
The only thing Security::generateToken was providing was a default value
 for the $action, which created a pattern of using the same $action
 everywhere, which may not be the best way to go.

 Since it was essentially a wrapper for WP's built-in nonce functions,
 it seemed clearer to use those functions directly to be more explicit
 about how we're handling tokens.

[MAILPOET-2030]
2022-04-11 10:29:35 +02:00
d07b45c83b Fix minor coding style error
[MAILPOET-4225]
2022-04-11 09:20:21 +02:00
e00d71b781 Remove WP < 4.5.0 compatibility code
This commit removes the method Posts::getTerms() as it existed to add a
compatibility layer for sites running WP < 4.5.0 and we don't support
this version anymore. The signature of the WP get_terms() function was
changed in version 4.5.0 and that is why this compatibility layer was
needed.

The integration test class for this method was also removed. The only
place where this method was used, AutomatedLatestContent::getTerms(),
now call WPFunctions->getTerms() directly. A very basic integration test
was added to cover the happy path of AutomatedLatestContent::getTerms().

[MAILPOET-4225]
2022-04-11 09:20:21 +02:00
d1b8ddee91 Refactor SendingTaskSubscriber API Test to doctrine
[MAILPOET-4006]
2022-04-04 15:33:52 +02:00