Files
wp-graphql-woocommerce/tests/wpunit/IntrospectionQueryTest.php
T

50 lines
1.3 KiB
PHP
Raw Normal View History

2020-01-28 13:56:58 -05:00
<?php
2020-10-14 20:33:55 -04:00
class IntrospectionQueryTest extends \Codeception\TestCase\WPTestCase {
2020-01-28 13:56:58 -05:00
public function setUp() {
// before
2020-10-13 15:01:44 -04:00
parent::setUp();
2020-01-28 13:56:58 -05:00
2020-10-13 15:01:44 -04:00
$settings = get_option( 'graphql_general_settings' );
2020-10-14 20:33:55 -04:00
if ( ! $settings ) {
$settings = array();
}
2020-10-13 15:01:44 -04:00
$settings['public_introspection_enabled'] = 'on';
update_option( 'graphql_general_settings', $settings );
WPGraphQL::clear_schema();
2020-01-28 13:56:58 -05:00
}
public function tearDown() {
// your tear down methods here
// then
parent::tearDown();
}
// Validate schema.
public function testSchema() {
try {
2020-01-28 14:07:33 -05:00
$request = new \WPGraphQL\Request();
$request->schema->assertValid();
2020-01-28 13:56:58 -05:00
// Assert true upon success.
$this->assertTrue( true );
} catch (\GraphQL\Error\InvariantViolation $e) {
// use --debug flag to view.
codecept_debug( $e->getMessage() );
2020-06-19 18:44:21 -04:00
2020-01-28 13:56:58 -05:00
// Fail upon throwing
$this->assertTrue( false );
}
}
// Test introspection query.
public function testIntrospectionQuery() {
2020-06-19 18:44:21 -04:00
$query = \GraphQL\Type\Introspection::getIntrospectionQuery();
2020-01-28 13:56:58 -05:00
$results = graphql( array( 'query' => $query ) );
$this->assertArrayNotHasKey('errors', $results );
}
2020-06-19 18:44:21 -04:00
}