Skip to content

Commit f666251

Browse files
committed
tests
1 parent 5586016 commit f666251

File tree

4 files changed

+53
-22
lines changed

4 files changed

+53
-22
lines changed

.phpstan.dist.baseline.neon

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3096,12 +3096,6 @@ parameters:
30963096
count: 1
30973097
path: app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl/International.php
30983098

3099-
-
3100-
rawMessage: 'Parameter #1 $value of method Mage_Usa_Helper_Data::convertMeasureDimension() expects int|string, float given.'
3101-
identifier: argument.type
3102-
count: 1
3103-
path: app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl/International.php
3104-
31053099
-
31063100
rawMessage: Access to an undefined property Mage_Usa_Model_Shipping_Carrier_Fedex::$_defaultGatewayUrl.
31073101
identifier: property.notFound
@@ -4139,3 +4133,9 @@ parameters:
41394133
identifier: argument.type
41404134
count: 1
41414135
path: lib/Varien/Simplexml/Element.php
4136+
4137+
-
4138+
rawMessage: Dead catch - PhpUnitsOfMeasure\Exception\UnknownUnitOfMeasure is never thrown in the try block.
4139+
identifier: catch.neverThrown
4140+
count: 2
4141+
path: tests/unit/Mage/Usa/Helper/DataTest.php

app/code/core/Mage/Usa/Helper/Data.php

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
* @package Mage_Usa
88
*/
99

10+
use PhpUnitsOfMeasure\Exception\NonNumericValue;
11+
use PhpUnitsOfMeasure\Exception\NonStringUnitName;
1012
use PhpUnitsOfMeasure\Exception\UnknownUnitOfMeasure;
1113
use PhpUnitsOfMeasure\PhysicalQuantity\Mass;
1214
use PhpUnitsOfMeasure\PhysicalQuantity\Length;
@@ -22,9 +24,11 @@ class Mage_Usa_Helper_Data extends Mage_Core_Helper_Abstract
2224
* Convert weight in different measure types
2325
*
2426
* @param float $value
25-
* @param string $sourceWeightMeasure
26-
* @param string $toWeightMeasure
27+
* @param Mage_Core_Helper_Measure_Weight::* $sourceWeightMeasure
28+
* @param Mage_Core_Helper_Measure_Weight::* $toWeightMeasure
2729
* @return null|float
30+
* @throws NonNumericValue
31+
* @throws NonStringUnitName
2832
*/
2933
public function convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeasure)
3034
{
@@ -40,9 +44,11 @@ public function convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeas
4044
* Convert dimensions in different measure types
4145
*
4246
* @param float $value
43-
* @param string $sourceDimensionMeasure
44-
* @param string $toDimensionMeasure
47+
* @param Mage_Core_Helper_Measure_Length::* $sourceDimensionMeasure
48+
* @param Mage_Core_Helper_Measure_Length::* $toDimensionMeasure
4549
* @return null|float
50+
* @throws NonNumericValue
51+
* @throws NonStringUnitName
4652
*/
4753
public function convertMeasureDimension($value, $sourceDimensionMeasure, $toDimensionMeasure)
4854
{

tests/unit/Mage/Usa/Helper/DataTest.php

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
use Mage_Usa_Helper_Data as Subject;
1616
use OpenMage\Tests\Unit\OpenMageTest;
1717
use OpenMage\Tests\Unit\Traits\DataProvider\Mage\Usa\Helper\DataTrait;
18+
use PhpUnitsOfMeasure\Exception\NonNumericValue;
19+
use PhpUnitsOfMeasure\Exception\NonStringUnitName;
1820
use PhpUnitsOfMeasure\Exception\UnknownUnitOfMeasure;
1921

2022
final class DataTest extends OpenMageTest
@@ -33,34 +35,36 @@ public static function setUpBeforeClass(): void
3335
* @dataProvider provideConvertMeasureWeightData
3436
* @group Helper
3537
*/
36-
public function testConvertMeasureWeight(float $expectedResult, $value, string $sourceWeightMeasure, string $toWeightMeasure): void
38+
public function testConvertMeasureWeight(float|string $expectedResult, $value, ?string $sourceWeightMeasure, ?string $toWeightMeasure): void
3739
{
38-
$result = self::$subject->convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeasure);
39-
40-
self::assertIsFloat($result);
41-
self::assertSame($expectedResult, $result);
40+
try {
41+
self::assertSame($expectedResult, self::$subject->convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeasure));
42+
} catch (NonNumericValue|NonStringUnitName|UnknownUnitOfMeasure $unitOfMeasure) {
43+
self::assertSame($expectedResult, $unitOfMeasure->getMessage());
44+
}
4245
}
4346

4447
/**
4548
* @dataProvider provideConvertMeasureDimensionData
4649
* @group Helper
4750
*/
48-
public function testConvertMeasureDimension(float $expectedResult, $value, string $sourceWeightMeasure, string $toWeightMeasure): void
51+
public function testConvertMeasureDimension(float|string $expectedResult, $value, ?string $sourceWeightMeasure, ?string $toWeightMeasure): void
4952
{
50-
$result = self::$subject->convertMeasureDimension($value, $sourceWeightMeasure, $toWeightMeasure);
51-
52-
self::assertIsFloat($result);
53-
self::assertSame($expectedResult, $result);
53+
try {
54+
self::assertSame($expectedResult, self::$subject->convertMeasureDimension($value, $sourceWeightMeasure, $toWeightMeasure));
55+
} catch (NonNumericValue|NonStringUnitName|UnknownUnitOfMeasure $unitOfMeasure) {
56+
self::assertSame($expectedResult, $unitOfMeasure->getMessage());
57+
}
5458
}
5559

5660
/**
5761
* @dataProvider provideGetMeasureWeightNameData
5862
* @group Helper
5963
*/
60-
public function testGetMeasureWeightName(string $expectedResult, string $eey): void
64+
public function testGetMeasureWeightName(string $expectedResult, string $key): void
6165
{
6266
try {
63-
self::assertSame($expectedResult, self::$subject->getMeasureWeightName($eey));
67+
self::assertSame($expectedResult, self::$subject->getMeasureWeightName($key));
6468
} catch (UnknownUnitOfMeasure $unitOfMeasure) {
6569
self::assertSame($expectedResult, $unitOfMeasure->getMessage());
6670
}

tests/unit/Traits/DataProvider/Mage/Usa/Helper/DataTrait.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,20 @@ public function provideConvertMeasureWeightData(): Generator
3131
Mage_Core_Helper_Measure_Weight::OUNCE,
3232
Mage_Core_Helper_Measure_Weight::POUND,
3333
];
34+
35+
yield 'non-numeric value' => [
36+
'Value (xyz) must be numeric.',
37+
'xyz',
38+
Mage_Core_Helper_Measure_Weight::OUNCE,
39+
Mage_Core_Helper_Measure_Weight::POUND,
40+
];
41+
42+
yield 'non-string unit' => [
43+
'Unit name or alias () must be a string value.',
44+
10,
45+
Mage_Core_Helper_Measure_Weight::OUNCE,
46+
null,
47+
];
3448
}
3549

3650
public function provideConvertMeasureDimensionData(): Generator
@@ -41,6 +55,13 @@ public function provideConvertMeasureDimensionData(): Generator
4155
Mage_Core_Helper_Measure_Length::STANDARD,
4256
Mage_Core_Helper_Measure_Length::CENTIMETER,
4357
];
58+
59+
yield 'invalid to cm' => [
60+
'Unknown unit of measure (xyz).',
61+
10,
62+
'xyz',
63+
Mage_Core_Helper_Measure_Length::CENTIMETER,
64+
];
4465
}
4566

4667
public function provideGetMeasureWeightNameData(): Generator

0 commit comments

Comments
 (0)