PluginProbe
Packeta / 2.0.3
Packeta v2.0.3
2.3.1 trunk 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 All 55 releases
packeta / tests / Module / ModuleHelperTest.php

ModuleHelperTest.php in Packeta 2.0.3, at tests/Module/ModuleHelperTest.php

117 lines 2.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare( strict_types=1 );
4
5 namespace Tests\Module;
6
7 use DateTimeImmutable;
8 use Packetery\Module\Framework\WpAdapter;
9 use Packetery\Module\ModuleHelper;
10 use PHPUnit\Framework\TestCase;
11
12 class ModuleHelperTest extends TestCase {
13 public static function convertToCentimetersProvider(): array {
14 return [
15 [
16 'input' => 0,
17 'expected' => null,
18 ],
19 [
20 'input' => 1,
21 'expected' => 0.1,
22 ],
23 [
24 'input' => 10,
25 'expected' => 1.0,
26 ],
27 [
28 'input' => 100,
29 'expected' => 10.0,
30 ],
31 [
32 'input' => - 1,
33 'expected' => null,
34 ],
35 [
36 'input' => 1000,
37 'expected' => 100.0,
38 ],
39 ];
40 }
41
42 /**
43 * @dataProvider convertToCentimetersProvider
44 */
45 public function testConvertToCentimeters( int $input, ?float $expected ): void {
46 $result = ModuleHelper::convertToCentimeters( $input );
47 $this->assertSame( $expected, $result );
48 }
49
50 public static function convertToMillimetersProvider(): array {
51 return [
52 [
53 'input' => 0.0,
54 'expected' => null,
55 ],
56 [
57 'input' => 0.1,
58 'expected' => 1.0,
59 ],
60 [
61 'input' => 1.0,
62 'expected' => 10.0,
63 ],
64 [
65 'input' => 10.0,
66 'expected' => 100.0,
67 ],
68 [
69 'input' => - 0.1,
70 'expected' => null,
71 ],
72 [
73 'input' => 100.0,
74 'expected' => 1000.0,
75 ],
76 ];
77 }
78
79 /**
80 * @dataProvider convertToMillimetersProvider
81 */
82 public function testConvertToMillimeters( float $input, ?float $expected ): void {
83 $result = ModuleHelper::convertToMillimeters( $input );
84 $this->assertSame( $expected, $result );
85 }
86
87 public function testGetTranslatedStringFromDateTimeReturnsFormattedDate(): void {
88 $moduleHelper = new ModuleHelper(
89 $this->createMock( WpAdapter::class )
90 );
91
92 $dummyDateTimeImmutable = new DateTimeImmutable( '2024-03-10 15:30:00' );
93
94 add_filter(
95 'woocommerce_admin_order_date_format',
96 function () {
97 return 'M j, Y';
98 }
99 );
100
101 $expectedTranslatedString = date_i18n( 'M j, Y', $dummyDateTimeImmutable->getTimestamp() );
102
103 $this->assertEquals(
104 $expectedTranslatedString,
105 $moduleHelper->getTranslatedStringFromDateTime( $dummyDateTimeImmutable )
106 );
107 }
108
109 public function testGetTranslatedStringFromDateTimeReturnsNullForNullInput(): void {
110 $moduleHelper = new ModuleHelper(
111 $this->createMock( WpAdapter::class )
112 );
113
114 $this->assertNull( $moduleHelper->getTranslatedStringFromDateTime( null ) );
115 }
116 }
117