cookies.spec.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /// <reference types="cypress" />
  2. context('Cookies', () => {
  3. beforeEach(() => {
  4. Cypress.Cookies.debug(true)
  5. cy.visit('https://example.cypress.io/commands/cookies')
  6. // clear cookies again after visiting to remove
  7. // any 3rd party cookies picked up such as cloudflare
  8. cy.clearCookies()
  9. })
  10. it('cy.getCookie() - get a browser cookie', () => {
  11. // https://on.cypress.io/getcookie
  12. cy.get('#getCookie .set-a-cookie').click()
  13. // cy.getCookie() yields a cookie object
  14. cy.getCookie('token').should('have.property', 'value', '123ABC')
  15. })
  16. it('cy.getCookies() - get browser cookies', () => {
  17. // https://on.cypress.io/getcookies
  18. cy.getCookies().should('be.empty')
  19. cy.get('#getCookies .set-a-cookie').click()
  20. // cy.getCookies() yields an array of cookies
  21. cy.getCookies().should('have.length', 1).should((cookies) => {
  22. // each cookie has these properties
  23. expect(cookies[0]).to.have.property('name', 'token')
  24. expect(cookies[0]).to.have.property('value', '123ABC')
  25. expect(cookies[0]).to.have.property('httpOnly', false)
  26. expect(cookies[0]).to.have.property('secure', false)
  27. expect(cookies[0]).to.have.property('domain')
  28. expect(cookies[0]).to.have.property('path')
  29. })
  30. })
  31. it('cy.setCookie() - set a browser cookie', () => {
  32. // https://on.cypress.io/setcookie
  33. cy.getCookies().should('be.empty')
  34. cy.setCookie('foo', 'bar')
  35. // cy.getCookie() yields a cookie object
  36. cy.getCookie('foo').should('have.property', 'value', 'bar')
  37. })
  38. it('cy.clearCookie() - clear a browser cookie', () => {
  39. // https://on.cypress.io/clearcookie
  40. cy.getCookie('token').should('be.null')
  41. cy.get('#clearCookie .set-a-cookie').click()
  42. cy.getCookie('token').should('have.property', 'value', '123ABC')
  43. // cy.clearCookies() yields null
  44. cy.clearCookie('token').should('be.null')
  45. cy.getCookie('token').should('be.null')
  46. })
  47. it('cy.clearCookies() - clear browser cookies', () => {
  48. // https://on.cypress.io/clearcookies
  49. cy.getCookies().should('be.empty')
  50. cy.get('#clearCookies .set-a-cookie').click()
  51. cy.getCookies().should('have.length', 1)
  52. // cy.clearCookies() yields null
  53. cy.clearCookies()
  54. cy.getCookies().should('be.empty')
  55. })
  56. })