Skip to content

Commit e1ab90e

Browse files
authored
Infrastructure: reduce churn in trigger tests (#197)
* Infrastructure: reduce churn in trigger tests Let's not use the default file/line-based names. * wip
1 parent 9eaafed commit e1ab90e

File tree

2 files changed

+61
-11
lines changed

2 files changed

+61
-11
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import Dependencies
2+
import Foundation
3+
import InlineSnapshotTesting
4+
import StructuredQueries
5+
import Testing
6+
import _StructuredQueriesSQLite
7+
8+
extension SnapshotTests {
9+
@Suite struct TriggerDefaultNameTests {
10+
@Dependency(\.defaultDatabase) var db
11+
12+
@Test func basics() {
13+
let trigger = RemindersList.createTemporaryTrigger(
14+
after: .insert { new in
15+
Values(1)
16+
}
17+
)
18+
assertQuery(
19+
trigger
20+
) {
21+
"""
22+
CREATE TEMPORARY TRIGGER
23+
"after_insert_on_remindersLists@StructuredQueriesTests/TriggerDefaultNameTests.swift:13:57"
24+
AFTER INSERT ON "remindersLists"
25+
FOR EACH ROW BEGIN
26+
SELECT 1;
27+
END
28+
"""
29+
}
30+
assertQuery(
31+
trigger.drop()
32+
) {
33+
"""
34+
DROP TRIGGER "after_insert_on_remindersLists@StructuredQueriesTests/TriggerDefaultNameTests.swift:13:57"
35+
"""
36+
}
37+
}
38+
}
39+
}

Tests/StructuredQueriesTests/TriggersTests.swift

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ extension SnapshotTests {
1111

1212
@Test func basics() {
1313
let trigger = RemindersList.createTemporaryTrigger(
14+
"after_insert_on_remindersLists",
1415
after: .insert { new in
1516
RemindersList
1617
.update {
@@ -22,7 +23,7 @@ extension SnapshotTests {
2223
assertQuery(trigger) {
2324
"""
2425
CREATE TEMPORARY TRIGGER
25-
"after_insert_on_remindersLists@StructuredQueriesTests/TriggersTests.swift:13:57"
26+
"after_insert_on_remindersLists"
2627
AFTER INSERT ON "remindersLists"
2728
FOR EACH ROW BEGIN
2829
UPDATE "remindersLists"
@@ -36,7 +37,7 @@ extension SnapshotTests {
3637
}
3738
assertQuery(trigger.drop()) {
3839
"""
39-
DROP TRIGGER "after_insert_on_remindersLists@StructuredQueriesTests/TriggersTests.swift:13:57"
40+
DROP TRIGGER "after_insert_on_remindersLists"
4041
"""
4142
}
4243
}
@@ -45,6 +46,7 @@ extension SnapshotTests {
4546
withKnownIssue {
4647
assertQuery(
4748
Reminder.createTemporaryTrigger(
49+
"after_update_on_reminders",
4850
after: .update { _, new in
4951
Reminder
5052
.update { $0.dueDate = Date(timeIntervalSinceReferenceDate: 0) }
@@ -54,7 +56,7 @@ extension SnapshotTests {
5456
) {
5557
"""
5658
CREATE TEMPORARY TRIGGER
57-
"after_update_on_reminders@StructuredQueriesTests/TriggersTests.swift:47:42"
59+
"after_update_on_reminders"
5860
AFTER UPDATE ON "reminders"
5961
FOR EACH ROW BEGIN
6062
UPDATE "reminders"
@@ -82,14 +84,15 @@ extension SnapshotTests {
8284
@Test func afterUpdateTouch() {
8385
assertQuery(
8486
RemindersList.createTemporaryTrigger(
87+
"after_update_on_remindersLists",
8588
afterUpdateTouch: {
8689
$0.position += 1
8790
}
8891
)
8992
) {
9093
"""
9194
CREATE TEMPORARY TRIGGER
92-
"after_update_on_remindersLists@StructuredQueriesTests/TriggersTests.swift:84:45"
95+
"after_update_on_remindersLists"
9396
AFTER UPDATE ON "remindersLists"
9497
FOR EACH ROW BEGIN
9598
UPDATE "remindersLists"
@@ -102,11 +105,11 @@ extension SnapshotTests {
102105

103106
@Test func afterUpdateTouchDate() {
104107
assertQuery(
105-
Reminder.createTemporaryTrigger(afterUpdateTouch: \.updatedAt)
108+
Reminder.createTemporaryTrigger("after_update_on_reminders", afterUpdateTouch: \.updatedAt)
106109
) {
107110
"""
108111
CREATE TEMPORARY TRIGGER
109-
"after_update_on_reminders@StructuredQueriesTests/TriggersTests.swift:105:40"
112+
"after_update_on_reminders"
110113
AFTER UPDATE ON "reminders"
111114
FOR EACH ROW BEGIN
112115
UPDATE "reminders"
@@ -127,11 +130,14 @@ extension SnapshotTests {
127130
) STRICT
128131
""")
129132
assertQuery(
130-
Episode.createTemporaryTrigger(afterUpdateTouch: \.timestamps.updatedAt)
133+
Episode.createTemporaryTrigger(
134+
"after_update_on_episodes",
135+
afterUpdateTouch: \.timestamps.updatedAt
136+
)
131137
) {
132138
"""
133139
CREATE TEMPORARY TRIGGER
134-
"after_update_on_episodes@StructuredQueriesTests/TriggersTests.swift:130:39"
140+
"after_update_on_episodes"
135141
AFTER UPDATE ON "episodes"
136142
FOR EACH ROW BEGIN
137143
UPDATE "episodes"
@@ -144,11 +150,15 @@ extension SnapshotTests {
144150

145151
@Test func afterUpdateTouchCustomDate() {
146152
assertQuery(
147-
Reminder.createTemporaryTrigger(afterUpdateTouch: \.updatedAt, date: #sql("customDate()"))
153+
Reminder.createTemporaryTrigger(
154+
"after_update_on_reminders",
155+
afterUpdateTouch: \.updatedAt,
156+
date: #sql("customDate()")
157+
)
148158
) {
149159
"""
150160
CREATE TEMPORARY TRIGGER
151-
"after_update_on_reminders@StructuredQueriesTests/TriggersTests.swift:147:40"
161+
"after_update_on_reminders"
152162
AFTER UPDATE ON "reminders"
153163
FOR EACH ROW BEGIN
154164
UPDATE "reminders"
@@ -161,6 +171,7 @@ extension SnapshotTests {
161171

162172
@Test func multiStatement() {
163173
let trigger = RemindersList.createTemporaryTrigger(
174+
"after_insert_on_remindersLists",
164175
after: .insert { new in
165176
RemindersList
166177
.update {
@@ -177,7 +188,7 @@ extension SnapshotTests {
177188
assertQuery(trigger) {
178189
"""
179190
CREATE TEMPORARY TRIGGER
180-
"after_insert_on_remindersLists@StructuredQueriesTests/TriggersTests.swift:163:57"
191+
"after_insert_on_remindersLists"
181192
AFTER INSERT ON "remindersLists"
182193
FOR EACH ROW BEGIN
183194
UPDATE "remindersLists"

0 commit comments

Comments
 (0)