cypress-select-tests icon indicating copy to clipboard operation
cypress-select-tests copied to clipboard

Doesn't support env variables on test title

Open dialex opened this issue 5 years ago • 3 comments

If you have a test like this:

describe(`${Cypress.env("SITE")} website`, function() { // <== this is the problem
  it("is alive #fail-fast", function() {
    cy.request(Cypress.config("baseUrl"))
      .its("status")
      .should("equal", 200)
  })

Your library will fail because you have ${Cypress.env(...)} of the test title (describe or it).

$ cypress run --env grep=something

====================================================================================================

 (...)

  Running: _fail-fast/ping.spec.js...                                                      (1 of 8)
  Just tests tagged with: something

The following error was thrown by a plugin. We've stopped running your tests because a plugin crashed.

TypeError: Cannot read property 'includes' of undefined
    at testName.some.part (/Users/dnunes/Git/Org/E2E-tests-project/node_modules/cypress-select-tests/grep.js:33:34)
    at Array.some (<anonymous>:null:null)
    at foundTests.filter.testName (/Users/dnunes/Git/Org/E2E-tests-project/node_modules/cypress-select-tests/grep.js:33:16)
    at Array.filter (<anonymous>:null:null)
    at pickTests (/Users/dnunes/Git/Org/E2E-tests-project/node_modules/cypress-select-tests/grep.js:32:23)
    at process (/Users/dnunes/Git/Org/E2E-tests-project/node_modules/cypress-select-tests/src/itify.js:28:26)
    at Stream.onend (/Users/dnunes/Git/Org/E2E-tests-project/node_modules/cypress-select-tests/src/itify.js:52:18)
    at _end (/Users/dnunes/Git/Org/E2E-tests-project/node_modules/through/index.js:65:9)
    at Stream.stream.end (/Users/dnunes/Git/Org/E2E-tests-project/node_modules/through/index.js:74:5)
    at DestroyableTransform.onend (/Users/dnunes/Git/Org/E2E-tests-project/node_modules/readable-stream/lib/_stream_readable.js:577:10)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:111:20)
    at DestroyableTransform.emit (events.js:208:7)
    at endReadableNT (/Users/dnunes/Git/Org/E2E-tests-project/node_modules/readable-stream/lib/_stream_readable.js:1010:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)

I think this should either be fixed or documented, because it took me a couple of hours to figure it out, and others might step on the same issue.

dialex avatar Aug 14 '19 10:08 dialex

Sure, seems like an interesting edge case, maybe place a guard there and open a pull request? It should not crash at least.

bahmutov avatar Sep 03 '19 13:09 bahmutov

I don't enough JS to write the necessary code to fix this. I'll just leave the issue here so that people are warned about it. Maybe someone will come that can fix it.

dialex avatar Sep 04 '19 07:09 dialex

This should be fixed by #61. No crashes now

MaxNamazov avatar Dec 04 '19 16:12 MaxNamazov