diff --git a/phpunit-integration.xml b/phpunit-integration.xml index b0280fe826a199fab304c205a5ad5eabb6f13e9f..93f336585bc9c5e3244cdafddca532c7d7f1d16e 100644 --- a/phpunit-integration.xml +++ b/phpunit-integration.xml @@ -3,7 +3,7 @@ > <testsuites> <testsuite> - <directory prefix="test-" suffix=".php">./tests/integration</directory> + <directory prefix="Test_" suffix=".php">./tests/integration</directory> </testsuite> </testsuites> @@ -25,4 +25,4 @@ <env name="WC_DEVELOP_DIR" value="/tmp/woocommerce"/> </php> -</phpunit> \ No newline at end of file +</phpunit> diff --git a/src/Storage/WordpressFilterStorage.php b/src/Storage/WordpressFilterStorage.php index d8c564abd1de999128ffb2824d826241a3869d33..5ceae2d01bddf5eb3bb5bdfad1f0ecbc26af5587 100644 --- a/src/Storage/WordpressFilterStorage.php +++ b/src/Storage/WordpressFilterStorage.php @@ -17,7 +17,7 @@ class WordpressFilterStorage implements PluginStorage { * @param AbstractPlugin $object */ public function add_to_storage( $class, $object ) { - add_filter( self::STORAGE_FILTER_NAME, function ( $plugins ) use ( $class, $object ) { + add_filter( self::STORAGE_FILTER_NAME, static function ( $plugins ) use ( $class, $object ) { if ( isset( $plugins[ $class ] ) ) { throw new Exception\ClassAlreadyExists( "Class {$class} already exists" ); } diff --git a/tests/integration/Storage/Test_WordpressFilterStorage.php b/tests/integration/Storage/Test_WordpressFilterStorage.php new file mode 100644 index 0000000000000000000000000000000000000000..7ab90629fd0544f5496109d7c82b967b16555468 --- /dev/null +++ b/tests/integration/Storage/Test_WordpressFilterStorage.php @@ -0,0 +1,23 @@ +<?php + +use WPDesk\Plugin\Flow\Initialization\Simple\SimpleStrategy; +use WPDesk\PluginBuilder\Storage\Exception\ClassNotExists; +use WPDesk\PluginBuilder\Storage\WordpressFilterStorage; + +class Test_WordpressFilterStorage extends WP_UnitTestCase { + public function test_can_read_and_write() { + $storage = new WordpressFilterStorage(); + + $storage->add_to_storage( Test_WordpressFilterStorage::class, $this ); + $this->assertInstanceOf( Test_WordpressFilterStorage::class, + $storage->get_from_storage( Test_WordpressFilterStorage::class ), + 'Returned instance should be the same as saved' ); + } + + public function test_empty_storage_is_empty() { + $storage = new WordpressFilterStorage(); + + $this->expectException( ClassNotExists::class ); + $storage->get_from_storage( Test_WordpressFilterStorage::class ); + } +} diff --git a/tests/integration/bootstrap.php b/tests/integration/bootstrap.php index d6574ba55f20757cb23d34e6969db2a07da5f38c..a33b9bb7556e1544f739cb6963fcc26bb7657e92 100644 --- a/tests/integration/bootstrap.php +++ b/tests/integration/bootstrap.php @@ -18,7 +18,6 @@ if ( getenv( 'PLUGIN_PATH' ) !== false ) { require_once( getenv( 'WP_DEVELOP_DIR' ) . '/tests/phpunit/includes/functions.php' ); tests_add_filter( 'muplugins_loaded', function () { - $plugins_to_active[] = 'hello.php'; update_option( 'active_plugins', $plugins_to_active ); }, 100 );