Skip to content

Commit 9078004

Browse files
author
Vitaliy Boyko
committed
graphQl-784: removed validation, added the text convert instead
1 parent e9b6334 commit 9078004

File tree

5 files changed

+69
-30
lines changed

5 files changed

+69
-30
lines changed

app/code/Magento/QuoteGraphQl/Model/Cart/QuoteAddressFactory.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,10 @@ public function __construct(
6060
*/
6161
public function createBasedOnInputData(array $addressInput): QuoteAddress
6262
{
63-
$addressInput['country_id'] = $addressInput['country_code'] ?? '';
64-
if ($addressInput['country_id'] && !ctype_upper($addressInput['country_code'])) {
65-
throw new GraphQlInputException(
66-
__('"Country Code" cannot contain lowercase characters.')
67-
);
63+
if ($addressInput['country_code']) {
64+
$addressInput['country_code'] = strtoupper($addressInput['country_code']);
6865
}
66+
$addressInput['country_id'] = $addressInput['country_code'] ?? '';
6967

7068
$maxAllowedLineCount = $this->addressHelper->getStreetLines();
7169
if (is_array($addressInput['street']) && count($addressInput['street']) > $maxAllowedLineCount) {

dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Customer/SetBillingAddressOnCartTest.php

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -642,8 +642,6 @@ public function testSetNewBillingAddressWithRedundantStreetLine()
642642
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
643643
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/customer/create_empty_cart.php
644644
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
645-
* @expectedException \Exception
646-
* @expectedExceptionMessage "Country Code" cannot contain lowercase characters.
647645
*/
648646
public function testSetBillingAddressWithLowerCaseCountry()
649647
{
@@ -673,12 +671,29 @@ public function testSetBillingAddressWithLowerCaseCountry()
673671
cart {
674672
billing_address {
675673
firstname
674+
lastname
675+
company
676+
street
677+
city
678+
postcode
679+
telephone
680+
country {
681+
code
682+
label
683+
}
684+
__typename
676685
}
677686
}
678687
}
679688
}
680689
QUERY;
681-
$this->graphQlMutation($query, [], '', $this->getHeaderMap());
690+
$response = $this->graphQlMutation($query, [], '', $this->getHeaderMap());
691+
692+
self::assertArrayHasKey('cart', $response['setBillingAddressOnCart']);
693+
$cartResponse = $response['setBillingAddressOnCart']['cart'];
694+
self::assertArrayHasKey('billing_address', $cartResponse);
695+
$billingAddressResponse = $cartResponse['billing_address'];
696+
$this->assertNewAddressFields($billingAddressResponse);
682697
}
683698

684699
/**

dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Customer/SetShippingAddressOnCartTest.php

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -607,8 +607,6 @@ public function testSetShippingAddressToGuestCart()
607607
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
608608
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/customer/create_empty_cart.php
609609
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
610-
* @expectedException \Exception
611-
* @expectedExceptionMessage "Country Code" cannot contain lowercase characters.
612610
*/
613611
public function testSetShippingAddressWithLowerCaseCountry()
614612
{
@@ -618,34 +616,43 @@ public function testSetShippingAddressWithLowerCaseCountry()
618616
mutation {
619617
setShippingAddressesOnCart(
620618
input: {
621-
cart_id: "$maskedQuoteId"
619+
cart_id: "{$maskedQuoteId}"
622620
shipping_addresses: [
623621
{
624622
address: {
625-
firstname: "test firstname"
626-
lastname: "test lastname"
627-
company: "test company"
628-
street: ["test street 1", "test street 2"]
629-
city: "test city"
630-
region: "test region"
631-
postcode: "887766"
623+
firstname: "John"
624+
lastname: "Doe"
625+
street: ["6161 West Centinella Avenue"]
626+
city: "Culver City"
627+
region: "CA"
628+
postcode: "90230"
632629
country_code: "us"
633-
telephone: "88776655"
634-
save_in_address_book: false
630+
telephone: "555-555-55-55"
635631
}
636632
}
637633
]
638634
}
639635
) {
640636
cart {
641637
shipping_addresses {
642-
firstname
638+
region {
639+
code
640+
}
641+
country {
642+
code
643+
}
643644
}
644645
}
645646
}
646647
}
647648
QUERY;
648-
$this->graphQlMutation($query, [], '', $this->getHeaderMap());
649+
$result = $this->graphQlMutation($query, [], '', $this->getHeaderMap());
650+
651+
self::assertCount(1, $result['setShippingAddressesOnCart']['cart']['shipping_addresses']);
652+
$address = reset($result['setShippingAddressesOnCart']['cart']['shipping_addresses']);
653+
654+
$this->assertEquals('US', $address['country']['code']);
655+
$this->assertEquals('CA', $address['region']['code']);
649656
}
650657

651658
/**

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

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -459,8 +459,6 @@ public function testSetNewBillingAddressRedundantStreetLine()
459459
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
460460
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php
461461
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
462-
* @expectedException \Exception
463-
* @expectedExceptionMessage "Country Code" cannot contain lowercase characters.
464462
*/
465463
public function testSetBillingAddressWithLowerCaseCountry()
466464
{
@@ -472,7 +470,7 @@ public function testSetBillingAddressWithLowerCaseCountry()
472470
input: {
473471
cart_id: "$maskedQuoteId"
474472
billing_address: {
475-
address: {
473+
address: {
476474
firstname: "test firstname"
477475
lastname: "test lastname"
478476
company: "test company"
@@ -483,19 +481,36 @@ public function testSetBillingAddressWithLowerCaseCountry()
483481
country_code: "us"
484482
telephone: "88776655"
485483
save_in_address_book: false
486-
}
484+
}
487485
}
488486
}
489487
) {
490488
cart {
491489
billing_address {
492490
firstname
491+
lastname
492+
company
493+
street
494+
city
495+
postcode
496+
telephone
497+
country {
498+
code
499+
label
500+
}
501+
__typename
493502
}
494503
}
495504
}
496505
}
497506
QUERY;
498-
$this->graphQlMutation($query);
507+
$response = $this->graphQlMutation($query);
508+
509+
self::assertArrayHasKey('cart', $response['setBillingAddressOnCart']);
510+
$cartResponse = $response['setBillingAddressOnCart']['cart'];
511+
self::assertArrayHasKey('billing_address', $cartResponse);
512+
$billingAddressResponse = $cartResponse['billing_address'];
513+
$this->assertNewAddressFields($billingAddressResponse);
499514
}
500515

501516
/**

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -411,8 +411,6 @@ public function testSetShippingAddressOnNonExistentCart()
411411
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
412412
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php
413413
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
414-
* @expectedException \Exception
415-
* @expectedExceptionMessage "Country Code" cannot contain lowercase characters.
416414
*/
417415
public function testSetShippingAddressWithLowerCaseCountry()
418416
{
@@ -452,7 +450,13 @@ public function testSetShippingAddressWithLowerCaseCountry()
452450
}
453451
}
454452
QUERY;
455-
$this->graphQlMutation($query);
453+
$result = $this->graphQlMutation($query);
454+
455+
self::assertCount(1, $result['setShippingAddressesOnCart']['cart']['shipping_addresses']);
456+
$address = reset($result['setShippingAddressesOnCart']['cart']['shipping_addresses']);
457+
458+
$this->assertEquals('US', $address['country']['code']);
459+
$this->assertEquals('CA', $address['region']['code']);
456460
}
457461

458462
/**

0 commit comments

Comments
 (0)