2.1.0 • Published 10 months ago

@hon2a/cypress-without v2.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

cypress-without

without command for Cypress (https://www.cypress.io) for breaking out of a within inside custom commands

Use

without

Either import and use the command directly as a plain function:

import { without } from '@hon2a/cypress-without'

cy.get('.some-container').within(() => {
  // ... find elements inside the container only
  without(() => {
    // ... find elements anywhere (e.g. drop-downs rendered through portals)
  })
  // ... find more elements just inside the container
})

Or register the command with Cypress and chain it off cy:

import '@hon2a/cypress-without/lib/register' // best done just once in your support script

cy.get('.some-container').within(() => {
  // ... find elements inside the container only
  cy.without(() => {
    // ... find elements anywhere (e.g. drop-downs rendered through portals)
  })
  // ... find more elements just inside the container
})

Provide { log: false } as the second argument to mute the log output.

absoluteRoot

If you need to chain off the document root rather than perform a one-off action on it, use absoluteRoot to get the root.

import { absoluteRoot } from '@hon2a/cypress-without'

export const getActiveModal = () => absoluteRoot().find('.some-modal:visible')

This helper also gets registered as Cypress command when importing …/register (see above).

Development

Install

Install dependencies using:

npm install

Develop

After you modify sources, run the following (or set up your IDE to do it for you):

  • format the code using npm run format
  • lint it using npm run lint
  • test it using npm test

and fix the errors, if there are any.

Publish

Publishing is done in two steps:

  1. Create a new version tag and push it to the repository:
    npm version <patch|minor|major>
    git push --follow-tags
  2. Build and publish the new version as a npm package:
    npm publish --access public