text: describe('Methods', () => {
    const methods = [ 'POST', 'HEAD', 'POST', 'PUT', 'DELETE','OPTIONS', 'PATCH']
    methods.forEach((method) => {
        it(`Change the default method GET to ${method} with url query`, () => {
          cy.visit(`/?method=${method}`)
            .get('#method').should('have.value', method)
        })
    })
  })
  
  describe('Url and path', () => {
    it('Change default url with query and reset default path to empty string and make a request to cat api', () => {
        cy.seedAndVisit('catapi', '/?url=https://api.thecatapi.com&path=')
        .get('#url').then((el) => expect(el.val() === 'https://api.thecatapi.com').to.equal(true))
        .get("#path").then((el) => expect(el.val() === '').to.equal(true))
        .get('#response-details-wrapper').should($wrapper => {
          expect($wrapper).to.contain('FAKE Cat API')
        })
    })
  })
  
  describe('Authentication', () => {
    it(`Change default auth 'None' to 'Basic' and set httpUser and httpPassword with url query`, () => {
      cy.visit(`?&auth=Basic Auth&httpUser=foo&httpPassword=bar`, { retryOnStatusCodeFailure: true })
        .get('#authentication').contains('Authentication').click()
          .then(() => {
            cy.get('input[name="http_basic_user"]', { timeout: 500 })
              .invoke('val')
              .then((user) => {
                expect(user === 'foo').to.equal(true)
                cy.log('Success! user === foo')
              })
  
            cy.get('input[name="http_basic_passwd"]')
              .invoke('val')
              .then((user) => {
                expect(user === 'bar').to.equal(true)
                cy.log('Success! password === bar')
              })
          })
    })
  
    const base64Tkn = encodeURI(btoa('{"alg":"HS256", "typ": "JWT"}'))
  
    it(`Change default auth 'None' to 'Bearer token' and set bearerToken with url query`, () => {
      cy.visit(`/?auth=Bearer Token&bearerToken=${base64Tkn}`, { retryOnStatusCodeFailure: true })
          .get('#authentication').contains('Authentication').click()
            .then(() => {
              cy.get('input[name="bearer_token"]', { timeout: 500 })
                .invoke('val')
                .then((tkn) => {
                  expect(tkn === base64Tkn).to.equal(true)
                  cy.log(`Success! input[name="bearer_token"] === ${base64Tkn}`)
                })
            })
    })
  })
  