diff --git a/tests/test-class-external-permalinks-redux-block-editor.php b/tests/test-class-external-permalinks-redux-block-editor.php index ed460ad828ad2636b9afa58ec7980be518ae4829..c64613dba86515132d5be179ab56e7171da60ee6 100644 --- a/tests/test-class-external-permalinks-redux-block-editor.php +++ b/tests/test-class-external-permalinks-redux-block-editor.php @@ -17,7 +17,43 @@ class TestClassExternalPermalinksReduxBlockEditor extends WP_UnitTestCase { * @covers ::register_meta() */ public function test_register_meta() { - $this->markTestIncomplete( 'This test has not been implemented.' ); + global $wp_meta_keys; + + $wp_meta_keys = null; + + $this->assertFalse( + registered_meta_key_exists( + 'post', + external_permalinks_redux::get_instance()->meta_key_target + ), + 'Failed to assert that "target" meta key is not registered.' + ); + + $this->assertFalse( + registered_meta_key_exists( + 'post', + external_permalinks_redux::get_instance()->meta_key_type + ), + 'Failed to assert that "type" meta key is not registered.' + ); + + External_Permalinks_Redux_Block_Editor::get_instance()->register_meta(); + + $this->assertTrue( + registered_meta_key_exists( + 'post', + external_permalinks_redux::get_instance()->meta_key_target + ), + 'Failed to assert that "target" meta key is registered.' + ); + + $this->assertTrue( + registered_meta_key_exists( + 'post', + external_permalinks_redux::get_instance()->meta_key_type + ), + 'Failed to assert that "type" meta key is registered.' + ); } /** @@ -26,7 +62,41 @@ class TestClassExternalPermalinksReduxBlockEditor extends WP_UnitTestCase { * @covers ::allow_meta_updates() */ public function test_allow_meta_updates() { - $this->markTestIncomplete( 'This test has not been implemented.' ); + $this->assertTrue( + External_Permalinks_Redux_Block_Editor::get_instance()->allow_meta_updates( + true, + '_a_random_key', + 'term' + ), + 'Failed to assert that a term\'s key is not modified..' + ); + + $this->assertTrue( + External_Permalinks_Redux_Block_Editor::get_instance()->allow_meta_updates( + true, + '_a_random_key', + 'post' + ), + 'Failed to assert that unrelated key\'s protection is not modified.' + ); + + $this->assertFalse( + External_Permalinks_Redux_Block_Editor::get_instance()->allow_meta_updates( + true, + external_permalinks_redux::get_instance()->meta_key_target, + 'post' + ), + 'Failed to assert that "target" key is not protected.' + ); + + $this->assertFalse( + External_Permalinks_Redux_Block_Editor::get_instance()->allow_meta_updates( + true, + external_permalinks_redux::get_instance()->meta_key_type, + 'post' + ), + 'Failed to assert that "type" key is not protected.' + ); } /** @@ -35,6 +105,24 @@ class TestClassExternalPermalinksReduxBlockEditor extends WP_UnitTestCase { * @covers ::enqueue() */ public function test_enqueue() { - $this->markTestIncomplete( 'This test has not been implemented.' ); + $asset_handle = $asset_handle = 'external-permalinks-redux'; + + $this->assertFalse( + wp_script_is( $asset_handle, 'enqueued' ), + 'Failed to assert that script is not enqueued.' + ); + + External_Permalinks_Redux_Block_Editor::get_instance()->enqueue(); + + $this->assertTrue( + wp_script_is( $asset_handle, 'enqueued' ), + 'Failed to assert that script is enqueued.' + ); + + $this->assertStringContainsString( + 'externalPermalinksReduxConfig', + wp_scripts()->get_data( $asset_handle, 'data' ), + 'Failed to assert that configuration data is added.' + ); } }