diff --git a/__tests__/buildJsonResults.test.js b/__tests__/buildJsonResults.test.js index 69c432c..fc034fc 100644 --- a/__tests__/buildJsonResults.test.js +++ b/__tests__/buildJsonResults.test.js @@ -400,6 +400,21 @@ describe('buildJsonResults', () => { expect(slash(jsonResults.testsuites[1].testsuite[2].testcase[0]._attr.file)).toBe('packages/foobar/path/to/test/__tests__/foo.test.js'); }); + it('should expand in filePathPrefix', () => { + // Ignore junit errors for this attribute + // It is added for circle-ci and is known to not generate + // jenkins-compatible junit + ignoreJunitErrors = true; + + const noFailingTestsReport = require('../__mocks__/no-failing-tests.json'); + jsonResults = buildJsonResults(noFailingTestsReport, '/', + Object.assign({}, constants.DEFAULT_OPTIONS, { + addFileAttribute: "true", + filePathPrefix: "/packages/foobar" + }), '/tmp/project'); + expect(slash(jsonResults.testsuites[1].testsuite[2].testcase[0]._attr.file)).toBe('/tmp/project/packages/foobar/path/to/test/__tests__/foo.test.js'); + }); + it('should show output of console if includeConsoleOutput is true', () => { const reportWithConsoleOutput = require('../__mocks__/test-with-console-output.json'); jsonResults = buildJsonResults(reportWithConsoleOutput, '/', diff --git a/utils/buildJsonResults.js b/utils/buildJsonResults.js index 46d2378..2d7d4b2 100644 --- a/utils/buildJsonResults.js +++ b/utils/buildJsonResults.js @@ -200,8 +200,10 @@ module.exports = function (report, appDirectory, options, rootDir = null) { addErrorTestResult(suite); } + const filePathPrefix = replaceRootDirInOutput(rootDir, suiteOptions.filePathPrefix); + // Build variables for suite name - const filepath = path.join(suiteOptions.filePathPrefix, path.relative(appDirectory, suite.testFilePath)); + const filepath = path.join(filePathPrefix, path.relative(appDirectory, suite.testFilePath)); const filename = path.basename(filepath); const suiteTitle = suite.testResults[0].ancestorTitles[0]; const displayName = typeof suite.displayName === 'object'