wordpress-develop/tests/phpunit/tests/blocks/render-reusable.php
Jeremy Felt 6a84afa33c Blocks: Add the reusable block post type, wp_block.
Merges [43804] from the 5.0 branch to trunk.

See #45098.


git-svn-id: https://develop.svn.wordpress.org/trunk@44146 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-14 02:14:13 +00:00

103 lines
2.2 KiB
PHP

<?php
/**
* Reusable block rendering tests.
*
* @package WordPress
* @subpackage Blocks
* @since 5.0.0
*/
/**
* Tests for reusable block rendering.
*
* @since 5.0.0
*
* @group blocks
*/
class WP_Test_Render_Reusable_Blocks extends WP_UnitTestCase {
/**
* Fake user ID.
*
* @var int
*/
protected static $user_id;
/**
* Fake block ID.
*
* @var int
*/
protected static $block_id;
/**
* Fake post ID.
*
* @var int
*/
protected static $post_id;
/**
* Create fake data before tests run.
*
* @since 5.0.0
*
* @param WP_UnitTest_Factory $factory Helper that creates fake data.
*/
public static function wpSetUpBeforeClass( $factory ) {
self::$user_id = $factory->user->create(
array(
'role' => 'editor',
)
);
self::$post_id = $factory->post->create(
array(
'post_author' => self::$user_id,
'post_type' => 'post',
'post_status' => 'publish',
'post_title' => 'Test Post',
'post_content' => '<p>Hello world!</p>',
)
);
self::$block_id = $factory->post->create(
array(
'post_author' => self::$user_id,
'post_type' => 'wp_block',
'post_status' => 'publish',
'post_title' => 'Test Block',
'post_content' => '<!-- wp:core/paragraph --><p>Hello world!</p><!-- /wp:core/paragraph -->',
)
);
}
/**
* Delete fake data after tests run.
*
* @since 5.0.0
*/
public static function wpTearDownAfterClass() {
wp_delete_post( self::$block_id, true );
wp_delete_post( self::$post_id, true );
self::delete_user( self::$user_id );
}
public function test_render() {
$block_type = WP_Block_Type_Registry::get_instance()->get_registered( 'core/block' );
$output = $block_type->render( array( 'ref' => self::$block_id ) );
$this->assertSame( '<p>Hello world!</p>', $output );
}
public function test_ref_empty() {
$block_type = WP_Block_Type_Registry::get_instance()->get_registered( 'core/block' );
$output = $block_type->render( array() );
$this->assertSame( '', $output );
}
public function test_ref_wrong_post_type() {
$block_type = WP_Block_Type_Registry::get_instance()->get_registered( 'core/block' );
$output = $block_type->render( array( 'ref' => self::$post_id ) );
$this->assertSame( '', $output );
}
}