Commit Graph

96 Commits

Author SHA1 Message Date
Rodrigo Primo
dd1fcd5100 Add helper method to get the name of the WooCommerce order addresses table
[MAILPOET-4711]
2022-10-19 11:32:41 +02:00
Damien Alleyne
0c9e445fea Localize plugin description
[MAILPOET-4709]
2022-10-17 09:21:35 +02:00
Rostislav Wolny
a03f8f1c30 Use action scheduler's unique single action for daemon run
With the new unique parameter added in the action scheduler 3.5.0 the
as_schedule_single_action that schedules an immediate action
seems to be more convenient for the action scheduler.
We get better control over the scheduling of subsequent runs.
Note: We don't want to use the async action that is also executed immediately,
but it has the highest priority and we don't want to block actions scheduled by other plugins.
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rostislav Wolny
1711d60871 Schedule recurring actions as unique to prevent duplicate actions
We had some cases of multiple triggers created most probably because of a race conditions.
The unique action functionality added in the action scheduled 3.5.0 should prevent it.
[MAILPOET-4684]
2022-10-13 14:21:43 +02:00
Rodrigo Primo
c4c94c2db0 Change the way getName() is called to get rid of a PHPStan error
[MAILPOET-4695]
2022-10-06 12:16:47 +02:00
Rodrigo Primo
ef8bc9250a Change codeception extension to catch skipped tests
This commit changes the Codeception extension CheckSkippedTestsExtension
that we use to generate an error when tests are skipped in the `trunk` and
`release` branches. Now this extension accepts a list of tests that can
be skipped in those two branches. This will be necessary as part of the
project to support WooCommerce Custom Orders Tables as in some scenarios
we want to skip WooCommerce Subscriptions tests and in some we don't.
For now, WooCommerce Subscrptions doesn't support Woo COT, so we want to
run Woo Subscriptions tests when COT is disabled, but we want to skip
then when COT is enabled.

The main change is that now we are using the `TEST_SKIPPED` Codeception event
instead of the `SUITE_AFTER` event. This change was necessary as in the
latter event we don't have any information about the tests that were
skipped.

[MAILPOET-4695]
2022-10-06 12:16:47 +02:00
Rodrigo Primo
ff105f8e61 Add helper method to get the name of the WooCommerce orders table
[MAILPOET-4577]
2022-10-05 10:47:06 +02:00
Rodrigo Primo
fa4c4d02d6 Update method to enable WooCommerce Custom Orders Tables
The latest version development build of WooCommerce contains a change
that modified the method that should be called to enable Woo Custom
Orders Tables (see this Woo PR for more information:
https://github.com/woocommerce/woocommerce/pull/34727. This commit
update the plugin that we use in the acceptance and integration tests to
reflect this change.

[MAILPOET-4691]
2022-10-04 09:26:11 +02:00
Rodrigo Primo
83319949ef Use WooCommerce code instead of direct query to get highest order ID
[MAILPOET-4570]
2022-10-03 09:30:42 +02:00
Rodrigo Primo
b6bdce3535 Change insertSubscriberFromOrder() to use WooCommerce methods
This commit changes
\MailPoet\Segments\WooCommerce::insertSubscriberFromOrder() to use
WooCommerce method instead of querying the database directly. This is
needed as WooCommerce is moving away from WP tables and creating its own
tables.

[MAILPOET-4570]
2022-10-03 09:30:42 +02:00
Jan Lysý
4deb137063 Rename method in repository
[MAILPOET-4685]
2022-09-29 15:19:09 -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
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
Jan Lysý
5c57dd2006 Add saving tags for imported subscribers
[MAILPOET-4558]
2022-09-15 11:26:10 +02:00
Rodrigo Primo
43ece08227 Remove errors to be ignored by PHPStan that don't exist anymore
Fixing the logic to load the PHPStan baseline in the previous commit,
uncovered some ignored errors in phpstan-8.1-baseline.neon that don't
exist anymore.

[MAILPOET-4626]
2022-09-12 10:28:59 +01:00
Rodrigo Primo
76501d89d2 Fix logic to decide which PHPStan baseline file to use
There was a bug in the code that is used to decide which version of
the PHPStan baseline file should be loaded depending on the PHP
version that is being used.

The if condition for PHP 8.1 was `$phpVersion == 80100` which means
that it matched only PHP 8.1.0 and not any of the 8.1 patch
versions (like 8.1.1 and 8.1.2).

This commit fixes this problem and it also changes the order of the
checks so that they follow the version numbers in ascending order.
Before the checks where unordered.

[MAILPOET-4626]
2022-09-12 10:28:59 +01:00
Pavel Dohnal
5984c1be04 Add a command to calculate number of pull requests 2022-09-09 11:02:50 +02:00
Rodrigo Primo
842f81d40b Add method to detected if WooCommerce Custom Order Tables is enabled
[MAILPOET-4567]
2022-09-09 10:43:11 +02:00
Rostislav Wolny
0b54ae6506 Refactor updating create and modified dates in WooCommerce order factory
[MAILPOET-4566]
2022-09-08 13:02:52 +02:00
David Remer
dde3b159ea Add status parameter to getWorkflows method
[MAILPOET-4417]
2022-08-24 14:02:08 +02:00
Rodrigo Primo
e843d25c8b Check that changelog is not null before passing it to substr()
Starting with PHP 8.1, substr() generates a warning if the first
parameter is null. So, before calling it, we need to check if the
changelog is null or not.

[MAILPOET-4595]
2022-08-23 14:22:55 +02:00
David Remer
ed56df2398 Add WorkflowTemplate GET endpoint
[MAILPOET-4538]
2022-08-23 14:03:24 +02:00
David Remer
baa4d369af Introduce template storage and rebuild create form template endpoint
[MAILPOET-4538]
2022-08-23 14:03:24 +02:00
Rodrigo Primo
d874375c25 Remove MP2 migration main class and its test class
This commit removes the main MP2 migration class and its test class. It
also removes two SQL files that were used in the test class. One of
those files executed the following query:

`SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"`

Removing this query made the tests inside SubscriberSegmentTest fail
when running the whole integration test suite. To work around this, I
added the above mentioned query to SubscriberSegmentTest. I'm not sure
why this test class fails without this query when running all the tests
but it doesn't when it is executed alone. Probably there is another test
class changing the SQL_MODE. Since SubscriberSegmentTest is a test class
for a Paris model that we will eventually remove, I decided it was not
necessary to investigate this further.

[MAILPOET-4376]
2022-08-15 12:46:22 +02:00
Rostislav Wolny
02af3d6c2e Update sed command for fixing code sniffer to be Mac OS compatible
[MAILPOET-4560]
2022-08-11 12:30:33 +02:00
David Remer
7e9149f2aa Query workflow by version in StepRunner
[MAILPOET-4430]
2022-08-10 16:57:25 +02:00
David Remer
402cf63e6b Make I18N sniff compatbile with PHP8.1+
This is a hacky workaround to enable us to use the translation sniffs in a PHP 8 environment. We can get rid of
it, once the coding standards are compatible.

[MAILPOET-4524]
2022-08-09 13:23:16 +02:00
David Remer
45b344727c Allow 'mailpoet-premium' text-domain
[MAILPOET-4524]
2022-08-09 13:23:16 +02:00
David Remer
41a99f15f6 Allow for 'woocommerce' text-domain
[MAILPOET-4524]
2022-08-09 13:23:16 +02:00
David Remer
0b2b211b08 Add WP.I18n sniffs to our ruleset
[MAILPOET-4524]
2022-08-09 13:23:16 +02:00
alex-mailpoet
3a383fdd82 Fix var name in fix-guzzle.php 2022-08-09 14:13:18 +03:00
alex-mailpoet
a1ef5f9568 Fix type hint in fix-guzzle.php
[PREMIUM-199]
2022-08-08 17:28:05 +03:00
Sam Najian
0ac617abf7 Check guzzlehttp/guzzle version before attempting to patch
[PREMIUM-199]
2022-08-02 15:01:42 +02:00
Sam Najian
b2a5f47da7 Override http_build_query for in guzzle package
The http_build_query used in guzzle/src/Client.php
is not compatible with PHPv8.0+ since it accepts null as
second parameter while in newer versions of PHP this is
either deprecated or removed

[PREMIUM-199]
2022-08-02 15:01:42 +02:00
Jan Jakes
6faa8e30e1 Use pnpm patch for spectrum-colorpicker deprecated jQuery methods
This patch replaces deprecated jQuery methods in the spectrum-colorpicker dependency.
It can be removed when a fix is included in a package update.
See: https://github.com/bgrins/spectrum/pull/564

[MAILPOET-4485]
2022-07-26 15:45:54 +02:00
Jan Jakes
4c51001558 Use pnpm patch for parsleyjs deprecated jQuery methods
This patch replaces deprecated jQuery methods in parsleyjs. It can be removed this when
a fix is included in the package update.

Note: deferred.pipe() fix is not implemented yet, see https://github.com/guillaumepotier/Parsley.js/pull/1347

[MAILPOET-4485]
2022-07-26 15:45:54 +02:00
Jan Jakes
7dfb55e103 Use pnpm patch for backbone.supermodel strict mode fixes
This patch fixes strict mode issues in backbone.supermodel build.

[MAILPOET-4485]
2022-07-26 15:45:54 +02:00
Jan Jakes
06bd80eb85 Use pnpm patch for @woocommerce/components CSS fix
The style.css of @woocommerce/components contains invalid CSS strings like "(1fr)[2]"
that are not parseable by SASS. This patch fixes them to "1fr [2]" format.

[MAILPOET-4485]
2022-07-26 15:45:54 +02:00
Jan Lysý
571a91b809 Fix setting segment type
[MAILPOET-4292]
2022-07-14 11:29:09 +02:00
Oluwaseun Olorunsola
16590542cf Fix auth error with Circle CI
CircleCI HTTP basic authentication (basic_auth) requires the circle-token to be the username and the password should be empty.

MAILPOET-4436
2022-07-08 16:17:56 +01:00
Jan Jakes
5df8df3e22 Load WP and WC component styles for automation
[MAILPOET-4404]
2022-06-28 16:00:36 +02:00
Pavel Dohnal
a32af0c103 Fix Shop project 2022-06-21 13:17:45 +02:00
Pavel Dohnal
57937c71a0 Display number of reviews 2022-06-21 13:17:45 +02:00
Rostislav Wolny
116354c3b0 Add nicer error when downloading zip for deleted branch
[MAILPOET-4399]
2022-06-06 09:35:00 +02:00
Rostislav Wolny
75a6c66cb8 Update Circle CI Api from v1.1 to v2
The v1.1 API is deprecated and will be discontinued by the end of the year.
Instead of a single request on v1.1 we now need to fetch pipeline, then workflow and then jobs.
[MAILPOET-4399]
2022-06-06 09:35:00 +02:00
Rodrigo Primo
e56e2db9ef Update release script to use trunk instead of master
[MAILPOET-3466]
2022-05-31 11:23:33 +01:00
Jan Lysý
670e6e4cba Replace Swift Mailer for PHPMailer
[MAILPOET-4142]
2022-05-23 11:38:32 +02:00
Jan Lysý
1dd2c82634 Load PHPMailer
We don't support old loading for WordPress 5.5 and lower
[MAILPOET-4142]
2022-05-23 11:38:32 +02:00
Jan Jakes
47c5111996 Add method to fetch list of workflows to workflow storage
[MAILPOET-4287]
2022-05-19 10:09:05 +02:00
Rodrigo Primo
cf2a0eb5cc Get the list of tables to truncate when running tests dynamically
While removing some deprecated models in the commit
a525b96f16, I noticed that we maintain a
list of tables that needs to be truncated before running the integration
tests. To make it easier when removing future models and to make sure
the list of tables is always updated, in this commit, I'm removing the
manual list and changing the code to dynamically get the tables and
truncate them.

The code that I removed from _bootstrap.php, meant that PHPStan error
was not present anymore, so it was possible to update its baseline files
to remove the ignores for that error.

[MAILPOET-4325]
2022-05-16 11:33:00 +02:00