|
1 | 1 | <?php
|
2 | 2 | /**
|
3 |
| - * Copyright © Magento, Inc. All rights reserved. |
4 |
| - * See COPYING.txt for license details. |
| 3 | + * Copyright 2020 Adobe |
| 4 | + * All Rights Reserved. |
5 | 5 | */
|
6 | 6 | declare(strict_types=1);
|
7 | 7 |
|
8 | 8 | namespace Magento\GraphQl\Sales\CustomerOrders;
|
9 | 9 |
|
| 10 | +use Magento\Catalog\Test\Fixture\Product as ProductFixture; |
| 11 | +use Magento\Checkout\Test\Fixture\PlaceOrder as PlaceOrderFixture; |
| 12 | +use Magento\Checkout\Test\Fixture\SetBillingAddress; |
| 13 | +use Magento\Checkout\Test\Fixture\SetDeliveryMethod as SetDeliveryMethodFixture; |
| 14 | +use Magento\Checkout\Test\Fixture\SetPaymentMethod as SetPaymentMethodFixture; |
| 15 | +use Magento\Checkout\Test\Fixture\SetShippingAddress; |
| 16 | +use Magento\Customer\Test\Fixture\Customer; |
10 | 17 | use Magento\Framework\DB\Transaction;
|
11 | 18 | use Magento\Framework\Registry;
|
12 | 19 | use Magento\GraphQl\GetCustomerAuthenticationHeader;
|
| 20 | +use Magento\Store\Test\Fixture\Store; |
13 | 21 | use Magento\GraphQl\Sales\Fixtures\CustomerPlaceOrder;
|
| 22 | +use Magento\Quote\Test\Fixture\AddProductToCart; |
| 23 | +use Magento\Quote\Test\Fixture\CustomerCart; |
14 | 24 | use Magento\Sales\Api\OrderRepositoryInterface;
|
15 | 25 | use Magento\Sales\Model\Order;
|
16 | 26 | use Magento\Sales\Model\Order\Shipment;
|
17 | 27 | use Magento\Sales\Model\Order\ShipmentFactory;
|
18 | 28 | use Magento\Sales\Model\ResourceModel\Order\Collection as OrderCollection;
|
| 29 | +use Magento\Sales\Test\Fixture\Invoice as InvoiceFixture; |
| 30 | +use Magento\Sales\Test\Fixture\Shipment as ShipmentFixture; |
| 31 | +use Magento\TestFramework\Fixture\DataFixture; |
| 32 | +use Magento\TestFramework\Fixture\DataFixtureStorageManager; |
19 | 33 | use Magento\TestFramework\Helper\Bootstrap;
|
20 | 34 | use Magento\TestFramework\TestCase\GraphQlAbstract;
|
21 | 35 |
|
@@ -96,25 +110,57 @@ public function testGetOrderShipment()
|
96 | 110 | $this->assertNotEmpty($shipment['comments'][0]['timestamp']);
|
97 | 111 | }
|
98 | 112 |
|
99 |
| - /** |
100 |
| - * @magentoApiDataFixture Magento/GraphQl/Sales/_files/customer_order_with_multiple_shipments.php |
101 |
| - */ |
| 113 | + #[ |
| 114 | + DataFixture(Store::class), |
| 115 | + DataFixture(ProductFixture::class, as: 'product1'), |
| 116 | + DataFixture(ProductFixture::class, as: 'product2'), |
| 117 | + DataFixture(Customer::class, as: 'customer'), |
| 118 | + DataFixture(CustomerCart::class, ['customer_id' => '$customer.id$'], as: 'quote'), |
| 119 | + DataFixture(AddProductToCart::class, ['cart_id' => '$quote.id$', 'product_id' => '$product1.id$', 'qty' => 2]), |
| 120 | + DataFixture(AddProductToCart::class, ['cart_id' => '$quote.id$', 'product_id' => '$product2.id$', 'qty' => 2]), |
| 121 | + DataFixture(SetBillingAddress::class, ['cart_id' => '$quote.id$']), |
| 122 | + DataFixture(SetShippingAddress::class, ['cart_id' => '$quote.id$']), |
| 123 | + DataFixture(SetDeliveryMethodFixture::class, ['cart_id' => '$quote.id$']), |
| 124 | + DataFixture(SetPaymentMethodFixture::class, ['cart_id' => '$quote.id$']), |
| 125 | + DataFixture(PlaceOrderFixture::class, ['cart_id' => '$quote.id$'], 'order'), |
| 126 | + DataFixture(InvoiceFixture::class, ['order_id' => '$order.id$'], 'invoice'), |
| 127 | + DataFixture( |
| 128 | + ShipmentFixture::class, |
| 129 | + [ |
| 130 | + 'order_id' => '$order.id$', |
| 131 | + 'items' => [['product_id' => '$product1.id$', 'qty' => 1]] |
| 132 | + ], |
| 133 | + 'shipment1' |
| 134 | + ), |
| 135 | + DataFixture( |
| 136 | + ShipmentFixture::class, |
| 137 | + [ |
| 138 | + 'order_id' => '$order.id$', |
| 139 | + 'items' => [['product_id' => '$product2.id$', 'qty' => 1]] |
| 140 | + ], |
| 141 | + 'shipment2' |
| 142 | + ), |
| 143 | + |
| 144 | + ] |
102 | 145 | public function testGetOrderShipmentsMultiple()
|
103 | 146 | {
|
104 |
| - $query = $this->getQuery('100000555'); |
105 |
| - $authHeader = $this->getCustomerAuthHeader->execute('customer_uk_address@test.com', 'password'); |
106 |
| - |
| 147 | + $order = DataFixtureStorageManager::getStorage()->get('order'); |
| 148 | + $customer = DataFixtureStorageManager::getStorage()->get('customer'); |
| 149 | + $shipment1 = DataFixtureStorageManager::getStorage()->get('shipment1'); |
| 150 | + $shipment2 = DataFixtureStorageManager::getStorage()->get('shipment2'); |
| 151 | + $query = $this->getQuery($order->getIncrementId()); |
| 152 | + $authHeader = $this->getCustomerAuthHeader->execute($customer->getEmail(), 'password'); |
107 | 153 | $result = $this->graphQlQuery($query, [], '', $authHeader);
|
108 | 154 | $this->assertArrayNotHasKey('errors', $result);
|
109 | 155 | $order = $result['customer']['orders']['items'][0];
|
110 | 156 | $shipments = $order['shipments'];
|
111 | 157 | $this->assertCount(2, $shipments);
|
112 |
| - $this->assertEquals('0000000098', $shipments[0]['number']); |
| 158 | + $this->assertEquals($shipment1->getIncrementId(), $shipments[0]['number']); |
113 | 159 | $this->assertCount(1, $shipments[0]['items']);
|
114 |
| - $this->assertEquals('0000000099', $shipments[1]['number']); |
| 160 | + $this->assertEquals($shipment2->getIncrementId(), $shipments[1]['number']); |
115 | 161 | $this->assertCount(1, $shipments[1]['items']);
|
116 | 162 | }
|
117 |
| - |
| 163 | + |
118 | 164 | /**
|
119 | 165 | * @magentoConfigFixture default_store carriers/ups/active 1
|
120 | 166 | * @magentoApiDataFixture Magento/GraphQl/Sales/_files/customer_order_with_ups_shipping.php
|
|
0 commit comments