mirror of
https://github.com/wp-graphql/wp-graphql-woocommerce.git
synced 2026-08-14 12:53:44 +02:00
* devops: Product and product attribute mutation tests generated * feat: Product Mutations implemented and tested * chore: Linter and PHPStan compliance met * fix: resolve test failures in product and variation mutation tests - Removed duplicate requires for payment-method classes (rebase artifact) - Wrapped bare `attributes` queries in `... on SimpleProduct` inline fragments (attributes field is on ProductWithAttributes interface, not the base Product type) - Fixed attribute label expectations to match factory output (lowercase) - Fixed relay ID prefix from 'product'/'product_variation' to 'post' to match WPGraphQL's actual encoding - Cache WP_Post before force-deletion and re-cache after so the Product model's type resolver can still determine the GraphQL type in the response - Added wp_cache_flush() before asserting product deletion to avoid false positives from the re-cached post * chore: fix PHPCS lint errors in mutation files * fix: resolve CI test failures for attribute and variation mutations - Fixed ProductVariation type registration in schema filters so the variation mutation output field resolves correctly - Renamed attribute slug from 'pattern' to 'fabric' in ProductAttributeMutationsTest to avoid collision with the pattern attribute created by ProductAttributeQueriesTest - Fixed PHPStan errors for redundant is_wp_error checks - Updated IntrospectionQueryTest
44 lines
1.1 KiB
PHP
44 lines
1.1 KiB
PHP
<?php
|
|
|
|
class IntrospectionQueryTest extends \Tests\WPGraphQL\WooCommerce\TestCase\WooGraphQLTestCase {
|
|
public function setUp(): void {
|
|
// before
|
|
parent::setUp();
|
|
|
|
$settings = get_option( 'graphql_general_settings' );
|
|
if ( ! $settings ) {
|
|
$settings = [];
|
|
}
|
|
$settings['public_introspection_enabled'] = 'on';
|
|
update_option( 'graphql_general_settings', $settings );
|
|
\WPGraphQL::clear_schema();
|
|
}
|
|
|
|
// Validate schema.
|
|
public function testSchema() {
|
|
try {
|
|
new \WPGraphQL\Request();
|
|
|
|
$schema = WPGraphQL::get_schema();
|
|
$schema->assertValid();
|
|
|
|
// Assert true upon success.
|
|
$this->assertTrue( true, 'Schema is valid.' );
|
|
} catch ( \GraphQL\Error\InvariantViolation $e ) {
|
|
// use --debug flag to view.
|
|
$this->logData( $e->getMessage() );
|
|
|
|
// Fail upon throwing
|
|
$this->assertTrue( false, $e->getMessage() );
|
|
}
|
|
}
|
|
|
|
// Test introspection query.
|
|
public function testIntrospectionQuery() {
|
|
$query = \GraphQL\Type\Introspection::getIntrospectionQuery();
|
|
$results = $this->graphql( compact( 'query' ) );
|
|
|
|
$this->assertQuerySuccessful( $results, [] );
|
|
}
|
|
}
|