fix: improve test isolation for managed event type e2e tests (#26283)
- Move managedEventTypeSlug generation inside beforeAll to ensure uniqueness across test runs - Add deleteAllTeamEventTypes method to EventTypesRepositoryFixture - Explicitly delete all team event types in afterAll before deleting teams This fixes flaky tests in organizations-member-team-admin-event-types.e2e-spec.ts where the managed event type creation was intermittently failing with 400 Bad Request. Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
ed53b4dbe3
commit
96dc3b5cc6
2 files changed
+14
-1
No files matched your search
+6
-1
@@ -63,9 +63,11 @@ describe("Organizations Event Types Endpoints", () => {
|
||||
let collectiveEventType: TeamEventTypeOutput_2024_06_14;
|
||||
let managedEventType: TeamEventTypeOutput_2024_06_14;
|
||||
|
||||
const managedEventTypeSlug = `organizations-event-types-managed-${randomString()}`;
|
||||
let managedEventTypeSlug: string;
|
||||
|
||||
beforeAll(async () => {
|
||||
// Generate unique slug inside beforeAll to ensure uniqueness across test runs
|
||||
managedEventTypeSlug = `organizations-event-types-managed-${randomString()}`;
|
||||
const moduleRef = await withApiAuth(
|
||||
userEmail,
|
||||
Test.createTestingModule({
|
||||
@@ -1383,6 +1385,9 @@ describe("Organizations Event Types Endpoints", () => {
|
||||
await userRepositoryFixture.deleteByEmail(teammate1.email);
|
||||
await userRepositoryFixture.deleteByEmail(teammate2.email);
|
||||
await userRepositoryFixture.deleteByEmail(falseTestUser.email);
|
||||
// Explicitly delete all team event types before deleting the team to ensure proper cleanup
|
||||
await eventTypesRepositoryFixture.deleteAllTeamEventTypes(team.id);
|
||||
await eventTypesRepositoryFixture.deleteAllTeamEventTypes(falseTestTeam.id);
|
||||
await teamsRepositoryFixture.delete(team.id);
|
||||
await teamsRepositoryFixture.delete(falseTestTeam.id);
|
||||
await organizationsRepositoryFixture.delete(org.id);
|
||||
|
||||
@@ -58,6 +58,14 @@ export class EventTypesRepositoryFixture {
|
||||
return this.prismaWriteClient.eventType.delete({ where: { id: eventTypeId } });
|
||||
}
|
||||
|
||||
async deleteAllTeamEventTypes(teamId: number) {
|
||||
return this.prismaWriteClient.eventType.deleteMany({
|
||||
where: {
|
||||
teamId,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
async findById(eventTypeId: EventType["id"]) {
|
||||
return this.prismaReadClient.eventType.findUnique({ where: { id: eventTypeId } });
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user