From a50de02f9fc889388467faf97b83c021ab975771 Mon Sep 17 00:00:00 2001 From: Philip Gichuhi Date: Thu, 27 Jan 2022 11:52:02 +0300 Subject: [PATCH] Added custom Date and Time tests --- abstractions/php/composer.json | 2 +- abstractions/php/src/Types/Time.php | 2 +- abstractions/php/tests/HttpMethodTest.php | 2 +- .../Microsoft/Kiota/Tests/SampleTest.php | 12 ------- .../php/tests/RequestInformationTest.php | 2 +- abstractions/php/tests/Types/DateTest.php | 35 +++++++++++++++++++ abstractions/php/tests/Types/TimeTest.php | 35 +++++++++++++++++++ 7 files changed, 74 insertions(+), 16 deletions(-) delete mode 100644 abstractions/php/tests/Microsoft/Kiota/Tests/SampleTest.php create mode 100644 abstractions/php/tests/Types/DateTest.php create mode 100644 abstractions/php/tests/Types/TimeTest.php diff --git a/abstractions/php/composer.json b/abstractions/php/composer.json index 2114e00185..85014d2c69 100644 --- a/abstractions/php/composer.json +++ b/abstractions/php/composer.json @@ -19,7 +19,7 @@ "autoload-dev": { "psr-4": { "Microsoft\\Kiota\\Abstractions\\": "./src", - "Microsoft\\Kiota\\Tests\\": "./tests" + "Microsoft\\Kiota\\Abstractions\\Tests": "./tests" } }, "require": { diff --git a/abstractions/php/src/Types/Time.php b/abstractions/php/src/Types/Time.php index 3fffe383d2..d4edf16098 100644 --- a/abstractions/php/src/Types/Time.php +++ b/abstractions/php/src/Types/Time.php @@ -20,7 +20,7 @@ class Time * The final string representation of the Time * @var string $value */ - private $value; + private string $value; /** * @param string $timeString The time value in string format HH:MM:SS diff --git a/abstractions/php/tests/HttpMethodTest.php b/abstractions/php/tests/HttpMethodTest.php index 6ecaa043e8..865aeba64c 100644 --- a/abstractions/php/tests/HttpMethodTest.php +++ b/abstractions/php/tests/HttpMethodTest.php @@ -1,6 +1,6 @@ assertEquals(1, 1); - } -} \ No newline at end of file diff --git a/abstractions/php/tests/RequestInformationTest.php b/abstractions/php/tests/RequestInformationTest.php index afb7a4b61d..ae055c2e8f 100644 --- a/abstractions/php/tests/RequestInformationTest.php +++ b/abstractions/php/tests/RequestInformationTest.php @@ -1,6 +1,6 @@ assertInstanceOf(Date::class, $date); + $this->assertEquals($dateString, strval($date)); + } + + public function testConstructorWithInvalidDateStringThrowsException(): void + { + $this->expectException(\Exception::class); + $date = new Date("invalid string"); + } + + public function testCreateFromDateTime(): void + { + $date = Date::createFromDateTime(new \DateTime("2022-01-2700:00:00")); + $this->assertEquals("2022-01-27", strval($date)); + } + + public function testCreateFrom(): void + { + $date = Date::createFrom(2022, 01, 27); + $this->assertEquals("2022-01-27", strval($date)); + } +} diff --git a/abstractions/php/tests/Types/TimeTest.php b/abstractions/php/tests/Types/TimeTest.php new file mode 100644 index 0000000000..57c724c6be --- /dev/null +++ b/abstractions/php/tests/Types/TimeTest.php @@ -0,0 +1,35 @@ +assertInstanceOf(Time::class, $time); + } + + public function testConstructorWithInvalidTimeString(): void + { + $this->expectException(\Exception::class); + $time = new Time("invalid string"); + } + + public function testCreateFromDateTime(): void + { + $time = Time::createFromDateTime(new \DateTime("2022-01-2719:25:00")); + $this->assertInstanceOf(Time::class, $time); + $this->assertEquals("19:25:00", strval($time)); + } + + public function testCreateFrom(): void + { + $time = Time::createFrom(19, 25, 0); + $this->assertInstanceOf(Time::class, $time); + $this->assertEquals("19:25:00", strval($time)); + } +}