@@ -2,15 +2,13 @@ import {
22 findOriginalConfigurations ,
33 FindOriginalConfigurationsDependencies ,
44} from "./findOriginalConfigurations" ;
5- import { ResultStatus } from "../types" ;
5+ import { ResultStatus , TSLintToESLintSettings } from "../types" ;
66import { TSLintConfiguration } from "./findTSLintConfiguration" ;
77import { ESLintConfiguration } from "./findESLintConfiguration" ;
88
9- const createRawSettings = ( ) => ( {
9+ const createRawSettings = ( overrides : Partial < TSLintToESLintSettings > = { } ) => ( {
1010 config : "./eslintrc.js" ,
11- eslint : "" ,
12- tslint : "" ,
13- typescript : "" ,
11+ ...overrides ,
1412} ) ;
1513
1614const createDependencies = ( overrides : Partial < FindOriginalConfigurationsDependencies > = { } ) => ( {
@@ -38,7 +36,7 @@ const createDependencies = (overrides: Partial<FindOriginalConfigurationsDepende
3836} ) ;
3937
4038describe ( "findOriginalConfigurations" , ( ) => {
41- it ( "returns an errors when the tslint finder returns an error" , async ( ) => {
39+ it ( "returns errors when the tslint finder returns an error" , async ( ) => {
4240 // Arrange
4341 const complaint = "Complaint from TSLint" ;
4442 const dependencies = createDependencies ( {
@@ -78,6 +76,58 @@ describe("findOriginalConfigurations", () => {
7876 } ) ;
7977 } ) ;
8078
79+ it ( "returns an error when an optional configuration returns an error and the user asked for it" , async ( ) => {
80+ // Arrange
81+ const eslint = new Error ( "one" ) ;
82+ const dependencies = createDependencies ( {
83+ findESLintConfiguration : async ( ) => eslint ,
84+ } ) ;
85+
86+ // Act
87+ const result = await findOriginalConfigurations (
88+ dependencies ,
89+ createRawSettings ( {
90+ eslint : "./eslintrc.js" ,
91+ } ) ,
92+ ) ;
93+
94+ // Assert
95+ expect ( result ) . toEqual ( {
96+ complaints : [ eslint . message ] ,
97+ status : ResultStatus . ConfigurationError ,
98+ } ) ;
99+ } ) ;
100+
101+ it ( "returns successful results when an optional configuration returns an error and the user didn't ask for it" , async ( ) => {
102+ // Arrange
103+ const dependencies = createDependencies ( {
104+ findESLintConfiguration : async ( ) => new Error ( "one" ) ,
105+ } ) ;
106+
107+ // Act
108+ const result = await findOriginalConfigurations ( dependencies , createRawSettings ( ) ) ;
109+
110+ // Assert
111+ expect ( result ) . toEqual ( {
112+ data : {
113+ packages : {
114+ dependencies : { } ,
115+ devDependencies : { } ,
116+ } ,
117+ tslint : {
118+ rulesDirectory : [ ] ,
119+ rules : { } ,
120+ } ,
121+ typescript : {
122+ compilerOptions : {
123+ target : "es3" ,
124+ } ,
125+ } ,
126+ } ,
127+ status : ResultStatus . Succeeded ,
128+ } ) ;
129+ } ) ;
130+
81131 it ( "returns successful results when all finders succeed" , async ( ) => {
82132 // Arrange
83133 const dependencies = createDependencies ( ) ;
0 commit comments