Files
Compass/tests/e2e/web/fixtures/deleteUserFixture.ts
Okechi Jones-Williams 1994697fa1 Adding onboarding E2E foundations and first tests (#30)
* .

* Centralizing config details

* Added data-testId attributes where necessary and started the onboarding flow scaffolding

* Continued onboarding test scaffolding

* Continued work on tests for the Onboarding flow

* .

* Updated "Want kids" options to be less flaky
Updated playwright.config so that expect timeout matching test timeout

* Continued updating front-end scaffolding

* .

* .

* .

* .

* Updated fixture function deleteUser: to also remove the database user information

* Rm

* Fix

* Fixes

---------

Co-authored-by: MartinBraquet <martin.braquet@gmail.com>
2026-02-20 16:56:26 +01:00

47 lines
1.2 KiB
TypeScript

import {test as base} from '@playwright/test';
import axios from 'axios';
import {config} from '../SPEC_CONFIG';
// const baseUrl = 'http://localhost:9099/identitytoolkit.googleapis.com/v1';
async function deleteUser(email: string, password: string) {
try {
const login = await axios.post(
`${config.FIREBASE_URL.BASE}${config.FIREBASE_URL.SIGN_IN_PASSWORD}`,
{
email,
password,
returnSecureToken: true
}
);
await axios.post(
`${config.FIREBASE_URL.BASE}${config.FIREBASE_URL.DELETE}`,
{ idToken: login.data.idToken }
);
} catch (err: any) {
// Skip deletion if user doesn't exist or other auth errors occur
if (err.response?.status === 400 || err.response?.data?.error?.message?.includes('EMAIL_NOT_FOUND')) {
return;
}
console.log(err);
}
}
type CleanupFixtures = {
cleanupUsers: void;
};
export const test = base.extend<CleanupFixtures>({
cleanupUsers: [
async ({}, use) => {
// Run all tests first
await use();
//then delete users
await deleteUser(config.USERS.SPEC.EMAIL, config.USERS.SPEC.PASSWORD);
},
{ auto: true },
],
});