11const ruleModule = require ( './../../../src/rules/prefer-alphabetical-bundledDependencies' ) ;
2+ const alphabeticalSort = require ( '../../../src/validators/alphabetical-sort' ) ;
3+ const property = require ( '../../../src/validators/property' ) ;
24
35const { lint, ruleType} = ruleModule ;
46
7+ jest . mock ( '../../../src/validators/alphabetical-sort' ) ;
8+ jest . mock ( '../../../src/validators/property' ) ;
9+
10+ const nodeName = 'bundledDependencies' ;
11+
512describe ( 'prefer-alphabetical-bundledDependencies Unit Tests' , ( ) => {
613 describe ( 'a rule type value should be exported' , ( ) => {
714 test ( 'it should equal "standard"' , ( ) => {
@@ -11,6 +18,15 @@ describe('prefer-alphabetical-bundledDependencies Unit Tests', () => {
1118
1219 describe ( 'when package.json has node with an invalid order' , ( ) => {
1320 test ( 'LintIssue object should be returned' , ( ) => {
21+ alphabeticalSort . isInAlphabeticalOrder . mockReturnValue ( {
22+ status : false ,
23+ data : {
24+ invalidNode : 'semver' ,
25+ validNode : 'chalk'
26+ }
27+ } ) ;
28+ property . exists . mockReturnValue ( true ) ;
29+
1430 const packageJsonData = {
1531 bundledDependencies : {
1632 semver : '^5.3.0' ,
@@ -26,11 +42,22 @@ describe('prefer-alphabetical-bundledDependencies Unit Tests', () => {
2642 expect ( response . lintMessage ) . toStrictEqual (
2743 'Your bundledDependencies are not in alphabetical order. Please move semver after chalk.'
2844 ) ;
45+
46+ expect ( property . exists ) . toHaveBeenCalledTimes ( 1 ) ;
47+ expect ( property . exists ) . toHaveBeenCalledWith ( packageJsonData , nodeName ) ;
48+ expect ( alphabeticalSort . isInAlphabeticalOrder ) . toHaveBeenCalledTimes ( 1 ) ;
49+ expect ( alphabeticalSort . isInAlphabeticalOrder ) . toHaveBeenCalledWith ( packageJsonData , nodeName ) ;
2950 } ) ;
3051 } ) ;
3152
3253 describe ( 'when package.json has node with a valid order' , ( ) => {
33- test ( 'LintIssue object should be returned' , ( ) => {
54+ test ( 'true should be returned' , ( ) => {
55+ alphabeticalSort . isInAlphabeticalOrder . mockReturnValue ( {
56+ status : true ,
57+ data : { }
58+ } ) ;
59+ property . exists . mockReturnValue ( true ) ;
60+
3461 const packageJsonData = {
3562 bundledDependencies : {
3663 chalk : '^1.1.3' ,
@@ -41,15 +68,25 @@ describe('prefer-alphabetical-bundledDependencies Unit Tests', () => {
4168 const response = lint ( packageJsonData , 'error' ) ;
4269
4370 expect ( response ) . toBeTruthy ( ) ;
71+
72+ expect ( property . exists ) . toHaveBeenCalledTimes ( 1 ) ;
73+ expect ( property . exists ) . toHaveBeenCalledWith ( packageJsonData , nodeName ) ;
74+ expect ( alphabeticalSort . isInAlphabeticalOrder ) . toHaveBeenCalledTimes ( 1 ) ;
75+ expect ( alphabeticalSort . isInAlphabeticalOrder ) . toHaveBeenCalledWith ( packageJsonData , nodeName ) ;
4476 } ) ;
4577 } ) ;
4678
4779 describe ( 'when package.json does not have node' , ( ) => {
4880 test ( 'true should be returned' , ( ) => {
81+ property . exists . mockReturnValue ( false ) ;
82+
4983 const packageJsonData = { } ;
5084 const response = lint ( packageJsonData , 'error' ) ;
5185
5286 expect ( response ) . toBeTruthy ( ) ;
87+
88+ expect ( property . exists ) . toHaveBeenCalledTimes ( 1 ) ;
89+ expect ( property . exists ) . toHaveBeenCalledWith ( packageJsonData , nodeName ) ;
5390 } ) ;
5491 } ) ;
5592} ) ;
0 commit comments