Skip to content

Commit

Permalink
Api-functional tests for guest added
Browse files Browse the repository at this point in the history
  • Loading branch information
rogyar committed May 19, 2019
1 parent 31b34ad commit 8515566
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@ public function testGetSelectedShippingMethodFromCustomerCart()
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
* @group recent
*/
public function testGetDiscountInformation()
{
Expand All @@ -138,18 +137,27 @@ public function testGetDiscountInformation()
$response = $this->graphQlQuery($query);

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

/**
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/cart_rule_discount_no_coupon.php
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
* @magentoApiDataFixture Magento/SalesRule/_files/coupon_code_with_wildcard.php
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/apply_coupon.php
*/
public function testGetDiscountInformationWithTwoRulesApplied()
{
self::fail();
}
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote');
$query = $this->getQuery($maskedQuoteId);
$response = $this->graphQlQuery($query);

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

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@

use Magento\Customer\Model\GroupManagement as CustomerGroupManagement;
use Magento\Framework\Api\DataObjectHelper;
use Magento\SalesRule\Api\Data\RuleInterface;
use Magento\SalesRule\Api\Data\RuleLabelInterface;
use Magento\SalesRule\Api\RuleRepositoryInterface;
use Magento\SalesRule\Model\Data\Rule as RuleData;
use Magento\Store\Model\StoreManagerInterface as StoreManagerInterface;
use Magento\SalesRule\Model\Data\RuleLabelFactory;
use Magento\Store\Model\StoreManagerInterface;
use Magento\TestFramework\Helper\Bootstrap;


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


/** @var RuleData $salesRule */
$salesRule = $objectManager->create(RuleData::class);
/** @var \Magento\SalesRule\Api\Data\RuleLabelInterface $ruleLabel */
/** @var RuleLabelInterface $ruleLabel */
$ruleLabel = $ruleLabelFactory->create();
$ruleLabel->setStoreId(0);
$ruleLabel->setStoreLabel('50% Off for all orders');
Expand All @@ -45,8 +48,9 @@
'discount_qty' => 0,
'apply_to_shipping' => 1,
'simple_free_shipping' => 1,
'stop_rules_processing' => 0
];
$dataObjectHelper->populateWithArray($salesRule, $ruleData, \Magento\SalesRule\Api\Data\RuleInterface::class);
$dataObjectHelper->populateWithArray($salesRule, $ruleData, RuleInterface::class);
$salesRule->setStoreLabels([$ruleLabel]);

$ruleRepository->save($salesRule);
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,16 @@
declare(strict_types=1);

use Magento\SalesRule\Api\RuleRepositoryInterface;
use Magento\SalesRule\Model\ResourceModel\Rule as RuleResource;
use Magento\SalesRule\Model\RuleFactory as RuleFactory;
use Magento\SalesRule\Model\ResourceModel\Rule\CollectionFactory as RuleCollectionFactory;
use Magento\TestFramework\Helper\Bootstrap;

$objectManager = Bootstrap::getObjectManager();
/** @var RuleRepositoryInterface $ruleRepository */
$ruleRepository = $objectManager->get(RuleRepositoryInterface::class);
/** @var RuleResource $ruleResource */
$ruleResource = $objectManager->get(RuleResource::class);
/** @var RuleFactory $ruleFactory */
$ruleFactory = $objectManager->get(RuleFactory::class);
$salesRule = $ruleFactory->create();
/** @var RuleCollectionFactory $ruleCollectionFactory */
$ruleCollectionFactory = $objectManager->get(RuleCollectionFactory::class);
$ruleCollection = $ruleCollectionFactory->create();

$ruleResource->load($salesRule, '50% Off for all orders', 'name');
// FIXME: the rule cannot be found for some reason
if ($salesRule->getRuleId()) {
$ruleRepository->deleteById($salesRule->getRuleId());
foreach ($ruleCollection->getItems() as $rule) {
$ruleRepository->deleteById($rule->getRuleId());
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
'discount_amount' => 5,
'discount_step' => 0,
'stop_rules_processing' => 1,
'store_labels' => [0 => '5$ fixed discount on whole cart'],
'website_ids' => [
$objectManager->get(StoreManagerInterface::class)->getWebsite()->getId(),
],
Expand Down

0 comments on commit 8515566

Please sign in to comment.