Do not check order approved status if it does not contains physical goods

This commit is contained in:
dinamiko 2022-06-02 15:11:01 +02:00
parent 77230fefa8
commit 0a993f854d
7 changed files with 88 additions and 8 deletions

View file

@ -16,6 +16,7 @@ use WooCommerce\PayPalCommerce\ApiClient\Entity\OrderStatus;
use WooCommerce\PayPalCommerce\ApiClient\Entity\Payments;
use WooCommerce\PayPalCommerce\ApiClient\Entity\PurchaseUnit;
use WooCommerce\PayPalCommerce\ApiClient\Factory\OrderFactory;
use WooCommerce\PayPalCommerce\ApiClient\Helper\OrderHelper;
use WooCommerce\PayPalCommerce\Button\Helper\ThreeDSecure;
use WooCommerce\PayPalCommerce\Onboarding\Environment;
use WooCommerce\PayPalCommerce\Session\SessionHandler;
@ -129,6 +130,8 @@ class OrderProcessorTest extends TestCase
$subscription_helper = Mockery::mock(SubscriptionHelper::class);
$subscription_helper->shouldReceive('has_subscription');
$order_helper = Mockery::mock(OrderHelper::class);
$testee = new OrderProcessor(
$sessionHandler,
$orderEndpoint,
@ -138,7 +141,8 @@ class OrderProcessorTest extends TestCase
$settings,
$logger,
$this->environment,
$subscription_helper
$subscription_helper,
$order_helper
);
$wcOrder
@ -165,6 +169,8 @@ class OrderProcessorTest extends TestCase
$wcOrder->expects('set_transaction_id')
->with($transactionId);
$order_helper->shouldReceive('contains_physical_goods')->andReturn(true);
$this->assertTrue($testee->process($wcOrder));
}
@ -247,6 +253,8 @@ class OrderProcessorTest extends TestCase
$logger = Mockery::mock(LoggerInterface::class);
$subscription_helper = Mockery::mock(SubscriptionHelper::class);
$order_helper = Mockery::mock(OrderHelper::class);
$testee = new OrderProcessor(
$sessionHandler,
$orderEndpoint,
@ -256,7 +264,8 @@ class OrderProcessorTest extends TestCase
$settings,
$logger,
$this->environment,
$subscription_helper
$subscription_helper,
$order_helper
);
$wcOrder
@ -277,6 +286,9 @@ class OrderProcessorTest extends TestCase
->with($transactionId);
$wcOrder
->expects('payment_complete');
$order_helper->shouldReceive('contains_physical_goods')->andReturn(true);
$this->assertTrue($testee->process($wcOrder));
}
@ -343,6 +355,8 @@ class OrderProcessorTest extends TestCase
$logger = Mockery::mock(LoggerInterface::class);
$subscription_helper = Mockery::mock(SubscriptionHelper::class);
$order_helper = Mockery::mock(OrderHelper::class);
$testee = new OrderProcessor(
$sessionHandler,
$orderEndpoint,
@ -352,7 +366,8 @@ class OrderProcessorTest extends TestCase
$settings,
$logger,
$this->environment,
$subscription_helper
$subscription_helper,
$order_helper
);
$wcOrder
@ -368,6 +383,8 @@ class OrderProcessorTest extends TestCase
$orderIntent
);
$order_helper->shouldReceive('contains_physical_goods')->andReturn(true);
$this->assertFalse($testee->process($wcOrder));
$this->assertNotEmpty($testee->last_error());
}