From ab4c60dd9539542c19e5cf121082f0cf1bf6ce80 Mon Sep 17 00:00:00 2001 From: draui Date: Wed, 10 Jan 2024 23:44:43 +0200 Subject: [PATCH 1/3] fix: setting default dimensions as empty array, if not provided (or provided as empty) #33 --- src/Builder/PayloadBuilder.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Builder/PayloadBuilder.php b/src/Builder/PayloadBuilder.php index 7ffca76..3c05c60 100644 --- a/src/Builder/PayloadBuilder.php +++ b/src/Builder/PayloadBuilder.php @@ -18,6 +18,8 @@ public function __construct( ) { if ($dimensions) { collect($dimensions)->each(fn ($value, $key) => $this->buildDimensions($key, $value)); + } else { + $this->dimensions = []; } } From 14d31b2182e25837f303b11125bc91104a2678d2 Mon Sep 17 00:00:00 2001 From: draui Date: Thu, 11 Jan 2024 17:55:28 +0200 Subject: [PATCH 2/3] fix: initialization of $dimensions has moved to class scope + added unit tests for payload builder #33 --- src/Builder/PayloadBuilder.php | 4 +-- tests/Unit/PayloadBuilderUnitTest.php | 42 +++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 tests/Unit/PayloadBuilderUnitTest.php diff --git a/src/Builder/PayloadBuilder.php b/src/Builder/PayloadBuilder.php index 3c05c60..c4621c2 100644 --- a/src/Builder/PayloadBuilder.php +++ b/src/Builder/PayloadBuilder.php @@ -7,7 +7,7 @@ final class PayloadBuilder implements PayloadBuilderContract { - protected array $dimensions; + protected array $dimensions = []; public function __construct( protected string $measureName, @@ -18,8 +18,6 @@ public function __construct( ) { if ($dimensions) { collect($dimensions)->each(fn ($value, $key) => $this->buildDimensions($key, $value)); - } else { - $this->dimensions = []; } } diff --git a/tests/Unit/PayloadBuilderUnitTest.php b/tests/Unit/PayloadBuilderUnitTest.php new file mode 100644 index 0000000..780e417 --- /dev/null +++ b/tests/Unit/PayloadBuilderUnitTest.php @@ -0,0 +1,42 @@ +toArray(true); + } catch (\Exception $e) { + $this->fail($e->getMessage()); + } + + $this->assertIsArray($metric); + $this->assertArrayHasKey('MeasureName', $metric); + $this->assertArrayHasKey('MeasureValue', $metric); + $this->assertArrayHasKey('MeasureValueType', $metric); + $this->assertArrayHasKey('Time', $metric); + $this->assertArrayHasKey('Dimensions', $metric); + + $this->assertEquals('test', $metric['MeasureName']); + $this->assertEquals('1', $metric['MeasureValue']); + $this->assertEquals('DOUBLE', $metric['MeasureValueType']); + $this->assertEquals("1704988157000", $metric['Time']); + $this->assertEmpty($metric['Dimensions']); + } +} \ No newline at end of file From 73fb48350a32939b7e966c4987cc7cba69652a95 Mon Sep 17 00:00:00 2001 From: draui Date: Thu, 11 Jan 2024 18:01:29 +0200 Subject: [PATCH 3/3] fix: styleci #33 --- tests/Unit/PayloadBuilderUnitTest.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/Unit/PayloadBuilderUnitTest.php b/tests/Unit/PayloadBuilderUnitTest.php index 780e417..b709898 100644 --- a/tests/Unit/PayloadBuilderUnitTest.php +++ b/tests/Unit/PayloadBuilderUnitTest.php @@ -19,7 +19,6 @@ public function test_it_has_initialized_correctly() 'DOUBLE' ); - try { $metric = $payloadBuilder->toArray(true); } catch (\Exception $e) { @@ -39,4 +38,4 @@ public function test_it_has_initialized_correctly() $this->assertEquals("1704988157000", $metric['Time']); $this->assertEmpty($metric['Dimensions']); } -} \ No newline at end of file +}