@@ -22,8 +22,22 @@ describe('property-order Unit Tests', function() {
22
22
const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
23
23
24
24
response . status . should . be . true ;
25
- ( response . data . actualNode === null ) . should . be . true ;
26
- ( response . data . desiredNode === null ) . should . be . true ;
25
+ ( response . msg === null ) . should . be . true ;
26
+ } ) ;
27
+ } ) ;
28
+
29
+ context ( 'when the properties in the package.json file are in the desired order, but the defaults are used' , function ( ) {
30
+ it ( 'true should be returned' , function ( ) {
31
+ const packageJson = {
32
+ name : 'awesome-module' ,
33
+ version : '1.0.0' ,
34
+ description : 'description'
35
+ } ;
36
+ const preferredOrder = [ ] ;
37
+ const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
38
+
39
+ response . status . should . be . true ;
40
+ ( response . msg === null ) . should . be . true ;
27
41
} ) ;
28
42
} ) ;
29
43
@@ -40,9 +54,8 @@ describe('property-order Unit Tests', function() {
40
54
] ;
41
55
const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
42
56
43
- response . status . should . be . false ;
44
- ( response . data . actualNode === null ) . should . be . true ;
45
- response . data . desiredNode . should . equal ( 'description' ) ;
57
+ response . status . should . be . true ;
58
+ ( response . msg === null ) . should . be . true ;
46
59
} ) ;
47
60
} ) ;
48
61
@@ -61,8 +74,158 @@ describe('property-order Unit Tests', function() {
61
74
const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
62
75
63
76
response . status . should . be . false ;
64
- response . data . actualNode . should . equal ( 'description' ) ;
65
- response . data . desiredNode . should . equal ( 'version' ) ;
77
+ response . msg . should . equal ( 'Please move version before description.' ) ;
78
+ } ) ;
79
+ } ) ;
80
+
81
+ context ( 'when the actual node list is in a different order than desired' , function ( ) {
82
+ it ( 'false should be returned' , function ( ) {
83
+ const packageJson = {
84
+ version : '1.0.0' ,
85
+ name : 'awesome-module' ,
86
+ description : 'description'
87
+ } ;
88
+ const preferredOrder = [
89
+ 'name' ,
90
+ 'version' ,
91
+ 'description'
92
+ ] ;
93
+ const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
94
+
95
+ response . status . should . be . false ;
96
+ response . msg . should . equal ( 'Please move name before version.' ) ;
97
+ } ) ;
98
+ } ) ;
99
+
100
+ context ( 'when the actual node list is in a different order than desired' , function ( ) {
101
+ it ( 'false should be returned' , function ( ) {
102
+ const packageJson = {
103
+ name : 'awesome-module' ,
104
+ version : '1.0.0' ,
105
+ description : 'description'
106
+ } ;
107
+ const preferredOrder = [
108
+ 'name' ,
109
+ 'version' ,
110
+ 'homepage' ,
111
+ 'description'
112
+ ] ;
113
+ const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
114
+
115
+ response . status . should . be . true ;
116
+ ( response . msg === null ) . should . be . true ;
117
+ } ) ;
118
+ } ) ;
119
+
120
+ context ( 'when the actual node list is in a different order than desired' , function ( ) {
121
+ it ( 'false should be returned' , function ( ) {
122
+ const packageJson = {
123
+ name : 'awesome-module' ,
124
+ version : '1.0.0' ,
125
+ description : 'description' ,
126
+ homepage : 'https://github.com/tclindner/npm-package-json-lint'
127
+ } ;
128
+ const preferredOrder = [
129
+ 'name' ,
130
+ 'version' ,
131
+ 'description' ,
132
+ 'keywords' ,
133
+ 'homepage'
134
+ ] ;
135
+ const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
136
+
137
+ response . status . should . be . true ;
138
+ ( response . msg === null ) . should . be . true ;
139
+ } ) ;
140
+ } ) ;
141
+
142
+ context ( 'when the actual node list is in correct order, but has extra values in preferred order' , function ( ) {
143
+ it ( 'true should be returned' , function ( ) {
144
+ const packageJson = {
145
+ name : 'awesome-module' ,
146
+ version : '1.0.0' ,
147
+ description : 'description' ,
148
+ homepage : 'https://github.com/tclindner/npm-package-json-lint'
149
+ } ;
150
+ const preferredOrder = [
151
+ 'name' ,
152
+ 'version' ,
153
+ 'description' ,
154
+ 'scripts' ,
155
+ 'bin' ,
156
+ 'keywords' ,
157
+ 'homepage'
158
+ ] ;
159
+ const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
160
+
161
+ response . status . should . be . true ;
162
+ ( response . msg === null ) . should . be . true ;
163
+ } ) ;
164
+ } ) ;
165
+
166
+ context ( 'when the actual node list is not in correct order and also has extra values in preferred order' , function ( ) {
167
+ it ( 'true should be returned' , function ( ) {
168
+ const packageJson = {
169
+ name : 'awesome-module' ,
170
+ version : '1.0.0' ,
171
+ description : 'description' ,
172
+ homepage : 'https://github.com/tclindner/npm-package-json-lint' ,
173
+ keywords : [ 'word' ]
174
+ } ;
175
+ const preferredOrder = [
176
+ 'name' ,
177
+ 'version' ,
178
+ 'description' ,
179
+ 'scripts' ,
180
+ 'bin' ,
181
+ 'keywords' ,
182
+ 'homepage'
183
+ ] ;
184
+ const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
185
+
186
+ response . status . should . be . false ;
187
+ response . msg . should . equal ( 'Please move keywords before homepage.' ) ;
188
+ } ) ;
189
+ } ) ;
190
+
191
+ context ( 'when node is not in the preferred node list' , function ( ) {
192
+ it ( 'false should be returned' , function ( ) {
193
+ const packageJson = {
194
+ name : 'awesome-module' ,
195
+ version : '1.0.0' ,
196
+ description : 'description' ,
197
+ homepage : 'https://github.com/tclindner/npm-package-json-lint'
198
+ } ;
199
+ const preferredOrder = [
200
+ 'name' ,
201
+ 'version' ,
202
+ 'keywords' ,
203
+ 'homepage'
204
+ ] ;
205
+ const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
206
+
207
+ response . status . should . be . false ;
208
+ response . msg . should . equal ( 'description is not in the preferred property list.' ) ;
209
+ } ) ;
210
+ } ) ;
211
+
212
+ context ( 'when node is not in the preferred node list' , function ( ) {
213
+ it ( 'false should be returned' , function ( ) {
214
+ const packageJson = {
215
+ name : 'awesome-module' ,
216
+ version : '1.0.0' ,
217
+ description : 'description' ,
218
+ homepage : 'https://github.com/tclindner/npm-package-json-lint'
219
+ } ;
220
+ const preferredOrder = [
221
+ 'version' ,
222
+ 'keywords' ,
223
+ 'homepage'
224
+ ] ;
225
+ const response = propertyOrder . isInPreferredOrder ( packageJson , preferredOrder ) ;
226
+
227
+ response . status . should . be . false ;
228
+ response . msg . should . equal ( 'name is not in the preferred property list.' ) ;
66
229
} ) ;
67
230
} ) ;
68
231
} ) ;
0 commit comments