Skip to content

Commit bfd2375

Browse files
mbrandonwstephencelis
authored andcommitted
Add test for where clause with optional
1 parent 7c279dd commit bfd2375

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

Tests/StructuredQueriesTests/WhereTests.swift

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import Dependencies
12
import Foundation
23
import InlineSnapshotTesting
34
import StructuredQueries
5+
import StructuredQueriesSQLite
46
import Testing
57

68
extension SnapshotTests {
@@ -109,5 +111,30 @@ extension SnapshotTests {
109111
"""
110112
}
111113
}
114+
115+
@Test func optionalBoolean() throws {
116+
@Dependency(\.defaultDatabase) var db
117+
let remindersListIDs = try db.execute(
118+
RemindersList.insert {
119+
RemindersList.Draft(title: "New list")
120+
}
121+
.returning(\.id)
122+
)
123+
let remindersListID = try #require(remindersListIDs.first)
124+
125+
assertQuery(
126+
RemindersList
127+
.find(remindersListID)
128+
.leftJoin(Reminder.all) { $0.id.eq($1.remindersListID) }
129+
.where { $1.isCompleted }
130+
) {
131+
"""
132+
SELECT "remindersLists"."id", "remindersLists"."color", "remindersLists"."title", "reminders"."id", "reminders"."assignedUserID", "reminders"."dueDate", "reminders"."isCompleted", "reminders"."isFlagged", "reminders"."notes", "reminders"."priority", "reminders"."remindersListID", "reminders"."title"
133+
FROM "remindersLists"
134+
LEFT JOIN "reminders" ON ("remindersLists"."id" = "reminders"."remindersListID")
135+
WHERE ("remindersLists"."id" = 4) AND "reminders"."isCompleted"
136+
"""
137+
}
138+
}
112139
}
113140
}

0 commit comments

Comments
 (0)