Commit Graph

118 Commits

Author SHA1 Message Date
David Remer
5b93b88f46 Add Tags endpoint
[PREMIUM-213]
2022-12-16 14:11:34 +01:00
Oluwaseun Olorunsola
c4bd2acd84 Update tests
MAILPOET-4649
2022-12-15 18:15:01 +01:00
Jan Jakes
82aeb89854 Use strict types in tests
[MAILPOET-2688]
2022-11-29 15:04:09 +01:00
David Remer
7db40b27b5 Fix errors automatically with phpcbf
[MAILPOET-4850]
2022-11-28 22:54:13 +03:00
David Remer
d2ec7bba42 Replace instance_of asserts in integration tests
[MAILPOET-4258]
2022-11-25 14:32:34 +01:00
David Remer
4832771185 Refactor the captcha system
The current Captcha class has a lot of responsibilities. It renders the captcha
image, can check if a certain captcha type is a Google captcha, if a captcha is
required for a certain email. The SubscriberSubscribeController is not only in
charge of "controlling" the subscription process but also validates, whether a
captcha is correct or not. This architecture made it difficult to extend the
functionality and introduce the audio captcha feature.

Therefore this commit refactors the captcha architecture and tries to seperate
the different concerns into several classes and objects. Validation is now done
by validators.

The CaptchaPhrase now is in charge of keeping the captcha phrase consistent
between the image and the new audio, so that you can renew the captcha and both
captchas are in sync.

[MAILPOET-4514]
2022-11-24 09:20:39 +01:00
Jan Jakes
d1df2d4f42 Add a helper function to create new table
[MAILPOET-4835]
2022-11-21 12:15:10 +01:00
Jan Jakes
c748b80447 Fix timestamp column problems with some MySQL versions and some SQL modes
[MAILPOET-4788]
2022-11-14 12:35:29 +02:00
Jan Jakes
725e0ecb00 Remove automation feature flag
[MAILPOET-4788]
2022-11-14 12:35:29 +02:00
Jan Jakes
2e328b6d7f Move temporary automation migrator to a new migration
[MAILPOET-4788]
2022-11-14 12:35:29 +02:00
Jan Jakes
a60562254c Temporarily fix reinstall test wiping out automation tables
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
9730fb9272 Move the old dbDelta-based migrator to a migration
This will ensure it runs once and from there, it will continue using the new migrations.

[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Jan Jakes
f65821256c Run migrations on activation
[MAILPOET-4466]
2022-11-07 10:05:42 +01:00
Sam Najian
0f45727ddc Add a new test case when verifying creator key with API
[MAILPOET-4464]
2022-10-17 12:15:07 +02:00
Rostislav Wolny
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
Jan Lysý
f1b59173dd Add filters into newsletter response
[MAILPOET-4583]
2022-10-05 14:14:34 +02:00
Jan Lysý
7e6f708df8 Create tags when do not exist
[MAILPOET-4557]
2022-09-28 11:42:51 +02:00
Rodrigo Primo
ef66a21096 Remove old ScheduledTask model from Config\Populator
[MAILPOET-4306]
2022-09-26 14:18:01 +02:00
Oluwaseun Olorunsola
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
Oluwaseun Olorunsola
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
Oluwaseun Olorunsola
31732dbf3b Update tests, update dependencies
MAILPOET-4601
2022-09-26 11:13:40 +02:00
Rodrigo Primo
df8ba7351c Replace old SendingQueue model with Doctrine code in SubscribersTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
Rodrigo Primo
85d317015f Replace old Segment model with Doctrine code in SubscribersTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
Rodrigo Primo
4157a864e5 Replace old Subscriber and SubscriberSegment models with Doctrine code in SubscribersTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
Rodrigo Primo
929e5e6081 Replace old CustomField model with Doctrine code in SubscribersTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
Rodrigo Primo
8191af6a23 Replace old models with Doctrine code in SettingsTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
Rodrigo Primo
c3ab2fffec Replace old models with Doctrine code in NewslettersTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
Rodrigo Primo
f19e98091c Replace CustomField model with Doctrine code in CustomFieldsTest
[MAILPOET-4378]
2022-09-20 15:54:19 +01:00
Oluwaseun Olorunsola
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
Jan Lysý
37c681259f Use data factories for generating entities
[MAILPOET-4440]
2022-07-12 13:35:00 +02:00
Jan Lysý
8399f37860 Reuse NewsletterOption factory
[MAILPOET-4440]
2022-07-12 13:35:00 +02:00
David Remer
6aa4beb4dc Remove empty test
[MAILPOET-4432]
2022-07-04 14:04:16 +03:00
David Remer
445d07ac68 Prevent segmentation of automation emails
[MAILPOET-4432]
2022-07-04 14:04:16 +03:00
Jan Lysý
d340909187 Replace repeating code with using factory
[MAILPOET-4141]
2022-06-20 12:00:47 +02:00
Brezo Cordero
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
Brezo Cordero
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
Rodrigo Primo
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
Sam Najian
db4ef57b2e Fix failing test in AutomatedLatestContentTest
[MAILPOET-4251]
2022-05-17 14:17:26 +02:00
David Remer
fce14358bf Revert "Replace NewsletterOption and NewsletterOptionField models"
This reverts commit 9b087f719f.
2022-05-17 12:27:46 +02:00
Rodrigo Primo
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
John Oleksowicz
780dd7f609 Use data factory for test newsletter
MAILPOET-4236
2022-05-16 11:17:29 +02:00
John Oleksowicz
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
John Oleksowicz
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
John Oleksowicz
702d00c6e4 Refactor to use service override helper
MAILPOET-4236
2022-05-16 11:17:29 +02:00
John Oleksowicz
c98f3bba29 Refactor mock service creation to use new helper
MAILPOET-4236
2022-05-16 11:17:29 +02:00
John Oleksowicz
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
John Oleksowicz
8983d5e3f7 Move subscriber limit check into validator
[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
John Oleksowicz
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
John Oleksowicz
a5103f9596 Move reengagement validations into validator
[MAILPOET-4236]
2022-05-16 11:17:29 +02:00
John Oleksowicz
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