Skip to content

Commit 100803c

Browse files
ENGCOM-4382: Save country when creating new quote addresses #390
- Merge Pull Request magento/graphql-ce#390 from pmclain/graphql-ce:hotfix/quote-address-country - Merged commits: 1. 7871f4c
2 parents 697978e + 7871f4c commit 100803c

File tree

4 files changed

+30
-2
lines changed

4 files changed

+30
-2
lines changed

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

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public function execute(ContextInterface $context, CartInterface $cart, array $b
9393
);
9494
}
9595
if (null === $customerAddressId) {
96+
$addressInput['country_id'] = $addressInput['country_code'] ?? '';
9697
$billingAddress = $this->addressModel->addData($addressInput);
9798
} else {
9899
$this->checkCustomerAccount->execute($context->getUserId(), $context->getUserType());

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

+1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ public function execute(ContextInterface $context, CartInterface $cart, array $s
8787
);
8888
}
8989
if (null === $customerAddressId) {
90+
$addressInput['country_id'] = $addressInput['country_code'] ?? '';
9091
$shippingAddress = $this->addressModel->addData($addressInput);
9192
} else {
9293
$this->checkCustomerAccount->execute($context->getUserId(), $context->getUserType());

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

+18-1
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ public function testSetNewBillingAddressByGuest()
8888
city
8989
postcode
9090
telephone
91+
country {
92+
code
93+
label
94+
}
9195
}
9296
}
9397
}
@@ -140,6 +144,10 @@ public function testSetNewBillingAddressWithUseForShippingParameterByGuest()
140144
city
141145
postcode
142146
telephone
147+
country {
148+
code
149+
label
150+
}
143151
}
144152
shipping_addresses {
145153
firstname
@@ -149,6 +157,10 @@ public function testSetNewBillingAddressWithUseForShippingParameterByGuest()
149157
city
150158
postcode
151159
telephone
160+
country {
161+
code
162+
label
163+
}
152164
}
153165
}
154166
}
@@ -234,6 +246,10 @@ public function testSetNewBillingAddressByRegisteredCustomer()
234246
city
235247
postcode
236248
telephone
249+
country {
250+
code
251+
label
252+
}
237253
}
238254
}
239255
}
@@ -413,7 +429,8 @@ private function assertNewAddressFields(array $billingAddressResponse): void
413429
['response_field' => 'street', 'expected_value' => [0 => 'test street 1', 1 => 'test street 2']],
414430
['response_field' => 'city', 'expected_value' => 'test city'],
415431
['response_field' => 'postcode', 'expected_value' => '887766'],
416-
['response_field' => 'telephone', 'expected_value' => '88776655']
432+
['response_field' => 'telephone', 'expected_value' => '88776655'],
433+
['response_field' => 'country', 'expected_value' => ['code' => 'US', 'label' => 'US']],
417434
];
418435

419436
$this->assertResponseFields($billingAddressResponse, $assertionMap);

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

+10-1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ public function testSetNewShippingAddressByGuest()
9090
city
9191
postcode
9292
telephone
93+
country {
94+
code
95+
label
96+
}
9397
}
9498
}
9599
}
@@ -176,6 +180,10 @@ public function testSetNewShippingAddressByRegisteredCustomer()
176180
city
177181
postcode
178182
telephone
183+
country {
184+
label
185+
code
186+
}
179187
}
180188
}
181189
}
@@ -462,7 +470,8 @@ private function assertNewShippingAddressFields(array $shippingAddressResponse):
462470
['response_field' => 'street', 'expected_value' => [0 => 'test street 1', 1 => 'test street 2']],
463471
['response_field' => 'city', 'expected_value' => 'test city'],
464472
['response_field' => 'postcode', 'expected_value' => '887766'],
465-
['response_field' => 'telephone', 'expected_value' => '88776655']
473+
['response_field' => 'telephone', 'expected_value' => '88776655'],
474+
['response_field' => 'country', 'expected_value' => ['code' => 'US', 'label' => 'US']],
466475
];
467476

468477
$this->assertResponseFields($shippingAddressResponse, $assertionMap);

0 commit comments

Comments
 (0)