bahmutov / cypress-data-session

Cypress command for flexible test data setup

Home Page:https://glebbahmutov.com/blog/cypresss-data-session/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

recreate property prevents restoring shared session in Cypress.env

bahmutov opened this issue ยท comments

Seems if a shared data session has recreate method, then it is not placed back into Cypress.env

// @ts-check

import '../../src'

describe('Restores data session', () => {
  beforeEach(() => {
    Cypress.clearDataSession('parent')
  })

  it('sets the session in Cypress.env', function () {
    /** @type Cypress.DataSessionOptions */
    const parentOptions = {
      name: 'parent',
      setup: cy.stub().as('parentSetup').returns(1),
      recreate: cy.stub().as('parentRecreate').returns(2),
      validate: true,
      shareAcrossSpecs: true,
    }
    const key = Cypress.formDataSessionKey('parent')
    cy.dataSession(parentOptions)
      .then(() => {
        expect(Cypress.env()).to.have.property(key)

        cy.log('removing data session from env')
        delete Cypress.env()[key]
      })
      .then(() => {
        expect(Cypress.env()).to.not.have.property(key)

        cy.dataSession(parentOptions).then(() => {
          expect(Cypress.env()).to.have.property(key)
        })
      })
  })
})

๐ŸŽ‰ This issue has been resolved in version 1.14.3 ๐ŸŽ‰

The release is available on:

Your semantic-release bot ๐Ÿ“ฆ๐Ÿš€