/// context('Connectors', () => { beforeEach(() => { cy.visit('https://example.cypress.io/commands/connectors') }) it('.each() - iterate over an array of elements', () => { // https://on.cypress.io/each cy.get('.connectors-each-ul>li') .each(($el, index, $list) => { console.log($el, index, $list) }) }) it('.its() - get properties on the current subject', () => { // https://on.cypress.io/its cy.get('.connectors-its-ul>li') // calls the 'length' property yielding that value .its('length') .should('be.gt', 2) }) it('.invoke() - invoke a function on the current subject', () => { // our div is hidden in our script.js // $('.connectors-div').hide() // https://on.cypress.io/invoke cy.get('.connectors-div').should('be.hidden') // call the jquery method 'show' on the 'div.container' .invoke('show') .should('be.visible') }) it('.spread() - spread an array as individual args to callback function', () => { // https://on.cypress.io/spread const arr = ['foo', 'bar', 'baz'] cy.wrap(arr).spread((foo, bar, baz) => { expect(foo).to.eq('foo') expect(bar).to.eq('bar') expect(baz).to.eq('baz') }) }) describe('.then()', () => { it('invokes a callback function with the current subject', () => { // https://on.cypress.io/then cy.get('.connectors-list > li') .then(($lis) => { expect($lis, '3 items').to.have.length(3) expect($lis.eq(0), 'first item').to.contain('Walk the dog') expect($lis.eq(1), 'second item').to.contain('Feed the cat') expect($lis.eq(2), 'third item').to.contain('Write JavaScript') }) }) it('yields the returned value to the next command', () => { cy.wrap(1) .then((num) => { expect(num).to.equal(1) return 2 }) .then((num) => { expect(num).to.equal(2) }) }) it('yields the original subject without return', () => { cy.wrap(1) .then((num) => { expect(num).to.equal(1) // note that nothing is returned from this callback }) .then((num) => { // this callback receives the original unchanged value 1 expect(num).to.equal(1) }) }) it('yields the value yielded by the last Cypress command inside', () => { cy.wrap(1) .then((num) => { expect(num).to.equal(1) // note how we run a Cypress command // the result yielded by this Cypress command // will be passed to the second ".then" cy.wrap(2) }) .then((num) => { // this callback receives the value yielded by "cy.wrap(2)" expect(num).to.equal(2) }) }) }) })