From 5d829a95b43d7637cce207bfb1230b6cec4bffad Mon Sep 17 00:00:00 2001 From: Gleb Bahmutov Date: Mon, 22 Jul 2019 21:35:01 -0400 Subject: [PATCH] fix: only ask for server-side coverage when there is url to ask (#46) --- support.js | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/support.js b/support.js index e827ca0e..effc2cdb 100644 --- a/support.js +++ b/support.js @@ -23,21 +23,32 @@ afterEach(() => { after(() => { // there might be server-side code coverage information // we should grab it once after all tests finish - const url = Cypress._.get(Cypress.env('codeCoverage'), 'url', '/__coverage__') - cy.request({ - url, - log: false, - failOnStatusCode: false - }) - .then(r => Cypress._.get(r, 'body.coverage', null), { log: false }) - .then(coverage => { - if (!coverage) { - // we did not get code coverage - this is the - // original failed request - return - } - cy.task('combineCoverage', coverage) + const baseUrl = Cypress.config('baseUrl') || cy.state('window').origin + const runningEndToEndTests = baseUrl !== Cypress.config('proxyUrl') + if (runningEndToEndTests) { + // we can only request server-side code coverage + // if we are running end-to-end tests, + // otherwise where do we send the request? + const url = Cypress._.get( + Cypress.env('codeCoverage'), + 'url', + '/__coverage__' + ) + cy.request({ + url, + log: false, + failOnStatusCode: false }) + .then(r => Cypress._.get(r, 'body.coverage', null), { log: false }) + .then(coverage => { + if (!coverage) { + // we did not get code coverage - this is the + // original failed request + return + } + cy.task('combineCoverage', coverage) + }) + } // collect and merge frontend coverage const specFolder = Cypress.config('integrationFolder')