Skip to content

Commit a6d274e

Browse files
authored
Merge pull request #27 from MrMage/fix-date-precision
Add tests to ensure that a date's millisecond part is persisted.
2 parents bc8d802 + d1eda98 commit a6d274e

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

Tests/FluentPostgreSQLTests/FluentPostgreSQLTests.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,20 @@ class FluentPostgreSQLTests: XCTestCase {
178178
XCTAssertEqual(dogs.count, 1)
179179
XCTAssertEqual(dogs.first?.name, "Spud")
180180
}
181+
182+
func testPersistsDateMillisecondPart() throws {
183+
database.enableLogging(using: DatabaseLogger(handler: { print($0) }))
184+
let conn = try database.makeConnection(on: eventLoop).await(on: eventLoop)
185+
try? DefaultTest.revert(on: conn).await(on: eventLoop)
186+
try DefaultTest.prepare(on: conn).await(on: eventLoop)
187+
var test = DefaultTest()
188+
test.date = PostgreSQLDate(Date(timeIntervalSinceReferenceDate: 123.456))
189+
_ = try test.save(on: conn).await(on: eventLoop)
190+
let fetched = try DefaultTest.query(on: conn).first().await(on: eventLoop)!
191+
XCTAssertEqual(123.456, fetched.date!.value!.timeIntervalSinceReferenceDate, accuracy: 1e-6)
192+
try DefaultTest.revert(on: conn).await(on: eventLoop)
193+
conn.close()
194+
}
181195

182196
static let allTests = [
183197
("testSchema", testSchema),

0 commit comments

Comments
 (0)