From 69b7d8afcade5e94f91d233fd9a56469403f8a4e Mon Sep 17 00:00:00 2001 From: Iain Sproat <68657+iainsproat@users.noreply.github.com> Date: Tue, 22 Apr 2025 10:36:15 +0100 Subject: [PATCH] tests(server): add test for case for getobjects when object is missing --- packages/server/modules/core/tests/rest.spec.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/server/modules/core/tests/rest.spec.js b/packages/server/modules/core/tests/rest.spec.js index b0eab607a..051540bd4 100644 --- a/packages/server/modules/core/tests/rest.spec.js +++ b/packages/server/modules/core/tests/rest.spec.js @@ -73,6 +73,7 @@ const { storePersonalApiTokenFactory } = require('@/modules/core/repositories/tokens') const { getServerInfoFactory } = require('@/modules/core/repositories/server') +const cryptoRandomString = require('crypto-random-string') const getServerInfo = getServerInfoFactory({ db }) const getUser = getUserFactory({ db }) @@ -501,6 +502,20 @@ describe('Upload/Download Routes @api-rest', () => { }) }) + it('Should return nothing if the object is not found', async () => { + const objectIds = [] + objectIds.push(cryptoRandomString({ length: 10 })) // random string that does not exist + + const res = await request(app) + .post(`/api/getobjects/${testStream.id}`) + .set('Authorization', userA.token) + .set('Accept', 'text/plain') + .send({ objects: JSON.stringify(objectIds) }) + .buffer() + expect(res).to.have.status(200) + expect(res.text).to.equal('') // empty response, as the object is not found + }) + it('Should return status code 400 when getting the list of objects and if it is not parseable', async () => { const response = await request(app) .post(`/api/getobjects/${testStream.id}`)