Skip to content

Commit

Permalink
ProductVariationQueriesTest updated
Browse files Browse the repository at this point in the history
  • Loading branch information
kidunot89 committed Apr 24, 2019
1 parent e4280e1 commit 3a1ca6c
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 25 deletions.
3 changes: 1 addition & 2 deletions src/data/connection/class-product-connection-resolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,6 @@ public function get_query_args() {
// Set the $query_args based on various defaults and primary input $args.
$post_type_obj = get_post_type_object( 'product' );
$query_args = array(
'post_type' => 'product',
'post_parent' => 0,
'status' => current_user_can( $post_type_obj->cap->edit_posts ) ? 'any' : 'publish',
'perm' => 'readable',
Expand Down Expand Up @@ -180,7 +179,7 @@ public function get_query_args() {
$query_args['post__in'] = isset( $query_args['post__in'] )
? array_intersect( $this->source->variation_ids, $query_args['post__in'] )
: $this->source->variation_ids;
$query_args['post_type'] = 'product_variation';
$query_args['type'] = 'variation';
}
break;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* WPEnum Type - ProductTypesEnum
*
* @package \WPGraphQL\Extensions\WooCommerce\Type\WPEnum
* @since 0.0.2
* @since 0.0.3
*/

namespace WPGraphQL\Extensions\WooCommerce\Type\WPEnum;
Expand Down
27 changes: 22 additions & 5 deletions tests/_support/Helper/crud-helpers/product-variation.php
Original file line number Diff line number Diff line change
Expand Up @@ -201,13 +201,30 @@ public function print_query( $id ) {
);
}

public function print_nodes( $ids, $mapper = null ) {
if ( empty( $mapper ) ) {
$mapper = function( $variation_id ) {
public function print_nodes( $ids, $processors = array() ) {
$default_processors = array(
'mapper' => function( $variation_id ) {
return array( 'id' => Relay::toGlobalId( 'product_variation', $variation_id ) );
};
},
'sorter' => function( $id_a, $id_b ) {
if ( $id_a == $id_b ) {
return 0;
}

return ( $id_a > $id_b ) ? -1 : 1;
},
'filter' => function( $id ) {
return true;
}
);

$processors = array_merge( $default_processors, $processors );

$results = array_filter( $ids, $processors['filter'] );
if( ! empty( $results ) ) {
usort( $results, $processors['sorter'] );
}

return array_reverse( array_values( array_map( $mapper, $ids ) ) );
return array_values( array_map( $processors['mapper'], $results ) );
}
}
12 changes: 6 additions & 6 deletions tests/wpunit/ProductVariationQueriesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ public function testVariationsQueryAndWhereArgs() {
$variations = $this->products['variations'];

$query = '
query variationsQuery( $id: ID!, $minPrice: String ) {
query variationsQuery( $id: ID!, $minPrice: Float ) {
product( id: $id ) {
variations( where: { minPrice: $minPrice } ) {
nodes {
Expand Down Expand Up @@ -128,18 +128,18 @@ public function testVariationsQueryAndWhereArgs() {
*
* Test "minPrice" where argument
*/
$variables = array( 'id' => $id, 'minPrice' => '15.00' );
$variables = array( 'id' => $id, 'minPrice' => 15 );
$actual = do_graphql_request( $query, 'variationsQuery', $variables );
$expected = array(
'data' => array(
'product' => array(
'variations' => array(
'nodes' => $this->helper->print_nodes(
array_filter(
$variations,
function( $id ) {
$variations,
array(
'filter' => function( $id ) {
$variation = new WC_Product_Variation( $id );
return 15.00 <= floatval( $variation->get_regular_price() );
return 15.00 <= floatval( $variation->get_price() );
}
)
),
Expand Down
2 changes: 1 addition & 1 deletion vendor/autoload.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@

require_once __DIR__ . '/composer/autoload_real.php';

return ComposerAutoloaderInitf825e7947f393fd90ed0de92268053e9::getLoader();
return ComposerAutoloaderInite15abc8aa89c0275acecd46533d3b8ff::getLoader();
2 changes: 1 addition & 1 deletion vendor/composer/autoload_classmap.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Discount_Type' => $baseDir . '/src/type/enum/class-discount-type.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Manage_Stock' => $baseDir . '/src/type/enum/class-manage-stock.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Order_Status' => $baseDir . '/src/type/enum/class-order-status.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Product_Types' => $baseDir . '/src/type/enum/class-product-type.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Product_Types' => $baseDir . '/src/type/enum/class-product-types.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Stock_Status' => $baseDir . '/src/type/enum/class-stock-status.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Tax_Class' => $baseDir . '/src/type/enum/class-tax-class.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Tax_Rate_Connection_Orderby_Enum' => $baseDir . '/src/type/enum/class-tax-rate-connection-orderby-enum.php',
Expand Down
8 changes: 4 additions & 4 deletions vendor/composer/autoload_real.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// autoload_real.php @generated by Composer

class ComposerAutoloaderInitf825e7947f393fd90ed0de92268053e9
class ComposerAutoloaderInite15abc8aa89c0275acecd46533d3b8ff
{
private static $loader;

Expand All @@ -19,15 +19,15 @@ public static function getLoader()
return self::$loader;
}

spl_autoload_register(array('ComposerAutoloaderInitf825e7947f393fd90ed0de92268053e9', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInite15abc8aa89c0275acecd46533d3b8ff', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInitf825e7947f393fd90ed0de92268053e9', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInite15abc8aa89c0275acecd46533d3b8ff', 'loadClassLoader'));

$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require_once __DIR__ . '/autoload_static.php';

call_user_func(\Composer\Autoload\ComposerStaticInitf825e7947f393fd90ed0de92268053e9::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInite15abc8aa89c0275acecd46533d3b8ff::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
Expand Down
10 changes: 5 additions & 5 deletions vendor/composer/autoload_static.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace Composer\Autoload;

class ComposerStaticInitf825e7947f393fd90ed0de92268053e9
class ComposerStaticInite15abc8aa89c0275acecd46533d3b8ff
{
public static $prefixLengthsPsr4 = array (
'W' =>
Expand Down Expand Up @@ -66,7 +66,7 @@ class ComposerStaticInitf825e7947f393fd90ed0de92268053e9
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Discount_Type' => __DIR__ . '/../..' . '/src/type/enum/class-discount-type.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Manage_Stock' => __DIR__ . '/../..' . '/src/type/enum/class-manage-stock.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Order_Status' => __DIR__ . '/../..' . '/src/type/enum/class-order-status.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Product_Types' => __DIR__ . '/../..' . '/src/type/enum/class-product-type.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Product_Types' => __DIR__ . '/../..' . '/src/type/enum/class-product-types.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Stock_Status' => __DIR__ . '/../..' . '/src/type/enum/class-stock-status.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Tax_Class' => __DIR__ . '/../..' . '/src/type/enum/class-tax-class.php',
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Tax_Rate_Connection_Orderby_Enum' => __DIR__ . '/../..' . '/src/type/enum/class-tax-rate-connection-orderby-enum.php',
Expand All @@ -93,9 +93,9 @@ class ComposerStaticInitf825e7947f393fd90ed0de92268053e9
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitf825e7947f393fd90ed0de92268053e9::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitf825e7947f393fd90ed0de92268053e9::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitf825e7947f393fd90ed0de92268053e9::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInite15abc8aa89c0275acecd46533d3b8ff::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInite15abc8aa89c0275acecd46533d3b8ff::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInite15abc8aa89c0275acecd46533d3b8ff::$classMap;

}, null, ClassLoader::class);
}
Expand Down

0 comments on commit 3a1ca6c

Please sign in to comment.