Skip to content

Commit f5d34e7

Browse files
authored
chore(validation): add success toast on validation update COMPASS-8861 (#6770)
1 parent 22b136a commit f5d34e7

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

packages/compass-e2e-tests/helpers/commands/set-validation.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ export async function setValidation(
1818
// Confirm in the confirmation modal.
1919
await browser.clickVisible(Selectors.confirmationModalConfirmButton());
2020

21+
// Close toast.
22+
await browser.clickVisible(
23+
Selectors.closeToastButton(Selectors.ValidationSuccessToast)
24+
);
25+
2126
// both buttons should become hidden if it succeeds
2227
await validationActionMessageElement.waitForDisplayed({
2328
reverse: true,

packages/compass-e2e-tests/helpers/selectors.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,6 +1151,8 @@ export const ValidationActionMessage =
11511151
'[data-testid="validation-action-message"]';
11521152
export const UpdateValidationButton =
11531153
'[data-testid="update-validation-button"]';
1154+
export const ValidationSuccessToast =
1155+
'[data-testid="toast-schema-validation-update"]';
11541156
export const ValidationMatchingDocumentsPreview =
11551157
'[data-testid="validation-content"] [data-testid="matching-documents"] [data-testid="document-preview"]';
11561158
export const ValidationLoadSampleDocumentsBtn = `[data-testid="load-sample-documents"]`;

packages/compass-schema-validation/src/modules/validation.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type { RootAction, RootState, SchemaValidationThunkAction } from '.';
22
import { EJSON } from 'bson';
33
import { parseFilter } from 'mongodb-query-parser';
44
import { stringify as javascriptStringify } from 'javascript-stringify';
5+
import { openToast } from '@mongodb-js/compass-components';
56
import { clearSampleDocuments } from './sample-documents';
67
import { zeroStateChanged } from './zero-state';
78
import { isLoadedChanged } from './is-loaded';
@@ -451,6 +452,8 @@ export function validationFromCollection(
451452
};
452453
}
453454

455+
const toastId = 'schema-validation-update';
456+
454457
/**
455458
* Save validation.
456459
*/
@@ -487,6 +490,10 @@ export const saveValidation = (
487490
}
488491
);
489492
dispatch(fetchValidation(namespace));
493+
openToast(toastId, {
494+
title: 'New validation rules applied',
495+
variant: 'success',
496+
});
490497
dispatch(disableEditRules());
491498
} catch (error) {
492499
dispatch(validationSaveFailed(error as Error));

0 commit comments

Comments
 (0)