@metamask/snaps-simulation
Version:
A simulation framework for MetaMask Snaps, enabling headless testing of Snaps in a controlled environment
74 lines • 2.97 kB
JavaScript
;
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