UNPKG

@metamask/snaps-simulation

Version:

A simulation framework for MetaMask Snaps, enabling headless testing of Snaps in a controlled environment

74 lines 2.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assertCustomDialogHasNoFooter = exports.assertCustomDialogHasPartialFooter = exports.assertCustomDialogHasFooter = exports.assertIsCustomDialog = exports.assertIsPromptDialog = exports.assertIsConfirmationDialog = exports.assertIsAlertDialog = void 0; const snaps_sdk_1 = require("@metamask/snaps-sdk"); const snaps_utils_1 = require("@metamask/snaps-utils"); const utils_1 = require("@metamask/utils"); const interface_1 = require("./interface.cjs"); /** * Ensure that the actual interface is an alert dialog. * * @param ui - The interface to verify. */ function assertIsAlertDialog(ui) { (0, utils_1.assert)((0, utils_1.hasProperty)(ui, 'type') && ui.type === snaps_sdk_1.DialogType.Alert); } exports.assertIsAlertDialog = assertIsAlertDialog; /** * Ensure that the actual interface is a confirmation dialog. * * @param ui - The interface to verify. */ function assertIsConfirmationDialog(ui) { (0, utils_1.assert)((0, utils_1.hasProperty)(ui, 'type') && ui.type === snaps_sdk_1.DialogType.Confirmation); } exports.assertIsConfirmationDialog = assertIsConfirmationDialog; /** * Ensure that the actual interface is a Prompt dialog. * * @param ui - The interface to verify. */ function assertIsPromptDialog(ui) { (0, utils_1.assert)((0, utils_1.hasProperty)(ui, 'type') && ui.type === snaps_sdk_1.DialogType.Prompt); } exports.assertIsPromptDialog = assertIsPromptDialog; /** * Ensure that the actual interface is a custom dialog. * * @param ui - The interface to verify. */ function assertIsCustomDialog(ui) { (0, utils_1.assert)(!(0, utils_1.hasProperty)(ui, 'type')); } exports.assertIsCustomDialog = assertIsCustomDialog; /** * Ensure that the actual interface is a custom dialog with a complete footer. * * @param ui - The interface to verify. */ function assertCustomDialogHasFooter(ui) { const footer = (0, interface_1.getElementByType)(ui.content, 'Footer'); (0, utils_1.assert)(footer && (0, snaps_utils_1.getJsxChildren)(footer).length === 2); } exports.assertCustomDialogHasFooter = assertCustomDialogHasFooter; /** * Ensure that the actual interface is a custom dialog with a partial footer. * * @param ui - The interface to verify. */ function assertCustomDialogHasPartialFooter(ui) { const footer = (0, interface_1.getElementByType)(ui.content, 'Footer'); (0, utils_1.assert)(footer && (0, snaps_utils_1.getJsxChildren)(footer).length === 1); } exports.assertCustomDialogHasPartialFooter = assertCustomDialogHasPartialFooter; /** * Ensure that the actual interface is a custom dialog without a footer. * * @param ui - The interface to verify. */ function assertCustomDialogHasNoFooter(ui) { const footer = (0, interface_1.getElementByType)(ui.content, 'Footer'); (0, utils_1.assert)(!footer); } exports.assertCustomDialogHasNoFooter = assertCustomDialogHasNoFooter; //# sourceMappingURL=validation.cjs.map