@@ -2,66 +2,72 @@ import { createStubLogger } from "./stubs";
22import { convertConfig } from "./convertConfig" ;
33import { ResultStatus } from "./types" ;
44
5+ const defaultRequest = {
6+ settings : { } ,
7+ logger : createStubLogger ( ) ,
8+ ruleFinder : jest . fn ( ) . mockReturnValue ( Promise . resolve ( new Error ( ) ) ) ,
9+ fileExists : jest . fn ( ) . mockReturnValue ( Promise . resolve ( true ) ) ,
10+ createNewConfiguration : jest . fn ( ) . mockReturnValue ( Promise . resolve ( ) ) ,
11+ } ;
12+
513describe ( "convertConfig" , ( ) => {
614 it ( "complains when the provided config file does not exist" , async ( ) => {
715 // Arrange
8- const settings = {
9- config : "./stub/tslint.json" ,
16+ const request = {
17+ ...defaultRequest ,
18+ fileExists : jest . fn ( ) . mockReturnValue ( Promise . resolve ( false ) ) ,
1019 } ;
11- const logger = createStubLogger ( ) ;
12- const ruleFinder = jest . fn ( ) . mockReturnValue ( Promise . resolve ( new Error ( ) ) ) ;
13- const fileExists = jest . fn ( ) . mockReturnValue ( Promise . resolve ( false ) ) ;
1420
1521 // Act
16- const result = await convertConfig ( settings , logger , ruleFinder , fileExists ) ;
22+ const result = await convertConfig ( request ) ;
1723
1824 // Assert
1925 expect ( result ) . toEqual ( {
20- complaint : `${ settings . config } does not seem to exist.` ,
26+ complaint : `./tslint.json does not seem to exist.` ,
2127 status : ResultStatus . ConfigurationError ,
2228 } ) ;
2329 } ) ;
2430
2531 it ( "searches for settings.config when settings.config is provided" , async ( ) => {
2632 // Arrange
27- const settings = {
28- config : "./stub/tslint.json" ,
33+ const request = {
34+ ...defaultRequest ,
35+ settings : {
36+ config : "./stub/tslint.json" ,
37+ } ,
2938 } ;
30- const logger = createStubLogger ( ) ;
31- const ruleFinder = jest . fn ( ) . mockReturnValue ( Promise . resolve ( new Error ( ) ) ) ;
32- const fileExists = jest . fn ( ) . mockReturnValue ( Promise . resolve ( true ) ) ;
3339
3440 // Act
35- await convertConfig ( settings , logger , ruleFinder , fileExists ) ;
41+ await convertConfig ( request ) ;
3642
3743 // Assert
38- expect ( ruleFinder ) . toHaveBeenLastCalledWith ( settings . config ) ;
44+ expect ( request . ruleFinder ) . toHaveBeenLastCalledWith ( request . settings . config ) ;
3945 } ) ;
4046
4147 it ( "searches for ./tslint.json by default when no settings.config is provided" , async ( ) => {
4248 // Arrange
43- const settings = { } ;
44- const logger = createStubLogger ( ) ;
45- const ruleFinder = jest . fn ( ) . mockReturnValue ( Promise . resolve ( new Error ( ) ) ) ;
46- const fileExists = jest . fn ( ) . mockReturnValue ( Promise . resolve ( true ) ) ;
49+ const request = {
50+ ... defaultRequest ,
51+ settings : { } ,
52+ } ;
4753
4854 // Act
49- await convertConfig ( settings , logger , ruleFinder , fileExists ) ;
55+ await convertConfig ( request ) ;
5056
5157 // Assert
52- expect ( ruleFinder ) . toHaveBeenLastCalledWith ( "./tslint.json" ) ;
58+ expect ( request . ruleFinder ) . toHaveBeenLastCalledWith ( "./tslint.json" ) ;
5359 } ) ;
5460
5561 it ( "returns a failure result when ruleFinder returns an error" , async ( ) => {
5662 // Arrange
57- const settings = { } ;
58- const logger = createStubLogger ( ) ;
5963 const error = new Error ( "oh no" ) ;
60- const ruleFinder = jest . fn ( ) . mockReturnValue ( Promise . resolve ( error ) ) ;
61- const fileExists = jest . fn ( ) . mockReturnValue ( Promise . resolve ( true ) ) ;
64+ const request = {
65+ ...defaultRequest ,
66+ ruleFinder : jest . fn ( ) . mockReturnValue ( Promise . resolve ( error ) ) ,
67+ } ;
6268
6369 // Act
64- const result = await convertConfig ( settings , logger , ruleFinder , fileExists ) ;
70+ const result = await convertConfig ( request ) ;
6571
6672 // Assert
6773 expect ( result ) . toEqual ( {
@@ -72,20 +78,20 @@ describe("convertConfig", () => {
7278
7379 it ( "creates a new configuration when ruleFinder returns rules" , async ( ) => {
7480 // Arrange
75- const settings = { } ;
76- const logger = createStubLogger ( ) ;
77- const ruleFinder = jest . fn ( ) . mockReturnValue ( {
78- rules : {
79- "sample-rule" : {
80- ruleArguments : [ "one" , "two" ] ,
81- ruleName : "sample-rule" ,
81+ const request = {
82+ ...defaultRequest ,
83+ ruleFinder : jest . fn ( ) . mockReturnValue ( {
84+ rules : {
85+ "sample-rule" : {
86+ ruleArguments : [ "one" , "two" ] ,
87+ ruleName : "sample-rule" ,
88+ } ,
8289 } ,
83- } ,
84- } ) ;
85- const fileExists = jest . fn ( ) . mockReturnValue ( Promise . resolve ( true ) ) ;
90+ } ) ,
91+ } ;
8692
8793 // Act
88- const result = await convertConfig ( settings , logger , ruleFinder , fileExists ) ;
94+ const result = await convertConfig ( request ) ;
8995
9096 // Assert
9197 expect ( result ) . toEqual ( {
0 commit comments