diff --git a/packages/cli/src/commands/diff.js b/packages/cli/src/commands/diff.js index 67a2078..2b5bfbb 100644 --- a/packages/cli/src/commands/diff.js +++ b/packages/cli/src/commands/diff.js @@ -1,4 +1,4 @@ -import {_, observable} from '@report-toolkit/common'; +import {_} from '@report-toolkit/common'; import {observable as observableAPI} from '@report-toolkit/core'; import {terminalColumns, toOutput} from '../console-utils.js'; @@ -11,7 +11,6 @@ import { } from './common.js'; const {diff, transform, fromTransformerChain} = observableAPI; -const {share} = observable; const OP_COLORS = _.toFrozenMap({ add: 'green', @@ -120,11 +119,9 @@ export const handler = argv => { }); const source = diff( - fromFilepathsToReports(file1).pipe(share()), - fromFilepathsToReports(file2).pipe( - share(), - config - ) + fromFilepathsToReports(file1), + fromFilepathsToReports(file2), + config ); fromTransformerChain(argv.transform, config) diff --git a/packages/cli/test/e2e/diff.spec.js b/packages/cli/test/e2e/diff.spec.js new file mode 100644 index 0000000..64505d3 --- /dev/null +++ b/packages/cli/test/e2e/diff.spec.js @@ -0,0 +1,34 @@ +import {runWithOptions} from './cli-helper.js'; + +const REPORT_001_FILEPATH = require.resolve( + '@report-toolkit/common/test/fixture/reports/report-001.json' +); +const REPORT_002_FILEPATH = require.resolve( + '@report-toolkit/common/test/fixture/reports/report-002-library-mismatch.json' +); + +describe('@report-toolkit/cli:command:diff', function() { + describe('when run with a single report file', function() { + it('should exit with code 1', function() { + return expect( + runWithOptions(['diff', REPORT_001_FILEPATH]), + 'to be rejected with error satisfying', + { + exitCode: 1 + } + ); + }); + }); + + describe('when run with two report files', function() { + it('should exit with code 0', function() { + return expect( + runWithOptions(['diff', REPORT_001_FILEPATH, REPORT_002_FILEPATH]), + 'to be fulfilled with value satisfying', + { + exitCode: 0 + } + ); + }); + }); +});