Skip to content

Commit 1c23f3c

Browse files
pradeep.rauthanpradeep.rauthan
authored andcommitted
MC-42704: Admin Checkout validation bug
-Integration test has been written.
1 parent 55235cb commit 1c23f3c

File tree

2 files changed

+51
-5
lines changed

2 files changed

+51
-5
lines changed

dev/tests/integration/testsuite/Magento/Customer/_files/customer_address_attribute_update_rollback.php

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
67

78
/** @var \Magento\Framework\Registry $registry */
89
$registry = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(\Magento\Framework\Registry::class);
@@ -17,13 +18,18 @@
1718
$model->loadByCode($entityType, $attributeCode);
1819
$validationRules = $model->getValidationRules();
1920

20-
if(!empty($validationRules['input_validation'])){
21-
if(in_array('alphanum-with-spaces', $validationRules)){
22-
unset($validationRules['input_validation']);
23-
$model->setValidationRules($validationRules);
24-
$model->save();
21+
try {
22+
if(!empty($validationRules['input_validation'])){
23+
if(in_array('alphanum-with-spaces', $validationRules)){
24+
unset($validationRules['input_validation']);
25+
}
2526
}
27+
} catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
28+
// Specified validation already rolled back
2629
}
2730

31+
$model->setValidationRules($validationRules);
32+
$model->save();
33+
2834
$registry->unregister('isSecureArea');
2935
$registry->register('isSecureArea', false);
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
9+
use Magento\Customer\Api\AddressRepositoryInterface;
10+
use Magento\Framework\Exception\NoSuchEntityException;
11+
use Magento\Framework\Registry;
12+
use Magento\TestFramework\Helper\Bootstrap;
13+
14+
Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/product_simple_rollback.php');
15+
Resolver::getInstance()->requireDataFixture('Magento/Customer/_files/customer_rollback.php');
16+
17+
$objectManager = Bootstrap::getObjectManager();
18+
/** @var Registry $registry */
19+
$registry = $objectManager->get(Registry::class);
20+
21+
$registry->unregister('isSecureArea');
22+
$registry->register('isSecureArea', true);
23+
24+
/** @var AddressRepositoryInterface $addressRepository */
25+
$addressRepository = $objectManager->get(AddressRepositoryInterface::class);
26+
27+
foreach ([1, 2] as $addressId) {
28+
try {
29+
$addressRepository->deleteById($addressId);
30+
} catch (NoSuchEntityException $e) {
31+
/**
32+
* Tests which are wrapped with MySQL transaction clear all data by transaction rollback.
33+
*/
34+
}
35+
}
36+
37+
$registry->unregister('isSecureArea');
38+
$registry->register('isSecureArea', false);
39+
40+
Resolver::getInstance()->requireDataFixture('Magento/Customer/_files/customer_address_attribute_update_rollback.php');

0 commit comments

Comments
 (0)