Commit Graph

16750 Commits

Author SHA1 Message Date
Rostislav Wolny
4662c03d0d Add activation tracking and display activation notice for re-engagement emails
[MAILPOET-4654]
2022-09-21 10:54:44 +02:00
Rostislav Wolny
38d7a8821c Add tracking of Automattic email activation
[MAILPOET-4654]
2022-09-21 10:54:44 +02:00
Rostislav Wolny
cba6f19bf8 Fix delay value in tracking of immediate welcome emails
I found out that we accidentally track values such as "1 immediate" etc.
This commit makes sure we track only string "immediate".
[MAILPOET-4654]
2022-09-21 10:54:44 +02:00
David Remer
e1e5749eca Change isTriggeredBy signature for clarity
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
f88c72a7c6 Rename SomeoneSubscribedTrigger to SomeoneSubscribesTrigger
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
40acca4cbe Use correct doc type
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
b914a1d2ec Rename SomeoneSubscribesTrigger key and class
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
ef02e4278c Name selected prop value prop to align with underlying FormTokenField props
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
a69b1264c9 Preload segments
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
c0e8a70f06 Turn no item selected to former 'any item' behavior
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
d093f4f5a7 Open on focus and select first match
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
3156c00a09 Add frontend for user registration trigger
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
bb5da626ba Add UserRegistrationTrigger
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
b0514a1366 Expose user roles to JavaScript
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
e2c9356f4c Execute WorkflowRun only when trigger criteria are met
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
9d2720f504 Extend arguments schema with segment_ids
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
1196df44a6 Add lists selector in sidebar
[MAILPOET-4587]
2022-09-21 10:38:17 +02:00
David Remer
b2969c1de1 Render Trigger title differently from usual steps
[MAILPOET-4587]
2022-09-21 10:38:17 +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
0677dbc3b0 Add method to set deletedAt property to SubscriberFactory
[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
Jan Lysý
090d592a9c Release 3.98.0 2022-09-20 13:12:00 +02:00
Rostislav Wolny
4256a18b82 Run COT related jobs only on trunk and branches prefixed cot-
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
9a7dc5a299 Add integration tests for Woo beta with COT off and disabled sync
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
dbf5ad94ef Add acceptance tests for Woo beta with COT disabled and no sync
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
5de513974b Fix running acceptance tests test group on Circle CI 2022-09-19 11:38:03 -03:00
Rostislav Wolny
5d8ccb96b4 Add configuration to allow failures in acceptance and integration test
This option is temporary until we and woo fix all the COT related issue so that all tests pass.
We want to monitor progress of the COT fixes and keep build green even when some issues are still present.
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
dfb551d91f Add acceptance test job for woo test with COT enabled
[MAILPOET-4752]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
65a6edff16 Add integration test job running woo tests with COT enabled
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
d7f6e907f0 Mark WooCommerce related acceptance tests with group woo
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
ebdeabaccf Add option to disable COT Synchronization into integration and acceptance tests
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
be9643515e Add option for toggle COT in integration and acceptance tests
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
b371c631c4 Add helper mu-plugin for adding COT in tests
When plugin is active COT is enabled. The plugin also adds WP CLI command
for creating custom order tables so that we don't have to do it via admin UI.
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
82218ca48c Add ./do reset:test-docker command
We already have a similar command ./do delete:docker which removes everything
related to docker for test environment including images.
This is an overkill in case one wants to do just basic cleanup of container and volumes e.g. to allow
activation of a different version of WooCommerce
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Rostislav Wolny
910ded0f30 Add temporary command for downloading WooCommerce build with COT
[MAILPOET-4572]
2022-09-19 11:38:03 -03:00
Jan Lysý
f2e355f7d5 Refactor building newsletters lists
Because some customers have a memory issue when we load all newsletters.
I used partial loading newsletters to prevent this error that was caused by json in the newsletter body.
[MAILPOET-4646]
2022-09-19 14:32:55 +02:00
Rodrigo Primo
6e399a5842 Replace getSubscribedSegments() with a new getSubscriberSegments() parameter
After the PR review, we decided to add a new $status parameter to
getSubscriberSegments() instead of creating getSubscribedSegments().

[MAILPOET-4365]
2022-09-19 13:35:39 +02:00
Rodrigo Primo
f21c47528e Use findBy() instead of getReference() to get segment entities
Initially, I had opted to use getReference() to avoid querying the
database to get the segment entities as all we need is the segment ID.
But I hadn't realized that this could cause problems if a segment that
is saved in the settings in the option woocommerce.segments is deleted.
Using findBy() here protects against this problem as, if the segment
doesn't exist anymore, it won't be returned.

[MAILPOET-4365]
2022-09-19 13:35:39 +02:00
Rodrigo Primo
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
Rodrigo Primo
5610295e7a Replace SubscriberSegment model with Doctrine code in Subscription
[MAILPOET-4365]
2022-09-19 13:35:39 +02:00
Rodrigo Primo
a428e16a09 Replace remaining uses of the Segment model with Doctrine in Subscription
[MAILPOET-4365]
2022-09-19 13:35:39 +02:00
Rodrigo Primo
d73e217eb1 Replace Paris models with Doctrine entities in Subscription::subscribeOnCheckout()
Besides Subscription::subscribeOnCheckout(), this commit also replaces
Paris models with Doctrine entities in all the methods that are called
by Subscription::subscribeOnCheckout().

[MAILPOET-4365]
2022-09-19 13:35:39 +02:00
Rodrigo Primo
fa1f88c86a Use getServiceWithOverrides() to instantiated tested class
Doing this instead of calling the constructor of the class directly to
avoid having to update the test class whenever there is a change to the
constructor of the tested class.

[MAILPOET-4365]
2022-09-19 13:35:39 +02:00
Rodrigo Primo
de6a0b4790 Add method to get segments that a subscriber is subscribed to
[MAILPOET-4365]
2022-09-19 13:35:39 +02:00
Rodrigo Primo
24f55fdebc Use SubscriberEntity instead of the Subscriber model to get statuses
[MAILPOET-4365]
2022-09-19 13:35:39 +02:00