Skip to content
This repository has been archived by the owner on Dec 19, 2019. It is now read-only.

Commit

Permalink
GraphQL-431: Covered SetBillingAddressToCart for guest user. Added co…
Browse files Browse the repository at this point in the history
…uple new fixtures and rollbacks
  • Loading branch information
AleksLi committed Mar 9, 2019
1 parent 3469f4b commit 2b57cf0
Show file tree
Hide file tree
Showing 4 changed files with 146 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,57 @@ public function testSetNewBillingAddressWithUseForShippingParameter()
$this->assertNewAddressFields($shippingAddressResponse, 'SHIPPING');
}

/**
* @magentoApiDataFixture Magento/Checkout/_files/guest_quote_with_multiple_addresses_saved.php
* @throws \Exception
*/
public function testSetBillingAddressWithUseForShippingOptionForMultipleAddresses()
{
$maskedQuoteId = $this->getMaskedQuoteIdByReversedQuoteId('test_order_with_simple_product_multiple_addresses');

$query = <<<QUERY
mutation {
setBillingAddressOnCart(
input: {
cart_id: "$maskedQuoteId"
billing_address: {
address: {
firstname: "test firstname"
lastname: "test lastname"
company: "test company"
street: ["test street 1", "test street 2"]
city: "test city"
region: "test region"
postcode: "887766"
country_code: "US"
telephone: "88776655"
save_in_address_book: false
}
use_for_shipping: true
}
}
) {
cart {
billing_address {
firstname
lastname
address_type
}
shipping_addresses {
firstname
lastname
address_type
}
}
}
}
QUERY;
$this->expectExceptionMessage(
"Using the \"use_for_shipping\" option with multishipping is not possible."
);
$this->graphQlQuery($query);
}

/**
* @magentoApiDataFixture Magento/Checkout/_files/quote_with_address_saved.php
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

require 'quote_with_simple_product_saved.php';

/** @var $objectManager \Magento\TestFramework\ObjectManager */
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();

/** @var \Magento\Quote\Model\Quote\Address $quoteShippingAddress */
$quoteShippingAddress = $objectManager->create(\Magento\Quote\Model\Quote\Address::class);
$quoteShippingAddress->isObjectNew(true);
$quoteShippingAddress->setData(
[
'attribute_set_id' => 2,
'telephone' => 3468676,
'postcode' => 75477,
'country_id' => 'US',
'city' => 'CityM',
'company' => 'CompanyName',
'street' => 'Green str, 67',
'lastname' => 'Smith',
'firstname' => 'John',
'parent_id' => 1,
'region_id' => 1,
]
);

/** @var \Magento\Quote\Model\Quote\Address $quoteSecondShippingAddressShippingAddress */
$quoteSecondShippingAddress = $objectManager->create(\Magento\Quote\Model\Quote\Address::class);
$quoteSecondShippingAddress->isObjectNew(true);
$quoteSecondShippingAddress->setData(
[
'attribute_set_id' => 2,
'telephone' => 3234676,
'postcode' => 47676,
'country_id' => 'US',
'city' => 'CityX',
'street' => ['Black str, 48'],
'lastname' => 'Smith',
'firstname' => 'Mia',
'parent_id' => 1,
'region_id' => 1,
]
);
/** @var \Magento\Quote\Model\Quote $quote */
$quote->setIsMultiShipping(true)
->setReservedOrderId('test_order_with_simple_product_multiple_addresses')
->setShippingAddress($quoteShippingAddress)
->setShippingAddress($quoteSecondShippingAddress)
->setCustomerEmail($quote->getCustomerEmail())
->addProduct($product->load($product->getId()), 1);

$quote->collectTotals()->save();

/** @var \Magento\Quote\Model\QuoteIdMask $quoteIdMask */
$quoteIdMask->setQuoteId($quote->getId());
$quoteIdMask->setDataChanges(true);
$quoteIdMask->save();
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

/** @var $objectManager \Magento\TestFramework\ObjectManager */
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
$quote = $objectManager->create(\Magento\Quote\Model\Quote::class);
$quote->load('test_order_with_simple_product_multiple_addresses', 'reserved_order_id')->delete();

/** @var \Magento\Quote\Model\QuoteIdMask $quoteIdMask */
$quoteIdMask = $objectManager->create(\Magento\Quote\Model\QuoteIdMask::class);
$quoteIdMask->delete($quote->getId());
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/


/** @var $objectManager \Magento\TestFramework\ObjectManager */
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
$quote = $objectManager->create(\Magento\Quote\Model\Quote::class);
$quote->load('test_order_1', 'reserved_order_id')->delete();

/** @var \Magento\Quote\Model\QuoteIdMask $quoteIdMask */
$quoteIdMask = $objectManager->create(\Magento\Quote\Model\QuoteIdMask::class);
$quoteIdMask->delete($quote->getId());

require __DIR__ . '/../../Checkout/_files/quote_with_address_rollback.php';
require __DIR__ . '/../../Customer/_files/customer_two_addresses_rollback.php';
require __DIR__ . '/../../Customer/_files/customer_rollback.php';
require __DIR__ . '/../../Catalog/_files/products_rollback.php';

0 comments on commit 2b57cf0

Please sign in to comment.