UNPKG

vitest-helpers

Version:
175 lines (174 loc) 7.17 kB
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } import { expect } from 'vitest'; var Helpers = /*#__PURE__*/function () { function Helpers(wrapper) { var expect$1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : expect; _classCallCheck(this, Helpers); this.wrapper = wrapper; this.expect = expect$1; } _createClass(Helpers, [{ key: "see", value: function see(text) { var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var wrap = selector ? this.wrapper.find(selector) : this.wrapper; this.expect(wrap.html()).toContain(text); } }, { key: "seeExact", value: function seeExact(text) { var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var wrap = selector ? this.wrapper.find(selector) : this.wrapper; this.expect(wrap.text()).toEqual(text); } }, { key: "doNotSee", value: function doNotSee(text) { var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var wrap = selector ? this.wrapper.find(selector) : this.wrapper; this.expect(wrap.html()).not.toContain(text); } }, { key: "doNotSeeExact", value: function doNotSeeExact(text) { var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var wrap = selector ? this.wrapper.find(selector) : this.wrapper; this.expect(wrap.text()).not.toEqual(text); } }, { key: "hidden", value: function hidden(selector) { var node = this.find(selector); this.expect(node.isVisible()).toBe(false); } }, { key: "domHas", value: function domHas(selector) { this.expect(this.wrapper.find(selector).exists()).toBe(true); } }, { key: "domHasNot", value: function domHasNot(selector) { this.expect(this.wrapper.find(selector).exists()).toBe(false); } }, { key: "hasAClass", value: function hasAClass(name) { var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; selector ? this.expect(this.find(selector).classes()).toContain(name) : this.expect(this.wrapper.classes()).toContain(name); } }, { key: "doesNotHaveAClass", value: function doesNotHaveAClass(name) { var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; selector ? this.expect(this.find(selector).classes()).not.toContain(name) : this.expect(this.wrapper.classes()).not.toContain(name); } }, { key: "hasAttribute", value: function hasAttribute(attr, value, selector) { this.expect(this.find(selector).attributes()[attr]).toBe(value); } }, { key: "doesNotHaveAttribute", value: function doesNotHaveAttribute(attr, value, selector) { this.expect(this.find(selector).attributes()[attr]).not.toBe(value); } }, { key: "find", value: function find(selector) { return this.wrapper.find(selector); } // input }, { key: "type", value: function type(text, input) { var event = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "input"; var node = this.find(input); node.element.value = text; node.trigger(event); } }, { key: "inputValueIs", value: function inputValueIs(text, selector) { this.expect(this.find(selector).element.value).toBe(text); } }, { key: "inputValueIsNot", value: function inputValueIsNot(text, selector) { this.expect(this.find(selector).element.value).not.toBe(text); } }, { key: "isEmpty", value: function isEmpty(selector) { // this.inputValueIs('', selector) this.expect(this.find(selector).element.value).toBe(""); } // event }, { key: "click", value: function click(selector) { this.find(selector).trigger("click"); } }, { key: "emitted", value: function emitted(event) { this.expect(this.wrapper.emitted()[event]).toBeTruthy(); } }, { key: "emittedContains", value: function emittedContains(event) { var _this = this; this.emitted(event); var elements = this.wrapper.emitted()[event][0]; for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { data[_key - 1] = arguments[_key]; } data.forEach(function (element) { if (Array.isArray(element)) { var a = elements; var b = element; _this.checkArray(a, b); } else if (element instanceof Object) { var _a = elements; var _b = element; _this.checkObject(_a, _b); } else { var _a2 = elements; var _b2 = element; _this.checkData(_a2, _b2); } }); } // Helpers }, { key: "checkArray", value: function checkArray(elements, element) { var _this2 = this; return element.forEach(function (e) { elements.forEach(function (arr) { _this2.expect(arr).toContain(e); }); }); } }, { key: "checkObject", value: function checkObject(elements, element) { var _this3 = this; return elements.forEach(function (obj) { _this3.expect(obj).toEqual(_this3.expect.objectContaining(element)); }); } }, { key: "checkData", value: function checkData(elements, element) { return this.expect(elements).toContain(element); } }]); return Helpers; }(); export { Helpers as default };