Skip to content

Commit 202d248

Browse files
fix: resolve unique constraint violations in listWithTeam integration test (#22493)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent f667417 commit 202d248

File tree

1 file changed

+42
-31
lines changed

1 file changed

+42
-31
lines changed

packages/trpc/server/routers/viewer/eventTypes/listWithTeam.handler.integration-test.ts

Lines changed: 42 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,26 @@ let eventType4: EventType;
1818
describe("listWithTeamHandler", () => {
1919
beforeAll(async () => {
2020
// Create users, teams and event types
21+
const timestamp = Date.now();
2122
user1 = await prisma.user.create({
2223
data: {
23-
username: "testuser-lwt-1",
24-
24+
username: `testuser-lwt-1-${timestamp}`,
25+
email: `testuser-lwt-1-${timestamp}@example.com`,
2526
name: "Test User 1",
2627
},
2728
});
2829
user2 = await prisma.user.create({
2930
data: {
30-
username: "testuser-lwt-2",
31-
31+
username: `testuser-lwt-2-${timestamp}`,
32+
email: `testuser-lwt-2-${timestamp}@example.com`,
3233
name: "Test User 2",
3334
},
3435
});
3536

3637
team1 = await prisma.team.create({
3738
data: {
3839
name: "Team 1 lwt",
39-
slug: "team-1-lwt",
40+
slug: `team-1-lwt-${timestamp}`,
4041
members: {
4142
create: {
4243
userId: user1.id,
@@ -50,14 +51,14 @@ describe("listWithTeamHandler", () => {
5051
team2 = await prisma.team.create({
5152
data: {
5253
name: "Team 2 lwt",
53-
slug: "team-2-lwt",
54+
slug: `team-2-lwt-${timestamp}`,
5455
},
5556
});
5657

5758
eventType1 = await prisma.eventType.create({
5859
data: {
5960
title: "User 1 Event",
60-
slug: "user1-event-lwt",
61+
slug: `user1-event-lwt-${timestamp}`,
6162
length: 30,
6263
userId: user1.id,
6364
},
@@ -66,7 +67,7 @@ describe("listWithTeamHandler", () => {
6667
eventType2 = await prisma.eventType.create({
6768
data: {
6869
title: "Team 1 Event",
69-
slug: "team1-event-lwt",
70+
slug: `team1-event-lwt-${timestamp}`,
7071
length: 30,
7172
teamId: team1.id,
7273
userId: user1.id,
@@ -76,7 +77,7 @@ describe("listWithTeamHandler", () => {
7677
eventType3 = await prisma.eventType.create({
7778
data: {
7879
title: "User 2 Event",
79-
slug: "user2-event-lwt",
80+
slug: `user2-event-lwt-${timestamp}`,
8081
length: 30,
8182
userId: user2.id,
8283
},
@@ -85,7 +86,7 @@ describe("listWithTeamHandler", () => {
8586
eventType4 = await prisma.eventType.create({
8687
data: {
8788
title: "Team 2 Event",
88-
slug: "team2-event-lwt",
89+
slug: `team2-event-lwt-${timestamp}`,
8990
length: 30,
9091
teamId: team2.id,
9192
userId: user2.id,
@@ -94,27 +95,37 @@ describe("listWithTeamHandler", () => {
9495
});
9596

9697
afterAll(async () => {
97-
await prisma.eventType.deleteMany({
98-
where: {
99-
id: {
100-
in: [eventType1.id, eventType2.id, eventType3.id, eventType4.id],
101-
},
102-
},
103-
});
104-
await prisma.team.deleteMany({
105-
where: {
106-
id: {
107-
in: [team1.id, team2.id],
108-
},
109-
},
110-
});
111-
await prisma.user.deleteMany({
112-
where: {
113-
id: {
114-
in: [user1.id, user2.id],
115-
},
116-
},
117-
});
98+
try {
99+
if (eventType1?.id || eventType2?.id || eventType3?.id || eventType4?.id) {
100+
await prisma.eventType.deleteMany({
101+
where: {
102+
id: {
103+
in: [eventType1?.id, eventType2?.id, eventType3?.id, eventType4?.id].filter(Boolean),
104+
},
105+
},
106+
});
107+
}
108+
if (team1?.id || team2?.id) {
109+
await prisma.team.deleteMany({
110+
where: {
111+
id: {
112+
in: [team1?.id, team2?.id].filter(Boolean),
113+
},
114+
},
115+
});
116+
}
117+
if (user1?.id || user2?.id) {
118+
await prisma.user.deleteMany({
119+
where: {
120+
id: {
121+
in: [user1?.id, user2?.id].filter(Boolean),
122+
},
123+
},
124+
});
125+
}
126+
} catch (error) {
127+
console.warn("Test cleanup failed:", error);
128+
}
118129
});
119130

120131
it("should return user's own event types and event types of teams they are a member of", async () => {

0 commit comments

Comments
 (0)