terra-toolkit
Version:
Utilities to help when developing terra modules.
78 lines (64 loc) • 2.56 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _determineTestOptions = _interopRequireDefault(require("./determine-test-options"));
var _logger = _interopRequireDefault(require("../../../../scripts/utils/logger"));
var context = '[Terra-Toolkit:terra-service]';
/**
* Runs the custom wdio accessibility command and asserts no violations were found.
*
* See https://www.deque.com/axe/axe-for-web/documentation/api-documentation/#api-name-axerun
*
* @param {Object} [options] - the Axe test options
* @param {Object} [options.rules] - the axe rules to use to assert accessibility.
* @param {Object[]} [options.viewports] - the list of Terra viewports to test.
*/
var runAccessibilityTest = function runAccessibilityTest(options) {
var axeResults = global.browser.axe(options);
global.expect(axeResults).to.be.accessible();
};
/**
* A chai assertion method to assert accessibility.
*
* This should be used within a Mocha `it` block.
*
* @param {Object} [options] - the Axe test options
* @param {Object} [options.rules] - the axe rules to use to assert accessibility.
* @param {Object[]} [options.viewports] - the list of Terra viewports to test.
*/
var validatesAccessibility = function validatesAccessibility() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
runAccessibilityTest(_determineTestOptions.default.axeOptions(args));
};
/**
* @deprecated
*
* A mocha-chai `it` block to assert accessibility.
*
* @param {Object} [options] - the Axe test options
* @param {Object} [options.rules] - the axe rules to use to assert accessibility.
* @param {Object[]} [options.viewports] - the list of Terra viewports to test.
*/
var itIsAccessible = function itIsAccessible() {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
_logger.default.warn('Terra.it.isAccessible is deprecated. Please use Terra.validates.accessibility inside an `it` block.', {
context: context
});
global.it('is accessible', function () {
runAccessibilityTest(_determineTestOptions.default.axeOptions(args));
});
};
var methods = {
itIsAccessible: itIsAccessible,
validatesAccessibility: validatesAccessibility,
runAccessibilityTest: runAccessibilityTest
};
var _default = methods;
exports.default = _default;