Commit 4dfd71fe authored by Jeroen Herczeg's avatar Jeroen Herczeg Committed by Markus Kalkbrenner

Fix for #618 DateTime is not set to UTC when using Extract (#619)

* Test for issue 618 - DateTime not set to UTC

* Fix issue 618 - DateTime not set to UTC
parent 5f515110
...@@ -48,6 +48,9 @@ class RequestBuilder extends BaseRequestBuilder ...@@ -48,6 +48,9 @@ class RequestBuilder extends BaseRequestBuilder
// literal.* // literal.*
foreach ($doc->getFields() as $name => $value) { foreach ($doc->getFields() as $name => $value) {
if ($value instanceof \DateTime) {
$value = $query->getHelper()->formatDate($value);
}
$value = (array) $value; $value = (array) $value;
foreach ($value as $multival) { foreach ($value as $multival) {
$request->addParam('literal.'.$name, $multival); $request->addParam('literal.'.$name, $multival);
......
...@@ -113,4 +113,29 @@ class RequestBuilderTest extends TestCase ...@@ -113,4 +113,29 @@ class RequestBuilderTest extends TestCase
$this->assertSame($headers, $request->getHeaders()); $this->assertSame($headers, $request->getHeaders());
} }
public function testDocumentDateTimeField()
{
$timezone = new \DateTimeZone('Europe/London');
$date = new \DateTime('2013-01-15 14:41:58', $timezone);
$document = $this->query->createDocument(['date' => $date]);
$this->query->setDocument($document);
$request = $this->builder->build($this->query);
$this->assertEquals(
[
'fmap.from-field' => 'to-field',
'literal.date' => '2013-01-15T14:41:58Z',
'omitHeader' => 'true',
'extractOnly' => 'false',
'param1' => 'value1',
'resource.name' => 'RequestBuilderTest.php',
'wt' => 'json',
'json.nl' => 'flat',
],
$request->getParams()
);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment