Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Struggling to have DayJs available for all tests in cypress

I’m currently starting a new Cypress project, the application to test is quite "calendar centered" and I’ll have to play a lot with dates.

My issue is I can’t get DayJs available for the whole project without having to import it in every spec files.

For instance, in a test.spec.ts, this is working

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

import dayjs = require('dayjs');
    
describe('Some suite', () => {       
   it('Some Test', () => {
      // some stuff
      const myDate = dayjs('11-11-2022', 'dd-MM-YYYY' );
      // other stuff
   })
})

But when I do this in support/index.ts

import dayjs = require('dayjs')
    
declare namespace Cypress {        
    interface Cypress {
        dayjs: dayjs.Dayjs;
    }
}

and then this in my spec

describe('Some suite', () => {       
    it('Some Test', () => {
       // some stuff
       const myDate = Cypress.dayjs('11-11-2022', 'dd-MM-YYYY' );
       // other stuff
    })
})

it says

Cypress.dayjs is not a function

Any idea on how I could get this work?
Thanks for the help

>Solution :

In /cypress/support/index.ts, add dayjs to the global Cypress (just like momentjs used to be included).

/cypress/support/index.ts

const dayjs = require('dayjs')

declare namespace Cypress {        
  interface Cypress {
    dayjs: dayjs.Dayjs;
  }
}

Cypress.dayjs = dayjs

Now const myDate = Cypress.dayjs('11-11-2022', 'dd-MM-YYYY') should work.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading