@@ -2,15 +2,13 @@ import {
2
2
findOriginalConfigurations ,
3
3
FindOriginalConfigurationsDependencies ,
4
4
} from "./findOriginalConfigurations" ;
5
- import { ResultStatus } from "../types" ;
5
+ import { ResultStatus , TSLintToESLintSettings } from "../types" ;
6
6
import { TSLintConfiguration } from "./findTSLintConfiguration" ;
7
7
import { ESLintConfiguration } from "./findESLintConfiguration" ;
8
8
9
- const createRawSettings = ( ) => ( {
9
+ const createRawSettings = ( overrides : Partial < TSLintToESLintSettings > = { } ) => ( {
10
10
config : "./eslintrc.js" ,
11
- eslint : "" ,
12
- tslint : "" ,
13
- typescript : "" ,
11
+ ...overrides ,
14
12
} ) ;
15
13
16
14
const createDependencies = ( overrides : Partial < FindOriginalConfigurationsDependencies > = { } ) => ( {
@@ -38,7 +36,7 @@ const createDependencies = (overrides: Partial<FindOriginalConfigurationsDepende
38
36
} ) ;
39
37
40
38
describe ( "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 ( ) => {
42
40
// Arrange
43
41
const complaint = "Complaint from TSLint" ;
44
42
const dependencies = createDependencies ( {
@@ -78,6 +76,58 @@ describe("findOriginalConfigurations", () => {
78
76
} ) ;
79
77
} ) ;
80
78
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
+
81
131
it ( "returns successful results when all finders succeed" , async ( ) => {
82
132
// Arrange
83
133
const dependencies = createDependencies ( ) ;
0 commit comments