You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.1 KiB
46 lines
1.1 KiB
/// <reference types="cypress" />
|
|
|
|
/**
|
|
* @method abGetProperty
|
|
* @description
|
|
* ### Usage
|
|
*
|
|
* ```javascript
|
|
* // your property in AdminJS
|
|
* resourceOptions: {
|
|
* properties: {
|
|
* isAdmin: {...}
|
|
* }
|
|
* }
|
|
* ```
|
|
*
|
|
* ```javascript
|
|
* // accessing it in test.
|
|
* cy.abGetProperty('isAdmin', 'input[type="checkbox"]')
|
|
* ```
|
|
*
|
|
* `abGetProperty` returns the wrapper Section for a given property. You can pass inner element
|
|
* which allows you to select `input`, `label`, `options`, etc. inside it.
|
|
*
|
|
* @memberof module:cy
|
|
* @param {string} path path of the property
|
|
* @param {string} [selector=null]
|
|
* @example
|
|
* it('shows disabled checkBox', () => {
|
|
* cy.abGetProperty('isAdmin', 'input[type="checkbox"]')
|
|
* .should('be.disabled')
|
|
* .should('not.be.checked')
|
|
*
|
|
* cy.abGetProperty('isAdmin', 'label')
|
|
* .click()
|
|
* .should('not.be.checked')
|
|
* })
|
|
*/
|
|
Cypress.Commands.add('abGetProperty', (path, selector = null) => {
|
|
let propertySelector = `[data-testid$="-${path}"]`
|
|
if (selector) {
|
|
propertySelector = [propertySelector, selector].join(' ')
|
|
}
|
|
return cy.get(propertySelector)
|
|
})
|