Skip to content

Commit 8515566

Browse files
committed
Api-functional tests for guest added
1 parent 31b34ad commit 8515566

File tree

4 files changed

+32
-24
lines changed

4 files changed

+32
-24
lines changed

dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Guest/CartTotalsTest.php

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@ public function testGetSelectedShippingMethodFromCustomerCart()
129129
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
130130
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php
131131
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
132-
* @group recent
133132
*/
134133
public function testGetDiscountInformation()
135134
{
@@ -138,18 +137,27 @@ public function testGetDiscountInformation()
138137
$response = $this->graphQlQuery($query);
139138

140139
$discountResponse = $response['cart']['prices']['discount'];
141-
self::assertEquals(-20, $discountResponse['amount']['value']);
142-
self::assertEquals('100% Off for all orders', $discountResponse['label']);
140+
self::assertEquals(-10, $discountResponse['amount']['value']);
141+
self::assertEquals('50% Off for all orders', $discountResponse['label']);
143142
}
144143

144+
/**
145+
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/cart_rule_discount_no_coupon.php
146+
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
147+
* @magentoApiDataFixture Magento/SalesRule/_files/coupon_code_with_wildcard.php
148+
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php
149+
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
150+
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/apply_coupon.php
151+
*/
145152
public function testGetDiscountInformationWithTwoRulesApplied()
146153
{
147-
self::fail();
148-
}
154+
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote');
155+
$query = $this->getQuery($maskedQuoteId);
156+
$response = $this->graphQlQuery($query);
149157

150-
public function testGetDiscountInformationForRuleWithNoLabel()
151-
{
152-
self::fail();
158+
$discountResponse = $response['cart']['prices']['discount'];
159+
self::assertEquals(-15, $discountResponse['amount']['value']);
160+
self::assertEquals('50% Off for all orders, 5$ fixed discount on whole cart', $discountResponse['label']);
153161
}
154162

155163
/**

dev/tests/integration/testsuite/Magento/GraphQl/Quote/_files/cart_rule_discount_no_coupon.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@
77

88
use Magento\Customer\Model\GroupManagement as CustomerGroupManagement;
99
use Magento\Framework\Api\DataObjectHelper;
10+
use Magento\SalesRule\Api\Data\RuleInterface;
11+
use Magento\SalesRule\Api\Data\RuleLabelInterface;
1012
use Magento\SalesRule\Api\RuleRepositoryInterface;
1113
use Magento\SalesRule\Model\Data\Rule as RuleData;
12-
use Magento\Store\Model\StoreManagerInterface as StoreManagerInterface;
14+
use Magento\SalesRule\Model\Data\RuleLabelFactory;
15+
use Magento\Store\Model\StoreManagerInterface;
1316
use Magento\TestFramework\Helper\Bootstrap;
1417

1518

@@ -18,13 +21,13 @@
1821
$ruleRepository = $objectManager->get(RuleRepositoryInterface::class);
1922
/** @var DataObjectHelper $dataObjectHelper */
2023
$dataObjectHelper = Bootstrap::getObjectManager()->get(DataObjectHelper::class);
21-
$ruleLabel = $objectManager->create(\Magento\SalesRule\Api\Data\RuleLabelInterface::class);
22-
$ruleLabelFactory = $objectManager->get(\Magento\SalesRule\Model\Data\RuleLabelFactory::class);
24+
$ruleLabel = $objectManager->create(RuleLabelInterface::class);
25+
$ruleLabelFactory = $objectManager->get(RuleLabelFactory::class);
2326

2427

2528
/** @var RuleData $salesRule */
2629
$salesRule = $objectManager->create(RuleData::class);
27-
/** @var \Magento\SalesRule\Api\Data\RuleLabelInterface $ruleLabel */
30+
/** @var RuleLabelInterface $ruleLabel */
2831
$ruleLabel = $ruleLabelFactory->create();
2932
$ruleLabel->setStoreId(0);
3033
$ruleLabel->setStoreLabel('50% Off for all orders');
@@ -45,8 +48,9 @@
4548
'discount_qty' => 0,
4649
'apply_to_shipping' => 1,
4750
'simple_free_shipping' => 1,
51+
'stop_rules_processing' => 0
4852
];
49-
$dataObjectHelper->populateWithArray($salesRule, $ruleData, \Magento\SalesRule\Api\Data\RuleInterface::class);
53+
$dataObjectHelper->populateWithArray($salesRule, $ruleData, RuleInterface::class);
5054
$salesRule->setStoreLabels([$ruleLabel]);
5155

5256
$ruleRepository->save($salesRule);

dev/tests/integration/testsuite/Magento/GraphQl/Quote/_files/cart_rule_discount_no_coupon_rollback.php

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,16 @@
66
declare(strict_types=1);
77

88
use Magento\SalesRule\Api\RuleRepositoryInterface;
9-
use Magento\SalesRule\Model\ResourceModel\Rule as RuleResource;
10-
use Magento\SalesRule\Model\RuleFactory as RuleFactory;
9+
use Magento\SalesRule\Model\ResourceModel\Rule\CollectionFactory as RuleCollectionFactory;
1110
use Magento\TestFramework\Helper\Bootstrap;
1211

1312
$objectManager = Bootstrap::getObjectManager();
1413
/** @var RuleRepositoryInterface $ruleRepository */
1514
$ruleRepository = $objectManager->get(RuleRepositoryInterface::class);
16-
/** @var RuleResource $ruleResource */
17-
$ruleResource = $objectManager->get(RuleResource::class);
18-
/** @var RuleFactory $ruleFactory */
19-
$ruleFactory = $objectManager->get(RuleFactory::class);
20-
$salesRule = $ruleFactory->create();
15+
/** @var RuleCollectionFactory $ruleCollectionFactory */
16+
$ruleCollectionFactory = $objectManager->get(RuleCollectionFactory::class);
17+
$ruleCollection = $ruleCollectionFactory->create();
2118

22-
$ruleResource->load($salesRule, '50% Off for all orders', 'name');
23-
// FIXME: the rule cannot be found for some reason
24-
if ($salesRule->getRuleId()) {
25-
$ruleRepository->deleteById($salesRule->getRuleId());
19+
foreach ($ruleCollection->getItems() as $rule) {
20+
$ruleRepository->deleteById($rule->getRuleId());
2621
}

dev/tests/integration/testsuite/Magento/SalesRule/_files/coupon_code_with_wildcard.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
'discount_amount' => 5,
2828
'discount_step' => 0,
2929
'stop_rules_processing' => 1,
30+
'store_labels' => [0 => '5$ fixed discount on whole cart'],
3031
'website_ids' => [
3132
$objectManager->get(StoreManagerInterface::class)->getWebsite()->getId(),
3233
],

0 commit comments

Comments
 (0)