{"_id":"@dom-assertions/cypress-dom","name":"@dom-assertions/cypress-dom","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@dom-assertions/cypress-dom","version":"0.1.0","description":"Cypress assertions for testing DOM elements","author":{"name":"Mohammad Ataei","email":"mammadataei@gmail.com"},"license":"MIT","keywords":["testing","dom","cypress","cypress-dom","assertions","accessible","accessibility"],"repository":{"type":"git","url":"git+https://github.com/mammadataei/dom-assertions.git","directory":"packages/cypress-dom"},"bugs":{"url":"https://github.com/mammadataei/dom-assertions/issues"},"main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"require":"./dist/index.js","import":"./dist/index.mjs","types":"./dist/index.d.ts"}},"devDependencies":{"@testing-library/cypress":"^8.0.3","@types/react":"^18.0.15","@types/react-dom":"^18.0.6","@vitejs/plugin-react":"^1.3.2","cypress":"^10.3.0","react":"^18.2.0","react-dom":"^18.2.0"},"dependencies":{"@dom-assertions/chai-dom":"^0.1.0"},"scripts":{"build":"tsc && tsup","cypress":"cypress open","test":"cypress run --component","test:coverage":"echo 'Skipping coverage'","format":"prettier --write .","lint":"eslint --ext .js,.jsx,.ts,.tsx ."},"homepage":"https://github.com/mammadataei/dom-assertions#readme","_id":"@dom-assertions/cypress-dom@0.1.0","_integrity":"sha512-f3R5Uxg36ymym9XnNqvmz465MBMFd+KmloRfX1c6nPUcDJJHzaLcWc411slXeDB8vwkL9N8r4ubqbaPeWGTCTQ==","_resolved":"/private/var/folders/ws/j9p7qptn3dl9lq7ys32rjcjc0000gn/T/a4283063e2955c585084906276be592b/dom-assertions-cypress-dom-0.1.0.tgz","_from":"file:dom-assertions-cypress-dom-0.1.0.tgz","_nodeVersion":"18.6.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-f3R5Uxg36ymym9XnNqvmz465MBMFd+KmloRfX1c6nPUcDJJHzaLcWc411slXeDB8vwkL9N8r4ubqbaPeWGTCTQ==","shasum":"4a2d44bf28f1cd9d414bdac8bf98f329e76a9233","tarball":"https://registry.npmjs.org/@dom-assertions/cypress-dom/-/cypress-dom-0.1.0.tgz","fileCount":6,"unpackedSize":12143,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFGytqfJzAbeGgzjIj4if/AvjhmfIJ705zV/CzP9gQhlAiEA82Fw0YECjzx5q6R1cKIXU4zE3DPU9zVELe1CKG9M9Cs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2kZ8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1Ww/7B0g/tqs71eCpvjNA+0x7r0b0qLjW3by7GjSbOhvWiqTuDBSs\r\noNIUq0fkpZolM8n2DY6ukdhzFMJ20NhfTwQrrtdFPRY5wOuS0Ivv5fbx4exe\r\nimwg1H9Q6Rjmk3S7hq594cRt4NaCjFv03WObNb/biI1dc8PnvfW3NPMLVVgV\r\nr/0am9cXiZPCH1Wbg30tzv3ivzAp/VGPn6osSVFdGnQTVUyMw1Osj23erYvI\r\nbvEEjliG7A1wTNy2AGXCjSewdI1IvW0DD4ylZjSqUmjBMKuWC5RKqEByOcuh\r\n24kAwh93JTKyPOUn3XYhxMGNwyUUVFZCbYroA448p/5dsOPfEbKzaN4UGil1\r\nnuIFK3Q5RjZ9KrVnTv61qRqsvYWXkrtqQoYCu66xG8pMq02G5feNhmC7ZXI1\r\nageSWD3rzne280PlBBdeiSarMqGTvACW1s196gjSwrZ262bApHvN+cCuuo1T\r\n764l7zABQaK8WQwJHQAT3ILKY/g49tpcjivLY1DsSMVVs+bo41Npf80e2NML\r\nU0VW2C4j43e25fbgc7B5PcD+J/rpDx2qXZVrOseRWDbX5Bg1RmthB1FaFxV+\r\nZiNHleFzu+ld6CVKK2jil/BGxx3FnFKXTJUcheYSz/H6jUtmFf44E1Snav6s\r\nCR7EX/6X+wwu9k+vi9ukXCfE3Bg4nTd3Ueo=\r\n=ROja\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mammadataei","email":"mammadataei@gmail.com"},"directories":{},"maintainers":[{"name":"mammadataei","email":"mammadataei@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cypress-dom_0.1.0_1658472060452_0.01255760833036712"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-22T06:41:00.399Z","0.1.0":"2022-07-22T06:41:00.711Z","modified":"2022-07-22T06:41:00.855Z"},"maintainers":[{"name":"mammadataei","email":"mammadataei@gmail.com"}],"description":"Cypress assertions for testing DOM elements","homepage":"https://github.com/mammadataei/dom-assertions#readme","keywords":["testing","dom","cypress","cypress-dom","assertions","accessible","accessibility"],"repository":{"type":"git","url":"git+https://github.com/mammadataei/dom-assertions.git","directory":"packages/cypress-dom"},"author":{"name":"Mohammad Ataei","email":"mammadataei@gmail.com"},"bugs":{"url":"https://github.com/mammadataei/dom-assertions/issues"},"license":"MIT","readme":"<div align=\"center\">\n\n<h1>@dom-assertions/cypress-dom</h1>\n\n<p>Custom cypress assertions for testing DOM elements.</p>\n\n</div>\n\nThe `@dom-assertions/cypress-dom` package provides custom assertions to make\nyour [Cypress](https://www.cypress.io/) tests more declarative, readable, and\nmaintainable.\n\n## Installation\n\nFirst, install the `@dom-assertions/cypress-dom` package.\n\n```sh\nnpm install --save-dev @dom-assertions/cypress-dom\n\nyarn add --dev @dom-assertions/cypress-dom\n\npnpm add --save-dev @dom-assertions/cypress-dom\n```\n\nThen, import it into `cypress/support/commands.ts`\n\n```ts\nimport '@dom-assertions/cypress-dom'\n```\n\nNote: We recommend using\n[Cypress Testing Library](https://github.com/testing-library/cypress-testing-library)\nwith this library for writing more readable and accessibility-driven tests.\n\n## Assertions\n\n### `be.invalid`\n\nAsserts that the given element is invalid.\n\n#### Example\n\n```html\n<div>\n  <label for=\"username\">Username</label>\n  <input id=\"username\" type=\"text\" aria-invalid=\"true\" />\n</div>\n```\n\n```tsx\ncy.findByLabelText('Username').should('be.invalid')\n```\n\n### `be.required`\n\nAsserts that the given element is required.\n\n#### Example\n\n```html\n<div>\n  <label for=\"username\">Username</label>\n  <input id=\"username\" type=\"text\" required />\n</div>\n```\n\n```tsx\ncy.findByLabelText('Username').should('be.required')\n```\n\n### `be.valid`\n\nAsserts that the given element is valid.\n\n#### Example\n\n```html\n<div>\n  <label for=\"username\">Username</label>\n  <input id=\"username\" type=\"text\" />\n</div>\n```\n\n```tsx\ncy.findByLabelText('Username').should('be.valid')\n```\n\n### `have.description`\n\nAsserts that the given element has the expected\n[accessible description](https://w3c.github.io/accname/).\n\n#### Example\n\n```html\n<button aria-describedby=\"trash-desc\">Move to trash</button>\n<p id=\"trash-desc\">\n  Items in the trash will be permanently removed after 30 days.\n</p>\n```\n\n```tsx\ncy.findByRole('button', { name: 'Move to trash' }).should('have.description')\ncy.findByRole('button', { name: 'Move to trash' }).should(\n  'have.description',\n  'Items in the trash will be permanently removed after 30 days.',\n)\n```\n\n### `have.errorMessage`\n\nAsserts that the given element has the expected\n[ARIA error message](https://www.w3.org/TR/wai-aria/#aria-errormessage). Please\nnote that the element should indicate an error state using `aria-invalid` set to\n`true`.\n\n#### Example\n\n```html\n<label for=\"email\">Email</label>\n<input\n  type=\"email\"\n  name=\"email\"\n  id=\"email\"\n  aria-invalid=\"true\"\n  aria-errormessage=\"error-message\"\n/>\n<span id=\"error-message\">Enter a valid email address</span>\n```\n\n```tsx\ncy.findByLabelText('Email').should('have.errorMessage')\ncy.findByLabelText('Email').should(\n  'have.errorMessage',\n  'Enter a valid email address',\n)\n```\n\n### `have.name`\n\nAsserts that the given element has the expected\n[accessible name](https://w3c.github.io/accname/).\n\n#### Example\n\n```html\n<span\n  role=\"checkbox\"\n  aria-checked=\"false\"\n  tabindex=\"0\"\n  aria-labelledby=\"label\"\n/>\n<span id=\"label\">I agree to the Terms and Conditions.</span>\n```\n\n```tsx\ncy.findByRole('checkbox').should('have.name')\ncy.findByRole('checkbox').should(\n  'have.name',\n  'I agree to the Terms and Conditions.',\n)\n```\n","readmeFilename":"README.md"}