Skip to content

Commit 0805bf8

Browse files
committed
Merge remote-tracking branch 'origin/MAGETWO-70844' into pr-regression-ece
2 parents 5a7c5e4 + 1484fa5 commit 0805bf8

File tree

4 files changed

+48
-15
lines changed

4 files changed

+48
-15
lines changed

app/code/Magento/Dhl/Model/Carrier.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,7 @@ protected function _getWeight($weight, $maxWeight = false, $configWeightUnit = f
670670

671671
if ($configWeightUnit != $countryWeightUnit) {
672672
$weight = $this->_carrierHelper->convertMeasureWeight(
673-
sprintf('%.3f', $weight),
673+
(float)$weight,
674674
$configWeightUnit,
675675
$countryWeightUnit
676676
);
@@ -870,7 +870,7 @@ protected function _getDimension($dimension, $configWeightUnit = false)
870870

871871
if ($configDimensionUnit != $countryDimensionUnit) {
872872
$dimension = $this->_carrierHelper->convertMeasureDimension(
873-
sprintf('%.3f', $dimension),
873+
(float)$dimension,
874874
$configDimensionUnit,
875875
$countryDimensionUnit
876876
);
@@ -889,9 +889,9 @@ protected function _addDimension($nodePiece)
889889
{
890890
$sizeChecker = (string)$this->getConfigData('size');
891891

892-
$height = $this->_getDimension((string)$this->getConfigData('height'));
893-
$depth = $this->_getDimension((string)$this->getConfigData('depth'));
894-
$width = $this->_getDimension((string)$this->getConfigData('width'));
892+
$height = $this->_getDimension((float)$this->getConfigData('height'));
893+
$depth = $this->_getDimension((float)$this->getConfigData('depth'));
894+
$width = $this->_getDimension((float)$this->getConfigData('width'));
895895

896896
if ($sizeChecker && $height && $depth && $width) {
897897
$nodePiece->addChild('Height', $height);

app/code/Magento/Dhl/Test/Unit/Model/CarrierTest.php

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,15 @@ function ($data) {
167167

168168
$this->errorFactory->expects($this->any())->method('create')->willReturn($this->error);
169169

170+
$localeResolver = $this->getMockForAbstractClass(\Magento\Framework\Locale\ResolverInterface::class);
171+
$localeResolver->method('getLocale')->willReturn('fr_FR');
172+
173+
$carrierHelper = $this->objectManager->getObject(
174+
\Magento\Shipping\Helper\Carrier::class,
175+
[
176+
'localeResolver' => $localeResolver
177+
]
178+
);
170179
$this->model = $this->objectManager->getObject(
171180
\Magento\Dhl\Model\Carrier::class,
172181
[
@@ -179,6 +188,7 @@ function ($data) {
179188
'httpClientFactory' => $httpClientFactory,
180189
'readFactory' => $readFactory,
181190
'storeManager' => $storeManager,
191+
'carrierHelper' => $carrierHelper,
182192
'data' => ['id' => 'dhl', 'store' => '1']
183193
]
184194
);
@@ -205,7 +215,11 @@ public function scopeConfigGetValue($path)
205215
'carriers/dhl/showmethod' => 1,
206216
'carriers/dhl/title' => 'dhl Title',
207217
'carriers/dhl/specificerrmsg' => 'dhl error message',
208-
'carriers/dhl/unit_of_measure' => 'L',
218+
'carriers/dhl/unit_of_measure' => 'K',
219+
'carriers/dhl/size' => '1',
220+
'carriers/dhl/height' => '1.6',
221+
'carriers/dhl/width' => '1.6',
222+
'carriers/dhl/depth' => '1.6',
209223
];
210224
return isset($pathMap[$path]) ? $pathMap[$path] : null;
211225
}
@@ -280,7 +294,10 @@ public function testCollectRates()
280294
$rawPostData->setAccessible(true);
281295

282296
self::assertNotEmpty($this->model->collectRates($request)->getAllRates());
283-
self::assertContains('<Weight>8.266</Weight>', $rawPostData->getValue($this->httpClient));
297+
self::assertContains('<Weight>18.223</Weight>', $rawPostData->getValue($this->httpClient));
298+
self::assertContains('<Height>0.630</Height>', $rawPostData->getValue($this->httpClient));
299+
self::assertContains('<Width>0.630</Width>', $rawPostData->getValue($this->httpClient));
300+
self::assertContains('<Depth>0.630</Depth>', $rawPostData->getValue($this->httpClient));
284301
}
285302

286303
public function testCollectRatesErrorMessage()

app/code/Magento/Usps/Model/Carrier.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1432,7 +1432,7 @@ protected function _formUsExpressShipmentRequest(\Magento\Framework\DataObject $
14321432
if ($packageParams->getWeightUnits() != \Zend_Measure_Weight::OUNCE) {
14331433
$packageWeight = round(
14341434
$this->_carrierHelper->convertMeasureWeight(
1435-
$request->getPackageWeight(),
1435+
(float)$request->getPackageWeight(),
14361436
$packageParams->getWeightUnits(),
14371437
\Zend_Measure_Weight::OUNCE
14381438
)
@@ -1526,7 +1526,7 @@ protected function _formUsSignatureConfirmationShipmentRequest(\Magento\Framewor
15261526
if ($packageParams->getWeightUnits() != \Zend_Measure_Weight::OUNCE) {
15271527
$packageWeight = round(
15281528
$this->_carrierHelper->convertMeasureWeight(
1529-
$request->getPackageWeight(),
1529+
(float)$request->getPackageWeight(),
15301530
$packageParams->getWeightUnits(),
15311531
\Zend_Measure_Weight::OUNCE
15321532
)
@@ -1609,29 +1609,29 @@ protected function _formIntlShipmentRequest(\Magento\Framework\DataObject $reque
16091609
$packageWeight = $request->getPackageWeight();
16101610
if ($packageParams->getWeightUnits() != \Zend_Measure_Weight::POUND) {
16111611
$packageWeight = $this->_carrierHelper->convertMeasureWeight(
1612-
$request->getPackageWeight(),
1612+
(float)$request->getPackageWeight(),
16131613
$packageParams->getWeightUnits(),
16141614
\Zend_Measure_Weight::POUND
16151615
);
16161616
}
16171617
if ($packageParams->getDimensionUnits() != \Zend_Measure_Length::INCH) {
16181618
$length = round(
16191619
$this->_carrierHelper->convertMeasureDimension(
1620-
$packageParams->getLength(),
1620+
(float)$packageParams->getLength(),
16211621
$packageParams->getDimensionUnits(),
16221622
\Zend_Measure_Length::INCH
16231623
)
16241624
);
16251625
$width = round(
16261626
$this->_carrierHelper->convertMeasureDimension(
1627-
$packageParams->getWidth(),
1627+
(float)$packageParams->getWidth(),
16281628
$packageParams->getDimensionUnits(),
16291629
\Zend_Measure_Length::INCH
16301630
)
16311631
);
16321632
$height = round(
16331633
$this->_carrierHelper->convertMeasureDimension(
1634-
$packageParams->getHeight(),
1634+
(float)$packageParams->getHeight(),
16351635
$packageParams->getDimensionUnits(),
16361636
\Zend_Measure_Length::INCH
16371637
)
@@ -1640,7 +1640,7 @@ protected function _formIntlShipmentRequest(\Magento\Framework\DataObject $reque
16401640
if ($packageParams->getGirthDimensionUnits() != \Zend_Measure_Length::INCH) {
16411641
$girth = round(
16421642
$this->_carrierHelper->convertMeasureDimension(
1643-
$packageParams->getGirth(),
1643+
(float)$packageParams->getGirth(),
16441644
$packageParams->getGirthDimensionUnits(),
16451645
\Zend_Measure_Length::INCH
16461646
)

app/code/Magento/Usps/Test/Unit/Model/CarrierTest.php

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,15 @@ function ($data) {
153153

154154
$this->errorFactory->expects($this->any())->method('create')->willReturn($this->error);
155155

156+
$localeResolver = $this->getMockForAbstractClass(\Magento\Framework\Locale\ResolverInterface::class);
157+
$localeResolver->method('getLocale')->willReturn('fr_FR');
158+
$carrierHelper = $this->objectManager->getObject(
159+
\Magento\Shipping\Helper\Carrier::class,
160+
[
161+
'localeResolver' => $localeResolver
162+
]
163+
);
164+
156165
$arguments = [
157166
'scopeConfig' => $this->scope,
158167
'xmlSecurity' => new \Magento\Framework\Xml\Security(),
@@ -162,7 +171,7 @@ function ($data) {
162171
'httpClientFactory' => $httpClientFactory,
163172
'data' => $data,
164173
'rateErrorFactory' => $this->errorFactory,
165-
174+
'carrierHelper' => $carrierHelper,
166175
];
167176

168177
$this->dataHelper = $this->getMockBuilder(DataHelper::class)
@@ -246,6 +255,13 @@ public function testReturnOfShipment()
246255
\Magento\Shipping\Model\Shipment\ReturnShipment::class,
247256
require __DIR__ . '/_files/return_shipment_request_data.php'
248257
);
258+
$this->httpClient->expects(self::exactly(2))
259+
->method('setParameterGet')
260+
->withConsecutive(
261+
['API', 'SignatureConfirmationCertifyV3'],
262+
['XML', $this->stringContains('<WeightInOunces>80</WeightInOunces>')]
263+
);
264+
249265
$this->assertNotEmpty($this->carrier->returnOfShipment($request)->getInfo()[0]['tracking_number']);
250266
}
251267

0 commit comments

Comments
 (0)