Skip to content

Commit 9c660cf

Browse files
committed
test for non legacy values in datetime
1 parent ebcc83a commit 9c660cf

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

src/Types/DateTime.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,15 @@ public function __construct(
3838
private bool $legacy
3939
) {}
4040

41+
/**
42+
* Returns whether this DateTime Type follows conventions up until Neo4j version 4.
43+
* @return bool
44+
*/
45+
public function isLegacy(): bool
46+
{
47+
return $this->legacy;
48+
}
49+
4150
/**
4251
* Returns the amount of seconds since unix epoch.
4352
*/

tests/Integration/OGMFormatterIntegrationTest.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,23 @@ public function testDateTime(string $alias): void
243243

244244
$createdAt = $results[0]['created_at'];
245245
self::assertInstanceOf(DateTime::class, $createdAt);
246-
self::assertEquals(1_559_414_432, $createdAt->getSeconds());
246+
if ($createdAt->isLegacy()) {
247+
self::assertEquals(1_559_414_432, $createdAt->getSeconds());
248+
} else {
249+
self::assertEquals(1_559_418_032 , $createdAt->getSeconds());
250+
}
251+
247252
self::assertEquals(142_000_000, $createdAt->getNanoseconds());
248253
self::assertEquals(3600, $createdAt->getTimeZoneOffsetSeconds());
249254
self::assertEquals(1_559_414_432, $createdAt->getSeconds());
250255
self::assertEquals(142_000_000, $createdAt->getNanoseconds());
251256
self::assertEquals(3600, $createdAt->getTimeZoneOffsetSeconds());
252-
self::assertEquals('{"seconds":1559414432,"nanoseconds":142000000,"tzOffsetSeconds":3600}', json_encode($createdAt, JSON_THROW_ON_ERROR));
257+
258+
if ($createdAt->isLegacy()) {
259+
self::assertEquals('{"seconds":1559414432,"nanoseconds":142000000,"tzOffsetSeconds":3600}', json_encode($createdAt, JSON_THROW_ON_ERROR));
260+
} else {
261+
self::assertEquals('{"seconds":1559418032,"nanoseconds":142000000,"tzOffsetSeconds":3600}', json_encode($createdAt, JSON_THROW_ON_ERROR));
262+
}
253263

254264
self::assertInstanceOf(DateTime::class, $results[1]['created_at']);
255265
self::assertEquals(1_559_471_012, $results[1]['created_at']->getSeconds());

0 commit comments

Comments
 (0)