@@ -15,7 +15,8 @@ import { mockConsole } from '../../helpers.js';
1515import { Client } from '@vonage/server-client' ;
1616
1717const spinnerMock = jest . fn ( ) ;
18- const yargs = { exit : jest . fn ( ) } ;
18+ const exitMock = jest . fn ( ) ;
19+ const yargs = jest . fn ( ) . mockImplementation ( ( ) => ( { exit : exitMock } ) ) ;
1920
2021jest . unstable_mockModule ( 'yargs' , ( ) => ( { default : yargs } ) ) ;
2122jest . unstable_mockModule ( '../../../src/ux/spinner.js' , ( ) => ( { spinner : spinnerMock } ) ) ;
@@ -29,13 +30,12 @@ const makeSDK = (listAllApplications) => ({
2930describe ( 'Command: vonage apps' , ( ) => {
3031 beforeEach ( ( ) => {
3132 spinnerMock . mockReset ( ) ;
32- yargs . exit . mockReset ( ) ;
3333 spinnerMock . mockReturnValue ( { stop : jest . fn ( ) , fail : jest . fn ( ) } ) ;
3434 mockConsole ( ) ;
3535 } ) ;
3636
3737 test ( 'Will list applications when there are none' , async ( ) => {
38- const sdk = makeSDK ( async function * ( ) { yield * [ ] ; } ) ;
38+ const sdk = makeSDK ( async function * ( ) { yield * [ ] ; } ) ;
3939
4040 await handler ( { SDK : sdk } ) ;
4141
@@ -45,7 +45,7 @@ describe('Command: vonage apps', () => {
4545
4646 test ( 'Will list one application that does not have any capabilities' , async ( ) => {
4747 const app = getTestApp ( ) ;
48- const listAllApplications = jest . fn ( async function * ( ) { yield app ; } ) ;
48+ const listAllApplications = jest . fn ( async function * ( ) { yield app ; } ) ;
4949 const sdk = makeSDK ( listAllApplications ) ;
5050
5151 await handler ( { SDK : sdk } ) ;
@@ -77,7 +77,7 @@ describe('Command: vonage apps', () => {
7777 ) ,
7878 ) ;
7979 const appTwo = getTestApp ( ) ;
80- const sdk = makeSDK ( async function * ( ) { yield appOne ; yield appTwo ; } ) ;
80+ const sdk = makeSDK ( async function * ( ) { yield appOne ; yield appTwo ; } ) ;
8181
8282 await handler ( { SDK : sdk } ) ;
8383
@@ -99,7 +99,7 @@ describe('Command: vonage apps', () => {
9999 const appOne = getTestApp ( ) ;
100100 const appTwo = getTestApp ( ) ;
101101 const appThree = getTestApp ( ) ;
102- const sdk = makeSDK ( async function * ( ) { yield appOne ; yield appTwo ; yield appThree ; } ) ;
102+ const sdk = makeSDK ( async function * ( ) { yield appOne ; yield appTwo ; yield appThree ; } ) ;
103103
104104 await handler ( { SDK : sdk , appName : appTwo . name } ) ;
105105
@@ -119,7 +119,7 @@ describe('Command: vonage apps', () => {
119119 const appOne = addVoiceCapabilities ( getTestApp ( ) ) ;
120120 const appTwo = getTestApp ( ) ;
121121 const appThree = addVoiceCapabilities ( addMessagesCapabilities ( getTestApp ( ) ) ) ;
122- const sdk = makeSDK ( async function * ( ) { yield appOne ; yield appTwo ; yield appThree ; } ) ;
122+ const sdk = makeSDK ( async function * ( ) { yield appOne ; yield appTwo ; yield appThree ; } ) ;
123123
124124 await handler ( { SDK : sdk , capability : coerceCapability ( 'voice' ) } ) ;
125125
@@ -141,7 +141,7 @@ describe('Command: vonage apps', () => {
141141 const appOne = addVoiceCapabilities ( getTestApp ( ) ) ;
142142 const appTwo = getTestApp ( ) ;
143143 const appThree = addMessagesCapabilities ( getTestApp ( ) ) ;
144- const sdk = makeSDK ( async function * ( ) { yield appOne ; yield appTwo ; yield appThree ; } ) ;
144+ const sdk = makeSDK ( async function * ( ) { yield appOne ; yield appTwo ; yield appThree ; } ) ;
145145
146146 await handler ( { SDK : sdk , capability : coerceCapability ( 'voice,messages' ) } ) ;
147147
@@ -163,7 +163,7 @@ describe('Command: vonage apps', () => {
163163 const appOne = addVoiceCapabilities ( getTestApp ( ) ) ;
164164 const appTwo = addVoiceCapabilities ( addMessagesCapabilities ( getTestApp ( ) ) ) ;
165165 const appThree = addMessagesCapabilities ( getTestApp ( ) ) ;
166- const sdk = makeSDK ( async function * ( ) { yield appOne ; yield appTwo ; yield appThree ; } ) ;
166+ const sdk = makeSDK ( async function * ( ) { yield appOne ; yield appTwo ; yield appThree ; } ) ;
167167
168168 await handler ( { SDK : sdk , capability : coerceCapability ( 'voice+messages' ) } ) ;
169169
@@ -178,7 +178,7 @@ describe('Command: vonage apps', () => {
178178
179179 test ( 'Will output JSON' , async ( ) => {
180180 const app = getTestApp ( ) ;
181- const sdk = makeSDK ( async function * ( ) { yield app ; } ) ;
181+ const sdk = makeSDK ( async function * ( ) { yield app ; } ) ;
182182
183183 await handler ( { SDK : sdk , json : true } ) ;
184184
@@ -188,7 +188,7 @@ describe('Command: vonage apps', () => {
188188
189189 test ( 'Will output YAML' , async ( ) => {
190190 const app = getTestApp ( ) ;
191- const sdk = makeSDK ( async function * ( ) { yield app ; } ) ;
191+ const sdk = makeSDK ( async function * ( ) { yield app ; } ) ;
192192
193193 await handler ( { SDK : sdk , yaml : true } ) ;
194194
@@ -208,15 +208,15 @@ describe('Command: vonage apps', () => {
208208 } ) ;
209209
210210 test ( 'Will exit 99 when API calls fails' , async ( ) => {
211- const sdk = makeSDK ( async function * ( ) {
211+ const sdk = makeSDK ( async function * ( ) {
212212 yield * [ ] ;
213213 throw new Error ( 'API Error' ) ;
214214 } ) ;
215215
216216 await handler ( { SDK : sdk } ) ;
217217
218218 expect ( console . table ) . not . toHaveBeenCalled ( ) ;
219- expect ( yargs . exit ) . toHaveBeenCalledWith ( 99 ) ;
219+ expect ( exitMock ) . toHaveBeenCalledWith ( 99 ) ;
220220 } ) ;
221221} ) ;
222222
0 commit comments