test: update snackbar with variant and data-test attributes
This commit is contained in:
@@ -14,11 +14,12 @@ export class BasePage {
|
|||||||
*/
|
*/
|
||||||
constructor(page) {
|
constructor(page) {
|
||||||
this.page = page;
|
this.page = page;
|
||||||
this.snackbar = this.page.locator('.notistack-MuiContent');
|
this.snackbar = page.locator('*[data-test^="snackbar"]');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds the latest snackbar message and extracts relevant data
|
* Finds the latest snackbar message and extracts relevant data
|
||||||
|
* @param {string | undefined} testId
|
||||||
* @returns {(
|
* @returns {(
|
||||||
* null | {
|
* null | {
|
||||||
* variant: SnackbarVariant,
|
* variant: SnackbarVariant,
|
||||||
@@ -27,25 +28,13 @@ export class BasePage {
|
|||||||
* }
|
* }
|
||||||
* )}
|
* )}
|
||||||
*/
|
*/
|
||||||
async getSnackbarData () {
|
async getSnackbarData (testId) {
|
||||||
if (await this.snackbar.count() === 0) {
|
if (!testId) {
|
||||||
return null;
|
testId = 'snackbar';
|
||||||
}
|
|
||||||
const snack = this.snackbar.first(); // uses flex: column-reverse
|
|
||||||
const classList = await snack.evaluate(node => Array.from(node.classList));
|
|
||||||
/** @type SnackbarVariant */
|
|
||||||
let variant = 'default';
|
|
||||||
if (classList.includes('notistack-MuiContent-success')) {
|
|
||||||
variant = 'success'
|
|
||||||
} else if (classList.includes('notistack-MuiContent-warning')) {
|
|
||||||
variant = 'warning'
|
|
||||||
} else if (classList.includes('notistack-MuiContent-error')) {
|
|
||||||
variant = 'error'
|
|
||||||
} else if (classList.includes('notistack-MuiContent-info')) {
|
|
||||||
variant = 'info'
|
|
||||||
}
|
}
|
||||||
|
const snack = this.page.getByTestId(testId);
|
||||||
return {
|
return {
|
||||||
variant,
|
variant: await snack.getAttribute('data-snackbar-variant'),
|
||||||
text: await snack.evaluate(node => node.innerText),
|
text: await snack.evaluate(node => node.innerText),
|
||||||
dataset: await snack.evaluate(node => {
|
dataset: await snack.evaluate(node => {
|
||||||
function getChildren (n) {
|
function getChildren (n) {
|
||||||
|
@@ -35,10 +35,9 @@ test.describe('User management page', () => {
|
|||||||
'option', { name: 'Admin' }
|
'option', { name: 'Admin' }
|
||||||
).click();
|
).click();
|
||||||
await adminCreateUserPage.createButton.click();
|
await adminCreateUserPage.createButton.click();
|
||||||
await adminUsersPage.snackbar.waitFor({
|
const snackbar = await adminUsersPage.getSnackbarData(
|
||||||
state: 'attached'
|
'snackbar-create-user-success'
|
||||||
});
|
);
|
||||||
const snackbar = await adminUsersPage.getSnackbarData();
|
|
||||||
await expect(snackbar.variant).toBe('success');
|
await expect(snackbar.variant).toBe('success');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
}
|
}
|
||||||
@@ -65,10 +64,9 @@ test.describe('User management page', () => {
|
|||||||
await adminEditUserPage.fullNameInput.fill(newUserInfo.fullName);
|
await adminEditUserPage.fullNameInput.fill(newUserInfo.fullName);
|
||||||
await adminEditUserPage.updateButton.click();
|
await adminEditUserPage.updateButton.click();
|
||||||
|
|
||||||
await adminUsersPage.snackbar.waitFor({
|
const snackbar = await adminUsersPage.getSnackbarData(
|
||||||
state: 'attached'
|
'snackbar-edit-user-success'
|
||||||
});
|
);
|
||||||
const snackbar = await adminUsersPage.getSnackbarData();
|
|
||||||
await expect(snackbar.variant).toBe('success');
|
await expect(snackbar.variant).toBe('success');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
|
|
||||||
@@ -86,10 +84,10 @@ test.describe('User management page', () => {
|
|||||||
await adminUsersPage.clickDeleteUser(userRow);
|
await adminUsersPage.clickDeleteUser(userRow);
|
||||||
const modal = adminUsersPage.deleteUserModal;
|
const modal = adminUsersPage.deleteUserModal;
|
||||||
await modal.deleteButton.click();
|
await modal.deleteButton.click();
|
||||||
await adminUsersPage.snackbar.waitFor({
|
|
||||||
state: 'attached'
|
const snackbar = await adminUsersPage.getSnackbarData(
|
||||||
});
|
'snackbar-delete-user-success'
|
||||||
const snackbar = await adminUsersPage.getSnackbarData();
|
);
|
||||||
await expect(snackbar.variant).toBe('success');
|
await expect(snackbar.variant).toBe('success');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
await expect(userRow).not.toBeVisible(false);
|
await expect(userRow).not.toBeVisible(false);
|
||||||
@@ -115,10 +113,9 @@ test.describe('User management page', () => {
|
|||||||
'option', { name: 'Admin' }
|
'option', { name: 'Admin' }
|
||||||
).click();
|
).click();
|
||||||
await adminCreateUserPage.createButton.click();
|
await adminCreateUserPage.createButton.click();
|
||||||
await adminUsersPage.snackbar.waitFor({
|
const snackbar = await adminUsersPage.getSnackbarData(
|
||||||
state: 'attached'
|
'snackbar-create-user-success'
|
||||||
});
|
);
|
||||||
const snackbar = await adminUsersPage.getSnackbarData();
|
|
||||||
await expect(snackbar.variant).toBe('success');
|
await expect(snackbar.variant).toBe('success');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
}
|
}
|
||||||
@@ -132,10 +129,9 @@ test.describe('User management page', () => {
|
|||||||
await adminUsersPage.clickDeleteUser(userRow);
|
await adminUsersPage.clickDeleteUser(userRow);
|
||||||
const modal = adminUsersPage.deleteUserModal;
|
const modal = adminUsersPage.deleteUserModal;
|
||||||
await modal.deleteButton.click();
|
await modal.deleteButton.click();
|
||||||
await adminUsersPage.snackbar.waitFor({
|
const snackbar = await adminUsersPage.getSnackbarData(
|
||||||
state: 'attached'
|
'snackbar-delete-user-success'
|
||||||
});
|
);
|
||||||
const snackbar = await adminUsersPage.getSnackbarData();
|
|
||||||
await expect(snackbar).not.toBeNull();
|
await expect(snackbar).not.toBeNull();
|
||||||
await expect(snackbar.variant).toBe('success');
|
await expect(snackbar.variant).toBe('success');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
@@ -163,6 +159,7 @@ test.describe('User management page', () => {
|
|||||||
happen here, i.e. if this should create a new user, stay the
|
happen here, i.e. if this should create a new user, stay the
|
||||||
same, un-delete the user, or something else
|
same, un-delete the user, or something else
|
||||||
*/
|
*/
|
||||||
|
// await adminUsersPage.getSnackbarData('snackbar-error');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -187,10 +184,9 @@ test.describe('User management page', () => {
|
|||||||
'option', { name: 'Admin' }
|
'option', { name: 'Admin' }
|
||||||
).click();
|
).click();
|
||||||
await adminCreateUserPage.createButton.click();
|
await adminCreateUserPage.createButton.click();
|
||||||
await adminUsersPage.snackbar.waitFor({
|
const snackbar = await adminUsersPage.getSnackbarData(
|
||||||
state: 'attached'
|
'snackbar-create-user-success'
|
||||||
});
|
);
|
||||||
const snackbar = await adminUsersPage.getSnackbarData();
|
|
||||||
await expect(snackbar.variant).toBe('success');
|
await expect(snackbar.variant).toBe('success');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
}
|
}
|
||||||
@@ -209,11 +205,9 @@ test.describe('User management page', () => {
|
|||||||
'option', { name: 'Admin' }
|
'option', { name: 'Admin' }
|
||||||
).click();
|
).click();
|
||||||
await adminCreateUserPage.createButton.click();
|
await adminCreateUserPage.createButton.click();
|
||||||
await adminCreateUserPage.snackbar.waitFor({
|
|
||||||
state: 'attached'
|
|
||||||
});
|
|
||||||
await expect(page.url()).toBe(createUserPageUrl);
|
await expect(page.url()).toBe(createUserPageUrl);
|
||||||
const snackbar = await adminUsersPage.getSnackbarData();
|
const snackbar = await adminUsersPage.getSnackbarData('snackbar-error');
|
||||||
await expect(snackbar.variant).toBe('error');
|
await expect(snackbar.variant).toBe('error');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
}
|
}
|
||||||
@@ -241,10 +235,9 @@ test.describe('User management page', () => {
|
|||||||
'option', { name: 'Admin' }
|
'option', { name: 'Admin' }
|
||||||
).click();
|
).click();
|
||||||
await adminCreateUserPage.createButton.click();
|
await adminCreateUserPage.createButton.click();
|
||||||
await adminUsersPage.snackbar.waitFor({
|
const snackbar = await adminUsersPage.getSnackbarData(
|
||||||
state: 'attached'
|
'snackbar-create-user-success'
|
||||||
});
|
);
|
||||||
const snackbar = await adminUsersPage.getSnackbarData();
|
|
||||||
await expect(snackbar.variant).toBe('success');
|
await expect(snackbar.variant).toBe('success');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
}
|
}
|
||||||
@@ -262,10 +255,9 @@ test.describe('User management page', () => {
|
|||||||
'option', { name: 'Admin' }
|
'option', { name: 'Admin' }
|
||||||
).click();
|
).click();
|
||||||
await adminCreateUserPage.createButton.click();
|
await adminCreateUserPage.createButton.click();
|
||||||
await adminUsersPage.snackbar.waitFor({
|
const snackbar = await adminUsersPage.getSnackbarData(
|
||||||
state: 'attached'
|
'snackbar-create-user-success'
|
||||||
});
|
);
|
||||||
const snackbar = await adminUsersPage.getSnackbarData();
|
|
||||||
await expect(snackbar.variant).toBe('success');
|
await expect(snackbar.variant).toBe('success');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
}
|
}
|
||||||
@@ -282,10 +274,9 @@ test.describe('User management page', () => {
|
|||||||
const editPageUrl = page.url();
|
const editPageUrl = page.url();
|
||||||
await adminEditUserPage.updateButton.click();
|
await adminEditUserPage.updateButton.click();
|
||||||
|
|
||||||
await adminUsersPage.snackbar.waitFor({
|
const snackbar = await adminUsersPage.getSnackbarData(
|
||||||
state: 'attached'
|
'snackbar-error'
|
||||||
});
|
);
|
||||||
const snackbar = await adminUsersPage.getSnackbarData();
|
|
||||||
await expect(snackbar.variant).toBe('error');
|
await expect(snackbar.variant).toBe('error');
|
||||||
await adminUsersPage.closeSnackbar();
|
await adminUsersPage.closeSnackbar();
|
||||||
await expect(page.url()).toBe(editPageUrl);
|
await expect(page.url()).toBe(editPageUrl);
|
||||||
|
@@ -6,13 +6,13 @@ import Paper from '@mui/material/Paper';
|
|||||||
import Stack from '@mui/material/Stack';
|
import Stack from '@mui/material/Stack';
|
||||||
import LoadingButton from '@mui/lab/LoadingButton';
|
import LoadingButton from '@mui/lab/LoadingButton';
|
||||||
import { useMutation } from '@apollo/client';
|
import { useMutation } from '@apollo/client';
|
||||||
import { useSnackbar } from 'notistack';
|
|
||||||
|
|
||||||
import { CREATE_APP_CONFIG } from 'graphql/mutations/create-app-config';
|
import { CREATE_APP_CONFIG } from 'graphql/mutations/create-app-config';
|
||||||
import { UPDATE_APP_CONFIG } from 'graphql/mutations/update-app-config';
|
import { UPDATE_APP_CONFIG } from 'graphql/mutations/update-app-config';
|
||||||
|
|
||||||
import Form from 'components/Form';
|
import Form from 'components/Form';
|
||||||
import { Switch } from './style';
|
import { Switch } from './style';
|
||||||
|
import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar';
|
||||||
|
|
||||||
type AdminApplicationSettingsProps = {
|
type AdminApplicationSettingsProps = {
|
||||||
appKey: string;
|
appKey: string;
|
||||||
@@ -36,7 +36,7 @@ function AdminApplicationSettings(
|
|||||||
);
|
);
|
||||||
|
|
||||||
const formatMessage = useFormatMessage();
|
const formatMessage = useFormatMessage();
|
||||||
const { enqueueSnackbar } = useSnackbar();
|
const enqueueSnackbar = useEnqueueSnackbar();
|
||||||
|
|
||||||
const handleSubmit = async (values: any) => {
|
const handleSubmit = async (values: any) => {
|
||||||
try {
|
try {
|
||||||
@@ -55,6 +55,9 @@ function AdminApplicationSettings(
|
|||||||
}
|
}
|
||||||
enqueueSnackbar(formatMessage('adminAppsSettings.successfullySaved'), {
|
enqueueSnackbar(formatMessage('adminAppsSettings.successfullySaved'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-save-admin-apps-settings-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new Error('Failed while saving!');
|
throw new Error('Failed while saving!');
|
||||||
|
@@ -15,7 +15,12 @@ const ApolloProvider = (props: ApolloProviderProps): React.ReactElement => {
|
|||||||
|
|
||||||
const onError = React.useCallback(
|
const onError = React.useCallback(
|
||||||
(message) => {
|
(message) => {
|
||||||
enqueueSnackbar(message, { variant: 'error' });
|
enqueueSnackbar(message, {
|
||||||
|
variant: 'error',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-error'
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
[enqueueSnackbar]
|
[enqueueSnackbar]
|
||||||
);
|
);
|
||||||
|
@@ -82,6 +82,9 @@ function AppConnectionRow(props: AppConnectionRowProps): React.ReactElement {
|
|||||||
|
|
||||||
enqueueSnackbar(formatMessage('connection.deletedMessage'), {
|
enqueueSnackbar(formatMessage('connection.deletedMessage'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-delete-connection-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} else if (action.type === 'test') {
|
} else if (action.type === 'test') {
|
||||||
setVerificationVisible(true);
|
setVerificationVisible(true);
|
||||||
|
@@ -31,6 +31,9 @@ export default function DeleteRoleButton(props: DeleteRoleButtonProps) {
|
|||||||
setShowConfirmation(false);
|
setShowConfirmation(false);
|
||||||
enqueueSnackbar(formatMessage('deleteRoleButton.successfullyDeleted'), {
|
enqueueSnackbar(formatMessage('deleteRoleButton.successfullyDeleted'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-delete-role-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new Error('Failed while deleting!');
|
throw new Error('Failed while deleting!');
|
||||||
|
@@ -29,6 +29,9 @@ export default function DeleteUserButton(props: DeleteUserButtonProps) {
|
|||||||
setShowConfirmation(false);
|
setShowConfirmation(false);
|
||||||
enqueueSnackbar(formatMessage('deleteUserButton.successfullyDeleted'), {
|
enqueueSnackbar(formatMessage('deleteUserButton.successfullyDeleted'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-delete-user-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new Error('Failed while deleting!');
|
throw new Error('Failed while deleting!');
|
||||||
|
@@ -36,6 +36,9 @@ export default function ContextMenu(
|
|||||||
|
|
||||||
enqueueSnackbar(formatMessage('flow.successfullyDuplicated'), {
|
enqueueSnackbar(formatMessage('flow.successfullyDuplicated'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-duplicate-flow-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
onClose();
|
onClose();
|
||||||
|
@@ -43,6 +43,9 @@ export default function ResetPasswordForm() {
|
|||||||
|
|
||||||
enqueueSnackbar(formatMessage('resetPasswordForm.passwordUpdated'), {
|
enqueueSnackbar(formatMessage('resetPasswordForm.passwordUpdated'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-reset-password-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
navigate(URLS.LOGIN);
|
navigate(URLS.LOGIN);
|
||||||
|
@@ -20,7 +20,11 @@ export default function useEnqueueSnackbar() {
|
|||||||
...(options || {}) as Record<string, unknown>,
|
...(options || {}) as Record<string, unknown>,
|
||||||
SnackbarProps: {
|
SnackbarProps: {
|
||||||
onClick: () => closeSnackbar(key),
|
onClick: () => closeSnackbar(key),
|
||||||
...(options.SnackbarProps || {}) as Record<string, unknown>
|
...({
|
||||||
|
'data-test': 'snackbar', // keep above options.snackbarProps
|
||||||
|
'data-snackbar-variant': `${options.variant}` || 'default',
|
||||||
|
}) as Record<string, string>,
|
||||||
|
...(options.SnackbarProps || {}) as Record<string, unknown>,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@@ -64,6 +64,9 @@ function RoleMappings({ provider, providerLoading }: RoleMappingsProps) {
|
|||||||
});
|
});
|
||||||
enqueueSnackbar(formatMessage('roleMappingsForm.successfullySaved'), {
|
enqueueSnackbar(formatMessage('roleMappingsForm.successfullySaved'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-update-role-mappings-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
@@ -93,6 +93,9 @@ function SamlConfiguration({
|
|||||||
|
|
||||||
enqueueSnackbar(formatMessage('authenticationForm.successfullySaved'), {
|
enqueueSnackbar(formatMessage('authenticationForm.successfullySaved'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-save-saml-provider-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new Error('Failed while saving!');
|
throw new Error('Failed while saving!');
|
||||||
|
@@ -43,6 +43,9 @@ export default function CreateRole(): React.ReactElement {
|
|||||||
|
|
||||||
enqueueSnackbar(formatMessage('createRole.successfullyCreated'), {
|
enqueueSnackbar(formatMessage('createRole.successfullyCreated'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-create-role-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
navigate(URLS.ROLES);
|
navigate(URLS.ROLES);
|
||||||
|
@@ -47,6 +47,10 @@ export default function CreateUser(): React.ReactElement {
|
|||||||
|
|
||||||
enqueueSnackbar(formatMessage('createUser.successfullyCreated'), {
|
enqueueSnackbar(formatMessage('createUser.successfullyCreated'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
persist: true,
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-create-user-success',
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
navigate(URLS.USERS);
|
navigate(URLS.USERS);
|
||||||
|
@@ -53,6 +53,9 @@ export default function EditRole(): React.ReactElement {
|
|||||||
|
|
||||||
enqueueSnackbar(formatMessage('editRole.successfullyUpdated'), {
|
enqueueSnackbar(formatMessage('editRole.successfullyUpdated'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-edit-role-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
navigate(URLS.ROLES);
|
navigate(URLS.ROLES);
|
||||||
|
@@ -55,6 +55,10 @@ export default function EditUser(): React.ReactElement {
|
|||||||
|
|
||||||
enqueueSnackbar(formatMessage('editUser.successfullyUpdated'), {
|
enqueueSnackbar(formatMessage('editUser.successfullyUpdated'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-edit-user-success',
|
||||||
|
persist: true
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
navigate(URLS.USERS);
|
navigate(URLS.USERS);
|
||||||
|
@@ -78,6 +78,9 @@ function ProfileSettings() {
|
|||||||
|
|
||||||
enqueueSnackbar(formatMessage('profileSettings.updatedProfile'), {
|
enqueueSnackbar(formatMessage('profileSettings.updatedProfile'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-update-profile-settings-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -128,6 +128,9 @@ export default function UserInterface(): React.ReactElement {
|
|||||||
|
|
||||||
enqueueSnackbar(formatMessage('userInterfacePage.successfullyUpdated'), {
|
enqueueSnackbar(formatMessage('userInterfacePage.successfullyUpdated'), {
|
||||||
variant: 'success',
|
variant: 'success',
|
||||||
|
SnackbarProps: {
|
||||||
|
'data-test': 'snackbar-update-user-interface-success'
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new Error('Failed while updating!');
|
throw new Error('Failed while updating!');
|
||||||
|
Reference in New Issue
Block a user