1 | <?php |
||
2 | /** |
||
3 | * Admin notes helper for wc-admin unit tests. |
||
4 | * |
||
5 | * @package WooCommerce\Tests\Framework\Helpers |
||
6 | */ |
||
7 | |||
8 | namespace Automattic\WooCommerce\RestApi\UnitTests\Helpers; |
||
9 | |||
10 | defined( 'ABSPATH' ) || exit; |
||
11 | |||
12 | use \WC_Data_Store; |
||
13 | use \WC_Admin_Note; |
||
0 ignored issues
–
show
|
|||
14 | |||
15 | /** |
||
16 | * Class AdminNotesHelper. |
||
17 | * |
||
18 | * This helper class should ONLY be used for unit tests!. |
||
19 | */ |
||
20 | class AdminNotesHelper { |
||
21 | |||
22 | /** |
||
23 | * Delete everything in the notes tables. |
||
24 | */ |
||
25 | public static function reset_notes_dbs() { |
||
26 | global $wpdb; |
||
27 | $wpdb->query( "TRUNCATE TABLE {$wpdb->prefix}wc_admin_notes" ); // @codingStandardsIgnoreLine. |
||
28 | $wpdb->query( "TRUNCATE TABLE {$wpdb->prefix}wc_admin_note_actions" ); // @codingStandardsIgnoreLine. |
||
29 | } |
||
30 | |||
31 | /** |
||
32 | * Create two notes that we can use for notes REST API tests |
||
33 | */ |
||
34 | public static function add_notes_for_tests() { |
||
35 | $data_store = WC_Data_Store::load( 'admin-note' ); |
||
36 | |||
37 | $note_1 = new WC_Admin_Note(); |
||
38 | $note_1->set_title( 'PHPUNIT_TEST_NOTE_1_TITLE' ); |
||
39 | $note_1->set_content( 'PHPUNIT_TEST_NOTE_1_CONTENT' ); |
||
40 | $note_1->set_content_data( (object) array( 'amount' => 1.23 ) ); |
||
41 | $note_1->set_type( WC_Admin_Note::E_WC_ADMIN_NOTE_INFORMATIONAL ); |
||
42 | $note_1->set_icon( 'info' ); |
||
43 | $note_1->set_name( 'PHPUNIT_TEST_NOTE_NAME' ); |
||
44 | $note_1->set_source( 'PHPUNIT_TEST' ); |
||
45 | $note_1->add_action( |
||
46 | 'PHPUNIT_TEST_NOTE_1_ACTION_1_SLUG', |
||
47 | 'PHPUNIT_TEST_NOTE_1_ACTION_1_LABEL', |
||
48 | '?s=PHPUNIT_TEST_NOTE_1_ACTION_1_URL' |
||
49 | ); |
||
50 | $note_1->add_action( |
||
51 | 'PHPUNIT_TEST_NOTE_1_ACTION_2_SLUG', |
||
52 | 'PHPUNIT_TEST_NOTE_1_ACTION_2_LABEL', |
||
53 | '?s=PHPUNIT_TEST_NOTE_1_ACTION_2_URL' |
||
54 | ); |
||
55 | $note_1->save(); |
||
56 | |||
57 | $note_2 = new WC_Admin_Note(); |
||
58 | $note_2->set_title( 'PHPUNIT_TEST_NOTE_2_TITLE' ); |
||
59 | $note_2->set_content( 'PHPUNIT_TEST_NOTE_2_CONTENT' ); |
||
60 | $note_2->set_content_data( (object) array( 'amount' => 4.56 ) ); |
||
61 | $note_2->set_type( WC_Admin_Note::E_WC_ADMIN_NOTE_WARNING ); |
||
62 | $note_2->set_icon( 'info' ); |
||
63 | $note_2->set_name( 'PHPUNIT_TEST_NOTE_NAME' ); |
||
64 | $note_2->set_source( 'PHPUNIT_TEST' ); |
||
65 | $note_2->set_status( WC_Admin_Note::E_WC_ADMIN_NOTE_ACTIONED ); |
||
66 | // This note has no actions. |
||
67 | $note_2->save(); |
||
68 | |||
69 | $note_3 = new WC_Admin_Note(); |
||
70 | $note_3->set_title( 'PHPUNIT_TEST_NOTE_3_TITLE' ); |
||
71 | $note_3->set_content( 'PHPUNIT_TEST_NOTE_3_CONTENT' ); |
||
72 | $note_3->set_content_data( (object) array( 'amount' => 7.89 ) ); |
||
73 | $note_3->set_type( WC_Admin_Note::E_WC_ADMIN_NOTE_INFORMATIONAL ); |
||
74 | $note_3->set_icon( 'info' ); |
||
75 | $note_3->set_name( 'PHPUNIT_TEST_NOTE_NAME' ); |
||
76 | $note_3->set_source( 'PHPUNIT_TEST' ); |
||
77 | $note_3->set_status( WC_Admin_Note::E_WC_ADMIN_NOTE_SNOOZED ); |
||
78 | $note_3->set_date_reminder( time() - HOUR_IN_SECONDS ); |
||
79 | // This note has no actions. |
||
80 | $note_3->save(); |
||
81 | |||
82 | } |
||
83 | } |
||
84 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths