diff --git a/composer.json b/composer.json index 1fde1c78a15f..9eeabe5eeea8 100644 --- a/composer.json +++ b/composer.json @@ -35,5 +35,7 @@ "type": "path", "url": "./packages/*" } - ] + ], + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/composer.lock b/composer.lock index 32c672de1bab..7fb81dae8dab 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b711e37a57a39e3470c4af334eab9c50", + "content-hash": "49dfae78b865b05e4de33278963c050b", "packages": [ { "name": "automattic/jetpack-asset-tools", @@ -30,11 +30,11 @@ }, { "name": "automattic/jetpack-connection", - "version": "1.0.0", + "version": "dev-master", "dist": { "type": "path", "url": "./packages/connection", - "reference": "ca7edb2022bf0c5b1e045a2ad5d2c5229c364a4f" + "reference": "eb2ab1a317d710fbe651a20fa580d523e303d848" }, "require": { "automattic/jetpack-constants": "@dev", @@ -95,20 +95,29 @@ "dist": { "type": "path", "url": "./packages/jitm", - "reference": "de0110b1cce11fd0728ec3d8fcd03d457239354a" + "reference": "853d6934703fce515f16d5f3450cbb51ed05d09e" }, "require": { "automattic/jetpack-asset-tools": "@dev", - "automattic/jetpack-connection": "^1.0", + "automattic/jetpack-connection": "@dev", "automattic/jetpack-constants": "@dev", "automattic/jetpack-logo": "@dev" }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5" + }, "type": "library", "autoload": { "psr-4": { "Automattic\\Jetpack\\JITM\\": "src/" } }, + "scripts": { + "phpunit": [ + "@composer install", + "./vendor/phpunit/phpunit/phpunit --colors=always" + ] + }, "license": [ "GPL-2.0-or-later" ], @@ -122,22 +131,12 @@ "url": "./packages/logo", "reference": "aa3d128c9280d6186210a86b10f8bf5403f44be7" }, - "require-dev": { - "php-mock/php-mock": "^2.1", - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5" - }, "type": "library", "autoload": { "psr-4": { "Automattic\\Jetpack\\Assets\\": "src/" } }, - "scripts": { - "phpunit": [ - "@composer install", - "./vendor/phpunit/phpunit/phpunit --colors=always" - ] - }, "license": [ "GPL-2.0-or-later" ], @@ -685,7 +684,7 @@ } ], "aliases": [], - "minimum-stability": "stable", + "minimum-stability": "dev", "stability-flags": { "automattic/jetpack-connection": 20, "automattic/jetpack-options": 20, @@ -695,7 +694,7 @@ "automattic/jetpack-asset-tools": 20, "automattic/jetpack-autoloader": 20 }, - "prefer-stable": false, + "prefer-stable": true, "prefer-lowest": false, "platform": { "ext-openssl": "*" diff --git a/packages/asset-tools/composer.json b/packages/asset-tools/composer.json index 14b8ef5a7081..ae65a53d97fa 100644 --- a/packages/asset-tools/composer.json +++ b/packages/asset-tools/composer.json @@ -16,5 +16,7 @@ "type": "path", "url": "../*" } - ] + ], + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/packages/autoloader/composer.json b/packages/autoloader/composer.json index 2a6bba463fa6..a96cfeff9739 100644 --- a/packages/autoloader/composer.json +++ b/packages/autoloader/composer.json @@ -13,5 +13,7 @@ }, "extra": { "class": "Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin" - } + }, + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/packages/connection/composer.json b/packages/connection/composer.json index 3c8f2f566597..1f75092bf68a 100644 --- a/packages/connection/composer.json +++ b/packages/connection/composer.json @@ -3,7 +3,6 @@ "description": "Everything needed to connect to the Jetpack infrastructure", "type": "library", "license": "GPL-2.0-or-later", - "version": "1.0.0", "require": { "automattic/jetpack-constants": "@dev", "automattic/jetpack-options": "@dev" @@ -28,5 +27,7 @@ "type": "path", "url": "../*" } - ] + ], + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/packages/constants/composer.json b/packages/constants/composer.json index 0c09306ea3be..cb11ce4ddbf9 100644 --- a/packages/constants/composer.json +++ b/packages/constants/composer.json @@ -17,5 +17,7 @@ "@composer install", "./vendor/phpunit/phpunit/phpunit --colors=always" ] - } + }, + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/packages/jitm/composer.json b/packages/jitm/composer.json index f101fd1cb870..397327f7ffb9 100644 --- a/packages/jitm/composer.json +++ b/packages/jitm/composer.json @@ -5,10 +5,14 @@ "license": "GPL-2.0-or-later", "require": { "automattic/jetpack-asset-tools": "@dev", - "automattic/jetpack-connection": "^1.0", + "automattic/jetpack-connection": "@dev", "automattic/jetpack-logo": "@dev", "automattic/jetpack-constants": "@dev" }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5", + "php-mock/php-mock": "^2.1" + }, "autoload": { "psr-4": { "Automattic\\Jetpack\\JITM\\": "src/" @@ -19,5 +23,13 @@ "type": "path", "url": "../*" } - ] + ], + "scripts": { + "phpunit": [ + "@composer install", + "./vendor/phpunit/phpunit/phpunit --colors=always" + ] + }, + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/packages/jitm/phpunit.xml.dist b/packages/jitm/phpunit.xml.dist new file mode 100644 index 000000000000..443d8a0ace77 --- /dev/null +++ b/packages/jitm/phpunit.xml.dist @@ -0,0 +1,7 @@ + + + + tests/php + + + diff --git a/packages/jitm/tests/php/bootstrap.php b/packages/jitm/tests/php/bootstrap.php new file mode 100644 index 000000000000..48b34a7a581b --- /dev/null +++ b/packages/jitm/tests/php/bootstrap.php @@ -0,0 +1,3 @@ +setNamespace( __NAMESPACE__ ) + ->setName( 'add_action' ) + ->setFunction( function() {} ); + $builder->build()->enable(); + } + + public function tearDown() { + Mock::disableAll(); + } + + public function test_jitm_disabled_by_filter() { + $this->mock_filters( array( + array( 'jetpack_just_in_time_msgs', false, false ), + ) ); + + $this->assertFalse( Jetpack_JITM::init() ); + + $this->clear_mock_filters(); + } + + public function test_jitm_enabled_by_default() { + $this->mock_filters( array( + array( 'jetpack_just_in_time_msgs', false, true ), + ) ); + + $this->assertTrue( ! ! Jetpack_JITM::init() ); + + $this->clear_mock_filters(); + } + + protected function mock_filters( $filters ) { + $this->mocked_filters = $filters; + $builder = new MockBuilder(); + $builder->setNamespace( __NAMESPACE__ ) + ->setName( 'apply_filters' ) + ->setFunction( + function() { + $current_args = func_get_args(); + foreach ( $this->mocked_filters as $filter ) { + if ( array_slice( $filter, 0, -1 ) === $current_args ) { + return array_pop( $filter ); + } + } + } + ); + $this->apply_filters_mock = $builder->build(); + $this->apply_filters_mock->enable(); + } + + protected function clear_mock_filters() { + $this->apply_filters_mock->disable(); + unset( $this->mocked_filters ); + } +} diff --git a/packages/logo/composer.json b/packages/logo/composer.json index df975ad7d09a..104c0d931246 100644 --- a/packages/logo/composer.json +++ b/packages/logo/composer.json @@ -18,5 +18,7 @@ "@composer install", "./vendor/phpunit/phpunit/phpunit --colors=always" ] - } + }, + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/packages/options/composer.json b/packages/options/composer.json index c63a531ae653..0058727beea5 100644 --- a/packages/options/composer.json +++ b/packages/options/composer.json @@ -20,5 +20,7 @@ "type": "path", "url": "../*" } - ] + ], + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 41d345b9a9c9..25961d4346fc 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -75,9 +75,6 @@ tests/php/test_class.jetpack-idc.php - - tests/php/test_class.jetpack-jitm.php - tests/php/test_class.jetpack-affiliate.php diff --git a/tests/php/test_class.jetpack-jitm.php b/tests/php/test_class.jetpack-jitm.php deleted file mode 100644 index e60bcba8003b..000000000000 --- a/tests/php/test_class.jetpack-jitm.php +++ /dev/null @@ -1,14 +0,0 @@ -assertFalse( Jetpack_JITM::init() ); - } - - function test_jitm_enabled_by_default() { - $this->assertTrue( ! ! Jetpack_JITM::init() ); - } -}