Files
old-v2-backend/wordpress/wp-content/plugins/wp-graphql/tests/wpunit/WPGraphQLTest.php
2018-06-25 00:00:37 +02:00

78 lines
1.8 KiB
PHP
Executable File

<?php
class WPGraphQLTest extends \Codeception\TestCase\WPTestCase {
public $instance;
public function setUp() {
parent::setUp();
$this->instance = graphql_init();
}
public function tearDown() {
// your tear down methods here
// then
parent::tearDown();
}
/**
* Ensure that graphql_init() returns an instance of WPGraphQL
*
* @covers WPGraphQL::instance()
*/
public function testInstance() {
$this->assertTrue( $this->instance instanceof WPGraphQL );
}
/**
* @covers WPGraphQL::__wakeup()
* @covers WPGraphQL::__clone()
*/
public function testCloneWPGraphQL() {
$rc = new ReflectionClass( $this->instance );
$this->assertTrue( $rc->hasMethod( '__clone' ) );
$this->assertTrue( $rc->hasMethod( '__wakeup' ) );
}
/**
* @covers WPGraphQL::setup_constants()
*/
public function testSetupConstants() {
$this->assertTrue( defined( 'WPGRAPHQL_VERSION' ) );
$this->assertTrue( defined( 'WPGRAPHQL_PLUGIN_DIR' ) );
$this->assertTrue( defined( 'WPGRAPHQL_PLUGIN_URL' ) );
$this->assertTrue( defined( 'WPGRAPHQL_PLUGIN_FILE' ) );
}
/**
* @covers WPGraphQL::filters()
*/
public function testFilters() {
global $wp_filter;
graphql_init();
$this->assertTrue( isset( $wp_filter['graphql_schema']->callbacks ) );
$this->assertTrue( isset( $wp_filter['graphql_mediaItem_fields']->callbacks ) );
}
/**
* @covers WPGraphQL::get_static_schema()
*/
public function testGetStaticSchema() {
/**
* Set the file path for where to save the static schema
*/
$file_path = WPGRAPHQL_PLUGIN_DIR . 'schema.graphql';
$contents = 'test';
file_put_contents( $file_path, $contents );
$this->assertFileExists( $file_path );
$static_schema = WPGraphQL::get_static_schema();
$this->assertEquals( $contents, $static_schema );
}
}