@@ -413,14 +413,6 @@ class FluentPostgreSQLTests: XCTestCase {
413413 }
414414
415415 func testSort( ) throws {
416- struct Planet : PostgreSQLModel , PostgreSQLMigration , Equatable {
417- var id : Int ?
418- var name : String
419- init ( id: Int ? = nil , name: String ) {
420- self . id = id
421- self . name = name
422- }
423- }
424416 let conn = try benchmarker. pool. requestConnection ( ) . wait ( )
425417 defer { benchmarker. pool. releaseConnection ( conn) }
426418 try Planet . prepare ( on: conn) . wait ( )
@@ -434,6 +426,20 @@ class FluentPostgreSQLTests: XCTestCase {
434426 let ordered = try Planet . query ( on: conn) . sort ( \. name) . all ( ) . wait ( )
435427 XCTAssertNotEqual ( unordered, ordered)
436428 }
429+
430+ func testCustomFilter( ) throws {
431+ let conn = try benchmarker. pool. requestConnection ( ) . wait ( )
432+ defer { benchmarker. pool. releaseConnection ( conn) }
433+ try Planet . prepare ( on: conn) . wait ( )
434+ defer { _ = try ? Planet . revert ( on: conn) . wait ( ) }
435+
436+ _ = try Planet ( name: " Jupiter " ) . save ( on: conn) . wait ( )
437+ _ = try Planet ( name: " Earth " ) . save ( on: conn) . wait ( )
438+ _ = try Planet ( name: " Mars " ) . save ( on: conn) . wait ( )
439+
440+ let earth = try Planet . query ( on: conn) . filter ( \. name, . ilike, " earth " ) . first ( ) . wait ( )
441+ XCTAssertEqual ( earth? . name, " Earth " )
442+ }
437443
438444 static let allTests = [
439445 ( " testSchema " , testSchema) ,
@@ -461,9 +467,19 @@ class FluentPostgreSQLTests: XCTestCase {
461467 ( " testContains " , testContains) ,
462468 ( " testEmptySubset " , testEmptySubset) ,
463469 ( " testSort " , testSort) ,
470+ ( " testCustomFilter " , testCustomFilter) ,
464471 ]
465472}
466473
474+ struct Planet : PostgreSQLModel , PostgreSQLMigration , Equatable {
475+ var id : Int ?
476+ var name : String
477+ init ( id: Int ? = nil , name: String ) {
478+ self . id = id
479+ self . name = name
480+ }
481+ }
482+
467483extension PostgreSQLColumnType {
468484 static var planetType : PostgreSQLColumnType {
469485 return . custom( " PLANET_TYPE " )
0 commit comments