diff --git a/services/visual-studio-marketplace/visual-studio-marketplace-base.js b/services/visual-studio-marketplace/visual-studio-marketplace-base.js index 8a76b0a839..95acda7747 100644 --- a/services/visual-studio-marketplace/visual-studio-marketplace-base.js +++ b/services/visual-studio-marketplace/visual-studio-marketplace-base.js @@ -16,7 +16,7 @@ const extensionQuerySchema = Joi.object({ value: Joi.number().required(), }) ) - .required(), + .default([]), versions: Joi.array() .items( Joi.object({ diff --git a/services/visual-studio-marketplace/visual-studio-marketplace-downloads.tester.js b/services/visual-studio-marketplace/visual-studio-marketplace-downloads.tester.js index 555bd8bb8f..e78ee4489b 100644 --- a/services/visual-studio-marketplace/visual-studio-marketplace-downloads.tester.js +++ b/services/visual-studio-marketplace/visual-studio-marketplace-downloads.tester.js @@ -101,6 +101,35 @@ t.create('zero installs') color: 'red', }) +t.create('missing statistics array') + .get('/visual-studio-marketplace/i/swellaby.rust-pack.json') + .intercept(nock => + nock('https://marketplace.visualstudio.com/_apis/public/gallery/') + .post('/extensionquery/') + .reply(200, { + results: [ + { + extensions: [ + { + versions: [ + { + version: '1.0.0', + }, + ], + releaseDate: '2019-04-13T07:50:27.000Z', + lastUpdated: '2019-04-13T07:50:27.000Z', + }, + ], + }, + ], + }) + ) + .expectBadge({ + label: 'installs', + message: '0', + color: 'red', + }) + t.create('downloads') .get('/visual-studio-marketplace/d/swellaby.rust-pack.json') .intercept(nock =>