diff --git a/.phpstan.dist.baseline.neon b/.phpstan.dist.baseline.neon index 83b8706e101..6fe9bc81531 100644 --- a/.phpstan.dist.baseline.neon +++ b/.phpstan.dist.baseline.neon @@ -3479,3 +3479,9 @@ parameters: identifier: argument.type count: 1 path: lib/Varien/Simplexml/Element.php + + - + rawMessage: Dead catch - PhpUnitsOfMeasure\Exception\UnknownUnitOfMeasure is never thrown in the try block. + identifier: catch.neverThrown + count: 2 + path: tests/unit/Mage/Usa/Helper/DataTest.php diff --git a/.phpunit.dist.xml b/.phpunit.dist.xml index 4ea1c4749d8..72c2fc2ffa2 100644 --- a/.phpunit.dist.xml +++ b/.phpunit.dist.xml @@ -106,6 +106,9 @@ tests/unit/Mage/Uploader + + tests/unit/Mage/Usa + tests/unit/Mage/Wishlist diff --git a/app/code/core/Mage/Core/Helper/Measure/Length.php b/app/code/core/Mage/Core/Helper/Measure/Length.php new file mode 100644 index 00000000000..3f9b894f506 --- /dev/null +++ b/app/code/core/Mage/Core/Helper/Measure/Length.php @@ -0,0 +1,26 @@ +convertMeasureWeight( $kgWeight, - Zend_Measure_Weight::KILOGRAM, - Zend_Measure_Weight::POUND, + Mage_Core_Helper_Measure_Weight::KILOGRAM, + Mage_Core_Helper_Measure_Weight::POUND, ), 3, ); diff --git a/app/code/core/Mage/Usa/Helper/Data.php b/app/code/core/Mage/Usa/Helper/Data.php index 3a3c8982a99..c8b8fbe8e7d 100644 --- a/app/code/core/Mage/Usa/Helper/Data.php +++ b/app/code/core/Mage/Usa/Helper/Data.php @@ -7,6 +7,12 @@ * @package Mage_Usa */ +use PhpUnitsOfMeasure\Exception\NonNumericValue; +use PhpUnitsOfMeasure\Exception\NonStringUnitName; +use PhpUnitsOfMeasure\Exception\UnknownUnitOfMeasure; +use PhpUnitsOfMeasure\PhysicalQuantity\Mass; +use PhpUnitsOfMeasure\PhysicalQuantity\Length; + /** * @package Mage_Usa */ @@ -17,18 +23,18 @@ class Mage_Usa_Helper_Data extends Mage_Core_Helper_Abstract /** * Convert weight in different measure types * - * @param mixed $value - * @param string $sourceWeightMeasure - * @param string $toWeightMeasure - * @return null|int|string + * @param float $value + * @param Mage_Core_Helper_Measure_Weight::* $sourceWeightMeasure + * @param Mage_Core_Helper_Measure_Weight::* $toWeightMeasure + * @return null|float + * @throws NonNumericValue + * @throws NonStringUnitName */ public function convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeasure) { if ($value) { - $locale = Mage::app()->getLocale()->getLocale(); - $unitWeight = new Zend_Measure_Weight($value, $sourceWeightMeasure, $locale); - $unitWeight->setType($toWeightMeasure); - return $unitWeight->getValue(); + $unitWeight = new Mass($value, $sourceWeightMeasure); + return $unitWeight->toUnit($toWeightMeasure); } return null; @@ -37,20 +43,18 @@ public function convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeas /** * Convert dimensions in different measure types * - * @param float|int|string $value - * @param string $sourceDimensionMeasure - * @param string $toDimensionMeasure - * @return null|int|string - * @throws Zend_Locale_Exception - * @throws Zend_Measure_Exception + * @param float $value + * @param Mage_Core_Helper_Measure_Length::* $sourceDimensionMeasure + * @param Mage_Core_Helper_Measure_Length::* $toDimensionMeasure + * @return null|float + * @throws NonNumericValue + * @throws NonStringUnitName */ public function convertMeasureDimension($value, $sourceDimensionMeasure, $toDimensionMeasure) { if ($value) { - $locale = Mage::app()->getLocale()->getLocale(); - $unitDimension = new Zend_Measure_Length($value, $sourceDimensionMeasure, $locale); - $unitDimension->setType($toDimensionMeasure); - return $unitDimension->getValue(); + $unitDimension = new Length($value, $sourceDimensionMeasure); + return $unitDimension->toUnit($toDimensionMeasure); } return null; @@ -59,37 +63,27 @@ public function convertMeasureDimension($value, $sourceDimensionMeasure, $toDime /** * Get name of measure by its type * - * @param $key + * @param string $key * @return string - * @throws Zend_Measure_Exception + * @throws UnknownUnitOfMeasure */ public function getMeasureWeightName($key) { - $weight = new Zend_Measure_Weight(0); - $conversionList = $weight->getConversionList(); - if (!empty($conversionList[$key]) && !empty($conversionList[$key][1])) { - return $conversionList[$key][1]; - } - - return ''; + $unit = Mass::getUnit($key); + return $unit->getName(); } /** * Get name of measure by its type * - * @param $key + * @param string $key * @return string - * @throws Zend_Measure_Exception + * @throws UnknownUnitOfMeasure */ public function getMeasureDimensionName($key) { - $weight = new Zend_Measure_Length(0); - $conversionList = $weight->getConversionList(); - if (!empty($conversionList[$key]) && !empty($conversionList[$key][1])) { - return $conversionList[$key][1]; - } - - return ''; + $unit = Length::getUnit($key); + return $unit->getName(); } /** @@ -132,7 +126,6 @@ public function displayGirthValue($shippingMethod) * Validate ups type value * * @param string $valueForCheck ups type value for check - * * @return bool */ public function validateUpsType($valueForCheck) diff --git a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl.php b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl.php index c481bfb210a..144016df6f0 100644 --- a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl.php +++ b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl.php @@ -290,29 +290,29 @@ public function setRequest(Varien_Object $request) if ($request->getAction() == 'GenerateLabel') { $packageParams = $request->getPackageParams(); $shippingWeight = $request->getPackageWeight(); - if ($packageParams->getWeightUnits() != Zend_Measure_Weight::POUND) { + if ($packageParams->getWeightUnits() != Mage_Core_Helper_Measure_Weight::POUND) { $shippingWeight = round((float) Mage::helper('usa')->convertMeasureWeight( $request->getPackageWeight(), $packageParams->getWeightUnits(), - Zend_Measure_Weight::POUND, + Mage_Core_Helper_Measure_Weight::POUND, )); } - if ($packageParams->getDimensionUnits() != Zend_Measure_Length::INCH) { + if ($packageParams->getDimensionUnits() != Mage_Core_Helper_Measure_Length::INCH) { $packageParams->setLength(round((float) Mage::helper('usa')->convertMeasureDimension( $packageParams->getLength(), $packageParams->getDimensionUnits(), - Zend_Measure_Length::INCH, + Mage_Core_Helper_Measure_Length::INCH, ))); $packageParams->setWidth(round((float) Mage::helper('usa')->convertMeasureDimension( $packageParams->getWidth(), $packageParams->getDimensionUnits(), - Zend_Measure_Length::INCH, + Mage_Core_Helper_Measure_Length::INCH, ))); $packageParams->setHeight(round((float) Mage::helper('usa')->convertMeasureDimension( $packageParams->getHeight(), $packageParams->getDimensionUnits(), - Zend_Measure_Length::INCH, + Mage_Core_Helper_Measure_Length::INCH, ))); } diff --git a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl/International.php b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl/International.php index 4e633c1d4e2..5fd7155e44c 100644 --- a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl/International.php +++ b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl/International.php @@ -427,18 +427,18 @@ public function getCode($type, $code = '') '1' => Mage::helper('usa')->__('Specific'), ], 'dimensions_variables' => [ - 'L' => Zend_Measure_Weight::POUND, - 'LB' => Zend_Measure_Weight::POUND, - 'POUND' => Zend_Measure_Weight::POUND, - 'K' => Zend_Measure_Weight::KILOGRAM, - 'KG' => Zend_Measure_Weight::KILOGRAM, - 'KILOGRAM' => Zend_Measure_Weight::KILOGRAM, - 'I' => Zend_Measure_Length::INCH, - 'IN' => Zend_Measure_Length::INCH, - 'INCH' => Zend_Measure_Length::INCH, - 'C' => Zend_Measure_Length::CENTIMETER, - 'CM' => Zend_Measure_Length::CENTIMETER, - 'CENTIMETER' => Zend_Measure_Length::CENTIMETER, + 'L' => Mage_Core_Helper_Measure_Weight::POUND, + 'LB' => Mage_Core_Helper_Measure_Weight::POUND, + 'POUND' => Mage_Core_Helper_Measure_Weight::POUND, + 'K' => Mage_Core_Helper_Measure_Weight::KILOGRAM, + 'KG' => Mage_Core_Helper_Measure_Weight::KILOGRAM, + 'KILOGRAM' => Mage_Core_Helper_Measure_Weight::KILOGRAM, + 'I' => Mage_Core_Helper_Measure_Length::INCH, + 'IN' => Mage_Core_Helper_Measure_Length::INCH, + 'INCH' => Mage_Core_Helper_Measure_Length::INCH, + 'C' => Mage_Core_Helper_Measure_Length::CENTIMETER, + 'CM' => Mage_Core_Helper_Measure_Length::CENTIMETER, + 'CENTIMETER' => Mage_Core_Helper_Measure_Length::CENTIMETER, ], ]; @@ -537,7 +537,7 @@ public function getDhlProductTitle($code) protected function _getWeight($weight, $maxWeight = false, $configWeightUnit = false) { if ($maxWeight) { - $configWeightUnit = Zend_Measure_Weight::KILOGRAM; + $configWeightUnit = Mage_Core_Helper_Measure_Weight::KILOGRAM; } elseif ($configWeightUnit) { $configWeightUnit = $this->getCode('dimensions_variables', $configWeightUnit); } else { @@ -731,10 +731,10 @@ protected function _getDimension($dimension, $configWeightUnit = false) $configWeightUnit = $this->getCode('dimensions_variables', $configWeightUnit); } - if ($configWeightUnit == Zend_Measure_Weight::POUND) { - $configDimensionUnit = Zend_Measure_Length::INCH; + if ($configWeightUnit == Mage_Core_Helper_Measure_Weight::POUND) { + $configDimensionUnit = Mage_Core_Helper_Measure_Length::INCH; } else { - $configDimensionUnit = Zend_Measure_Length::CENTIMETER; + $configDimensionUnit = Mage_Core_Helper_Measure_Length::CENTIMETER; } $countryDimensionUnit = $this->getCode('dimensions_variables', $this->_getDimensionUnit()); diff --git a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Fedex.php b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Fedex.php index 4ec75446679..8ace1b2a4c8 100644 --- a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Fedex.php +++ b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Fedex.php @@ -1343,8 +1343,8 @@ protected function _formShipmentRequest(Varien_Object $request) $height = $packageParams->getHeight(); $width = $packageParams->getWidth(); $length = $packageParams->getLength(); - $weightUnits = $packageParams->getWeightUnits() == Zend_Measure_Weight::POUND ? 'LB' : 'KG'; - $dimensionsUnits = $packageParams->getDimensionUnits() == Zend_Measure_Length::INCH ? 'IN' : 'CM'; + $weightUnits = $packageParams->getWeightUnits() == Mage_Core_Helper_Measure_Weight::POUND ? 'LB' : 'KG'; + $dimensionsUnits = $packageParams->getDimensionUnits() == Mage_Core_Helper_Measure_Length::INCH ? 'IN' : 'CM'; $unitPrice = 0; $itemsQty = 0; $itemsDesc = []; diff --git a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php index 04363fed5f6..f2b59bae443 100644 --- a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php +++ b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php @@ -1379,8 +1379,8 @@ protected function _formShipmentRequest(Varien_Object $request) $height = $packageParams->getHeight(); $width = $packageParams->getWidth(); $length = $packageParams->getLength(); - $weightUnits = $packageParams->getWeightUnits() == Zend_Measure_Weight::POUND ? 'LBS' : 'KGS'; - $dimensionsUnits = $packageParams->getDimensionUnits() == Zend_Measure_Length::INCH ? 'IN' : 'CM'; + $weightUnits = $packageParams->getWeightUnits() == Mage_Core_Helper_Measure_Weight::POUND ? 'LBS' : 'KGS'; + $dimensionsUnits = $packageParams->getDimensionUnits() == Mage_Core_Helper_Measure_Length::INCH ? 'IN' : 'CM'; $xmlRequest = new SimpleXMLElement(''); $requestPart = $xmlRequest->addChild('Request'); @@ -1797,8 +1797,8 @@ protected function _formShipmentRestRequest(Varien_Object $request): string $width = $packageParams->getWidth(); $length = $packageParams->getLength(); $weight = $packageParams->getWeight(); - $weightUnits = $packageParams->getWeightUnits() == Zend_Measure_Weight::POUND ? 'LBS' : 'KGS'; - $dimensionsUnits = $packageParams->getDimensionUnits() == Zend_Measure_Length::INCH ? 'IN' : 'CM'; + $weightUnits = $packageParams->getWeightUnits() == Mage_Core_Helper_Measure_Weight::POUND ? 'LBS' : 'KGS'; + $dimensionsUnits = $packageParams->getDimensionUnits() == Mage_Core_Helper_Measure_Length::INCH ? 'IN' : 'CM'; /** Shipment API Payload */ $shipParams = [ diff --git a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Usps.php b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Usps.php index 08174e742b0..cb8806e627f 100644 --- a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Usps.php +++ b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Usps.php @@ -1353,11 +1353,11 @@ protected function _formUsExpressShipmentRequest(Varien_Object $request) $packageParams = $request->getPackageParams(); $packageWeight = $request->getPackageWeight(); - if ($packageParams->getWeightUnits() != Zend_Measure_Weight::OUNCE) { + if ($packageParams->getWeightUnits() != Mage_Core_Helper_Measure_Weight::OUNCE) { $packageWeight = round((float) Mage::helper('usa')->convertMeasureWeight( $request->getPackageWeight(), $packageParams->getWeightUnits(), - Zend_Measure_Weight::OUNCE, + Mage_Core_Helper_Measure_Weight::OUNCE, )); } @@ -1424,11 +1424,11 @@ protected function _formUsSignatureConfirmationShipmentRequest(Varien_Object $re }; $packageParams = $request->getPackageParams(); $packageWeight = $request->getPackageWeight(); - if ($packageParams->getWeightUnits() != Zend_Measure_Weight::OUNCE) { + if ($packageParams->getWeightUnits() != Mage_Core_Helper_Measure_Weight::OUNCE) { $packageWeight = round((float) Mage::helper('usa')->convertMeasureWeight( $request->getPackageWeight(), $packageParams->getWeightUnits(), - Zend_Measure_Weight::OUNCE, + Mage_Core_Helper_Measure_Weight::OUNCE, )); } @@ -1501,37 +1501,37 @@ protected function _formIntlShipmentRequest(Varien_Object $request) $length = $packageParams->getLength(); $girth = $packageParams->getGirth(); $packageWeight = $request->getPackageWeight(); - if ($packageParams->getWeightUnits() != Zend_Measure_Weight::POUND) { + if ($packageParams->getWeightUnits() != Mage_Core_Helper_Measure_Weight::POUND) { $packageWeight = Mage::helper('usa')->convertMeasureWeight( $request->getPackageWeight(), $packageParams->getWeightUnits(), - Zend_Measure_Weight::POUND, + Mage_Core_Helper_Measure_Weight::POUND, ); } - if ($packageParams->getDimensionUnits() != Zend_Measure_Length::INCH) { + if ($packageParams->getDimensionUnits() != Mage_Core_Helper_Measure_Length::INCH) { $length = round((float) Mage::helper('usa')->convertMeasureDimension( $packageParams->getLength(), $packageParams->getDimensionUnits(), - Zend_Measure_Length::INCH, + Mage_Core_Helper_Measure_Length::INCH, )); $width = round((float) Mage::helper('usa')->convertMeasureDimension( $packageParams->getWidth(), $packageParams->getDimensionUnits(), - Zend_Measure_Length::INCH, + Mage_Core_Helper_Measure_Length::INCH, )); $height = round((float) Mage::helper('usa')->convertMeasureDimension( $packageParams->getHeight(), $packageParams->getDimensionUnits(), - Zend_Measure_Length::INCH, + Mage_Core_Helper_Measure_Length::INCH, )); } - if ($packageParams->getGirthDimensionUnits() != Zend_Measure_Length::INCH) { + if ($packageParams->getGirthDimensionUnits() != Mage_Core_Helper_Measure_Length::INCH) { $girth = round((float) Mage::helper('usa')->convertMeasureDimension( $packageParams->getGirth(), $packageParams->getGirthDimensionUnits(), - Zend_Measure_Length::INCH, + Mage_Core_Helper_Measure_Length::INCH, )); } @@ -1650,11 +1650,11 @@ protected function _formIntlShipmentRequest(Varien_Object $request) $item->setData($itemShipment); $itemWeight = $item->getWeight() * $item->getQty(); - if ($packageParams->getWeightUnits() != Zend_Measure_Weight::POUND) { + if ($packageParams->getWeightUnits() != Mage_Core_Helper_Measure_Weight::POUND) { $itemWeight = Mage::helper('usa')->convertMeasureWeight( $itemWeight, $packageParams->getWeightUnits(), - Zend_Measure_Weight::POUND, + Mage_Core_Helper_Measure_Weight::POUND, ); } diff --git a/app/design/adminhtml/default/default/template/sales/order/shipment/packaging/popup.phtml b/app/design/adminhtml/default/default/template/sales/order/shipment/packaging/popup.phtml index 520947371a1..4403d3f37d8 100644 --- a/app/design/adminhtml/default/default/template/sales/order/shipment/packaging/popup.phtml +++ b/app/design/adminhtml/default/default/template/sales/order/shipment/packaging/popup.phtml @@ -87,8 +87,8 @@ document.observe("dom:loaded", function() { @@ -108,8 +108,8 @@ document.observe("dom:loaded", function() { @@ -123,8 +123,8 @@ document.observe("dom:loaded", function() { getDeliveryConfirmationTypes()): ?> diff --git a/composer.json b/composer.json index 39acd6563d1..11bb4452110 100644 --- a/composer.json +++ b/composer.json @@ -41,6 +41,7 @@ "nnnick/chartjs": "^4.4", "openmage/composer-plugin": "^3.1", "pelago/emogrifier": "^8.0", + "php-units-of-measure/php-units-of-measure": "^2.2", "phpseclib/mcrypt_compat": "^2.0.3", "phpseclib/phpseclib": "^3.0.14", "shardj/zf1-future": "^1.24.1", @@ -198,4 +199,4 @@ "vendor:patch": "Create patch file", "test": "Run php-cs-fixer, phpstan & phpunit" } -} \ No newline at end of file +} diff --git a/composer.lock b/composer.lock index 4c126595543..3da36c52b43 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e315d71b276ddf7480ec9021303416ac", + "content-hash": "bcf1c4a1e53248dd4f0887fe73eff253", "packages": [ { "name": "carbonphp/carbon-doctrine-types", @@ -1631,6 +1631,59 @@ }, "time": "2025-09-15T12:53:23+00:00" }, + { + "name": "php-units-of-measure/php-units-of-measure", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/PhpUnitsOfMeasure/php-units-of-measure.git", + "reference": "cf1b83b1ef7615dd53f70864c9e7f496b1ec0fd1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhpUnitsOfMeasure/php-units-of-measure/zipball/cf1b83b1ef7615dd53f70864c9e7f496b1ec0fd1", + "reference": "cf1b83b1ef7615dd53f70864c9e7f496b1ec0fd1", + "shasum": "" + }, + "require": { + "php": ">=7.4" + }, + "replace": { + "triplepoint/php-units-of-measure": "*" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "PhpUnitsOfMeasure\\": "source/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Hanson", + "role": "Developer" + } + ], + "description": "A PHP library for converting between standard units of measure.", + "homepage": "https://github.com/PhpUnitsOfMeasure/php-units-of-measure", + "keywords": [ + "conversion", + "data", + "measurements" + ], + "support": { + "issues": "https://github.com/PhpUnitsOfMeasure/php-units-of-measure/issues", + "source": "https://github.com/PhpUnitsOfMeasure/php-units-of-measure" + }, + "time": "2025-04-30T23:02:43+00:00" + }, { "name": "phpseclib/mcrypt_compat", "version": "2.0.6", diff --git a/tests/unit/Mage/Usa/Helper/DataTest.php b/tests/unit/Mage/Usa/Helper/DataTest.php new file mode 100644 index 00000000000..37235f35278 --- /dev/null +++ b/tests/unit/Mage/Usa/Helper/DataTest.php @@ -0,0 +1,99 @@ +convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeasure)); + } catch (NonNumericValue|NonStringUnitName|UnknownUnitOfMeasure $unitOfMeasure) { + self::assertSame($expectedResult, $unitOfMeasure->getMessage()); + } + } + + /** + * @dataProvider provideConvertMeasureDimensionData + * @group Helper + */ + public function testConvertMeasureDimension(float|string $expectedResult, $value, ?string $sourceWeightMeasure, ?string $toWeightMeasure): void + { + try { + self::assertSame($expectedResult, self::$subject->convertMeasureDimension($value, $sourceWeightMeasure, $toWeightMeasure)); + } catch (NonNumericValue|NonStringUnitName|UnknownUnitOfMeasure $unitOfMeasure) { + self::assertSame($expectedResult, $unitOfMeasure->getMessage()); + } + } + + /** + * @dataProvider provideGetMeasureWeightNameData + * @group Helper + */ + public function testGetMeasureWeightName(string $expectedResult, string $key): void + { + try { + self::assertSame($expectedResult, self::$subject->getMeasureWeightName($key)); + } catch (UnknownUnitOfMeasure $unknownUnitOfMeasure) { + self::assertSame($expectedResult, $unknownUnitOfMeasure->getMessage()); + } + } + + /** + * @dataProvider provideGetMeasureDimensionNameData + * @group Helper + */ + public function testGetMeasureDimensionName(string $expectedResult, string $key): void + { + try { + self::assertSame($expectedResult, self::$subject->getMeasureDimensionName($key)); + } catch (UnknownUnitOfMeasure $unknownUnitOfMeasure) { + self::assertSame($expectedResult, $unknownUnitOfMeasure->getMessage()); + } + } + + /** + * @dataProvider provideDisplayGirthValueData + * @group Helper + */ + public function testDisplayGirthValue(bool $expectedResult, string $value): void + { + self::assertSame($expectedResult, self::$subject->displayGirthValue($value)); + } + + public function testCalidateUpsType(): void + { + self::assertIsBool(self::$subject->validateUpsType('invalid')); + } +} diff --git a/tests/unit/Traits/DataProvider/Mage/Usa/Helper/DataTrait.php b/tests/unit/Traits/DataProvider/Mage/Usa/Helper/DataTrait.php new file mode 100644 index 00000000000..ecc211185d7 --- /dev/null +++ b/tests/unit/Traits/DataProvider/Mage/Usa/Helper/DataTrait.php @@ -0,0 +1,105 @@ + [ + 22.046226218487757, + 10, + Mage_Core_Helper_Measure_Weight::KILOGRAM, + Mage_Core_Helper_Measure_Weight::POUND, + ]; + + yield 'ounce to lbs' => [ + 0.625, + 10, + Mage_Core_Helper_Measure_Weight::OUNCE, + Mage_Core_Helper_Measure_Weight::POUND, + ]; + + yield 'non-numeric value' => [ + 'Value (xyz) must be numeric.', + 'xyz', + Mage_Core_Helper_Measure_Weight::OUNCE, + Mage_Core_Helper_Measure_Weight::POUND, + ]; + + yield 'non-string unit' => [ + 'Unit name or alias () must be a string value.', + 10, + Mage_Core_Helper_Measure_Weight::OUNCE, + null, + ]; + } + + public function provideConvertMeasureDimensionData(): Generator + { + yield 'm to cm' => [ + 1000, + 10, + Mage_Core_Helper_Measure_Length::STANDARD, + Mage_Core_Helper_Measure_Length::CENTIMETER, + ]; + + yield 'invalid to cm' => [ + 'Unknown unit of measure (xyz).', + 10, + 'xyz', + Mage_Core_Helper_Measure_Length::CENTIMETER, + ]; + } + + public function provideGetMeasureWeightNameData(): Generator + { + yield 'kg' => [ + 'kg', + Mage_Core_Helper_Measure_Weight::KILOGRAM, + ]; + + yield 'exception' => [ + 'Unknown unit of measure (xyz).', + 'xyz', + ]; + } + + public function provideGetMeasureDimensionNameData(): Generator + { + yield 'm' => [ + 'm', + Mage_Core_Helper_Measure_Length::STANDARD, + ]; + + yield 'exception' => [ + 'Unknown unit of measure (xyz).', + 'xyz', + ]; + } + + public function provideDisplayGirthValueData(): Generator + { + yield 'valid' => [ + true, + 'usps_1', + ]; + + yield 'invalid' => [ + false, + 'invalid', + ]; + } +}