1
1
'use strict'
2
2
3
+ const figgyPudding = require ( 'figgy-pudding' )
3
4
const { log } = require ( 'libnpm' )
4
5
const { test } = require ( 'tap' )
5
6
const tnock = require ( './util/tnock.js' )
@@ -28,16 +29,19 @@ const cache = {
28
29
}
29
30
30
31
log . level = process . env . LOGLEVEL || 'silent'
31
- const OPTS = {
32
+ const OPTS = figgyPudding ( {
33
+ registry : { } ,
34
+ log : { } ,
35
+ loglevel : { }
36
+ } , { other ( ) { return true } } ) ( {
32
37
registry : 'https://mock.reg' ,
33
38
log,
34
39
loglevel : log . level
35
- }
40
+ } )
36
41
37
42
const deprecate = require ( '../lib/commands/deprecate.js' )
38
43
39
44
test ( 'tink deprecate an unscoped package' , async t => {
40
- // Clone cache and modify it for this test
41
45
const deprecated = JSON . parse ( JSON . stringify ( cache ) )
42
46
deprecated . versions = {
43
47
'0.0.0' : { } ,
@@ -46,9 +50,10 @@ test('tink deprecate an unscoped package', async t => {
46
50
}
47
51
48
52
// Clone OPTS and modify it for this test
49
- const opts = JSON . parse ( JSON . stringify ( OPTS ) )
50
- opts [ 'pkg@version' ] = `${ deprecated . name } @0.0.1`
51
- opts . message = deprecated . versions [ '0.0.1' ] . deprecated
53
+ const opts = OPTS . concat ( {
54
+ 'pkg@version' : `${ deprecated . name } @0.0.1` ,
55
+ message : deprecated . versions [ '0.0.1' ] . deprecated
56
+ } )
52
57
53
58
// Setup mock registry server
54
59
tnock ( t , opts . registry ) . get ( '/cond?write=true' ) . reply ( 200 , cache )
@@ -74,9 +79,10 @@ test('tink deprecate a scoped package', async t => {
74
79
}
75
80
76
81
// Clone OPTS and modify it for this test
77
- const opts = JSON . parse ( JSON . stringify ( OPTS ) )
78
- opts [ 'pkg@version' ] = `${ deprecated . name } @0.0.1`
79
- opts . message = deprecated . versions [ '0.0.1' ] . deprecated
82
+ const opts = OPTS . concat ( {
83
+ 'pkg@version' : `${ deprecated . name } @0.0.1` ,
84
+ message : deprecated . versions [ '0.0.1' ] . deprecated
85
+ } )
80
86
81
87
// Setup mock registry server
82
88
tnock ( t , opts . registry ) . get ( '/@scope%2fcond?write=true' ) . reply ( 200 , cacheCopy )
@@ -99,9 +105,10 @@ test('tink deprecate semver range', async t => {
99
105
}
100
106
101
107
// Clone OPTS and modify it for this test
102
- const opts = JSON . parse ( JSON . stringify ( OPTS ) )
103
- opts [ 'pkg@version' ] = `${ deprecated . name } @<0.0.2`
104
- opts . message = deprecated . versions [ '0.0.1' ] . deprecated
108
+ const opts = OPTS . concat ( {
109
+ 'pkg@version' : `${ deprecated . name } @<0.0.2` ,
110
+ message : deprecated . versions [ '0.0.1' ] . deprecated
111
+ } )
105
112
106
113
// Setup mock registry server
107
114
tnock ( t , opts . registry ) . get ( '/cond?write=true' ) . reply ( 200 , cache )
@@ -116,9 +123,10 @@ test('tink deprecate semver range', async t => {
116
123
117
124
test ( 'tink deprecate bad semver range' , async t => {
118
125
// Clone OPTS and modify it for this test
119
- const opts = JSON . parse ( JSON . stringify ( OPTS ) )
120
- opts [ 'pkg@version' ] = `${ cache . name } @-9001`
121
- opts . message = 'make it dead'
126
+ const opts = OPTS . concat ( {
127
+ 'pkg@version' : `${ cache . name } @-9001` ,
128
+ message : 'make it dead'
129
+ } )
122
130
123
131
// Test that an exception is thrown
124
132
t . rejects ( deprecate . handler ( opts ) , 'invalid version range: -9001' )
@@ -134,9 +142,10 @@ test('tink deprecate a package with no semver range', async t => {
134
142
}
135
143
136
144
// Clone OPTS and modify it for this test
137
- const opts = JSON . parse ( JSON . stringify ( OPTS ) )
138
- opts [ 'pkg@version' ] = deprecated . name
139
- opts . message = deprecated . versions [ '0.0.0' ] . deprecated
145
+ const opts = OPTS . concat ( {
146
+ 'pkg@version' : deprecated . name ,
147
+ message : deprecated . versions [ '0.0.0' ] . deprecated
148
+ } )
140
149
141
150
// Setup mock registry server
142
151
tnock ( t , opts . registry ) . get ( '/cond?write=true' ) . reply ( 200 , cache )
0 commit comments