Add account deletion process and improve tests
The commit introduces a message to indicate the account deletion process. It also enhances the tests by reducing code redundancy in the e2e tests, creating a more random name for team accounts, and improving the navigation process after account deletions. The commit also includes code cleanup tasks, such as the removal of unused imports.
This commit is contained in:
@@ -55,10 +55,6 @@ test.describe('Account Deletion', () => {
|
||||
await account.setup();
|
||||
await account.deleteAccount();
|
||||
|
||||
await page.waitForURL('http://localhost:3000', {
|
||||
timeout: 5000,
|
||||
});
|
||||
|
||||
expect(page.url()).toEqual('http://localhost:3000/');
|
||||
await account.auth.goToSignIn();
|
||||
});
|
||||
});
|
||||
@@ -37,10 +37,6 @@ export class TeamAccountsPageObject {
|
||||
await this.page.click('[data-test="create-team-account-trigger"]');
|
||||
await this.page.fill('[data-test="create-team-form"] input', teamName);
|
||||
await this.page.click('[data-test="create-team-form"] button:last-child');
|
||||
|
||||
await this.page.waitForURL(`http://localhost:3000/home/${slug}`, {
|
||||
timeout: 5000,
|
||||
});
|
||||
}
|
||||
|
||||
async updateName(name: string) {
|
||||
@@ -58,7 +54,7 @@ export class TeamAccountsPageObject {
|
||||
}
|
||||
|
||||
createTeamName() {
|
||||
const random = (Math.random() * 10).toFixed(0);
|
||||
const random = (Math.random() * 100000000).toFixed(0);
|
||||
|
||||
const teamName = `Team-Name-${random}`;
|
||||
const slug = `team-name-${random}`;
|
||||
|
||||
@@ -8,11 +8,11 @@ test.describe('Team Accounts', () => {
|
||||
test.beforeAll(async ({ browser }) => {
|
||||
page = await browser.newPage();
|
||||
teamAccounts = new TeamAccountsPageObject(page);
|
||||
|
||||
await teamAccounts.setup();
|
||||
});
|
||||
|
||||
test('user can update their team name (and slug)', async () => {
|
||||
await teamAccounts.setup();
|
||||
|
||||
const {teamName, slug} = teamAccounts.createTeamName();
|
||||
|
||||
await teamAccounts.goToSettings();
|
||||
@@ -35,12 +35,6 @@ test.describe('Account Deletion', () => {
|
||||
|
||||
await teamAccounts.deleteAccount(params.teamName);
|
||||
|
||||
await page.waitForURL('http://localhost:3000/home', {
|
||||
timeout: 5000,
|
||||
});
|
||||
|
||||
expect(page.url()).toEqual('http://localhost:3000/home');
|
||||
|
||||
await expect(await teamAccounts.getTeamFromSelector(params.slug)).not.toBeVisible();
|
||||
});
|
||||
});
|
||||
@@ -131,6 +131,7 @@
|
||||
"dangerZone": "Danger Zone",
|
||||
"dangerZoneDescription": "Some actions cannot be undone. Please be careful.",
|
||||
"deleteAccount": "Delete your Account",
|
||||
"deletingAccount": "Deleting account. Please wait...",
|
||||
"deleteAccountDescription": "This will delete your account and the organizations you own. Furthermore, we will immediately cancel any active subscriptions. This action cannot be undone. You will be asked to confirm this action in the next step.",
|
||||
"deleteProfileConfirmationInputLabel": "Type DELETE to confirm",
|
||||
"deleteAccountErrorHeading": "Sorry, we couldn't delete your account",
|
||||
|
||||
@@ -142,7 +142,11 @@ function DeleteAccountSubmitButton() {
|
||||
name={'action'}
|
||||
variant={'destructive'}
|
||||
>
|
||||
{pending ? (
|
||||
<Trans i18nKey={'account:deletingAccount'} />
|
||||
) : (
|
||||
<Trans i18nKey={'account:deleteAccount'} />
|
||||
)}
|
||||
</Button>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use server';
|
||||
|
||||
import { revalidatePath } from 'next/cache';
|
||||
import { RedirectType, redirect } from 'next/navigation';
|
||||
import { redirect } from 'next/navigation';
|
||||
|
||||
import { z } from 'zod';
|
||||
|
||||
@@ -66,10 +66,11 @@ export async function deletePersonalAccountAction(formData: FormData) {
|
||||
// sign out the user after deleting their account
|
||||
await client.auth.signOut();
|
||||
|
||||
// clear the cache for all pages
|
||||
revalidatePath('/', 'layout');
|
||||
|
||||
// redirect to the home page
|
||||
redirect('/', RedirectType.replace);
|
||||
redirect('/');
|
||||
}
|
||||
|
||||
function getEmailSettingsFromEnvironment() {
|
||||
|
||||
Reference in New Issue
Block a user