Skip to content

Commit 52f86b9

Browse files
committed
added acceptence test for datetime
1 parent f0c8c54 commit 52f86b9

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

src/ParameterHelper.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@
1717
use Bolt\structures\Duration;
1818
use Bolt\structures\IStructure;
1919
use function count;
20+
use const DATE_ATOM;
2021
use function date_default_timezone_get;
2122
use DateInterval;
2223
use DateTimeInterface;
2324
use DateTimeZone;
2425
use function get_debug_type;
2526
use function gettype;
27+
use function gmdate;
2628
use InvalidArgumentException;
2729
use function is_array;
2830
use function is_int;
@@ -228,7 +230,7 @@ private static function convertTemporalTypes($value, bool $boltDriver): ?IStruct
228230
if ($value instanceof DateTimeInterface) {
229231
$tz = $value->getTimezone();
230232
/** @var DateTimeInterface $gm */
231-
$gm = gmdate('now');
233+
$gm = new \DateTime(gmdate(DATE_ATOM));
232234
if ($tz) {
233235
$tz = $tz->getOffset($gm);
234236
} else {

tests/Unit/ParameterHelperTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
namespace Laudis\Neo4j\Tests\Unit;
1515

16+
use DateTime;
17+
use DateTimeZone;
1618
use InvalidArgumentException;
1719
use Iterator;
1820
use Laudis\Neo4j\ParameterHelper;
@@ -151,4 +153,13 @@ public function testInvalidType(): void
151153
$this->expectExceptionMessage('Cannot format parameter of type: stdClass to work with Neo4J');
152154
ParameterHelper::asParameter(new stdClass());
153155
}
156+
157+
public function testDateTime(): void
158+
{
159+
$date = ParameterHelper::asParameter(new DateTime('now', new DateTimeZone('Europe/Brussels')), true);
160+
161+
self::assertInstanceOf(\Bolt\structures\DateTime::class, $date);
162+
self::assertLessThanOrEqual(2 * 60 * 60, $date->tz_offset_seconds());
163+
self::assertGreaterThanOrEqual(60 * 60, $date->tz_offset_seconds());
164+
}
154165
}

0 commit comments

Comments
 (0)