diff --git a/src/routes/getSkipSegmentsByHash.js b/src/routes/getSkipSegmentsByHash.js index 23a9167..28131b6 100644 --- a/src/routes/getSkipSegmentsByHash.js +++ b/src/routes/getSkipSegmentsByHash.js @@ -20,10 +20,6 @@ module.exports = async function (req, res) { // Get all video id's that match hash prefix const videoIds = db.prepare('all', 'SELECT DISTINCT videoId, hashedVideoID from sponsorTimes WHERE hashedVideoID LIKE ?', [hashPrefix+'%']); - if (videoIds.length === 0) { - res.sendStatus(404); - return; - } let segments = videoIds.map((video) => { return { @@ -33,5 +29,5 @@ module.exports = async function (req, res) { }; }); - res.status(200).json(segments); + res.status((segments.length === 0) ? 404 : 200).json(segments); } \ No newline at end of file diff --git a/test/cases/getSegmentsByHash.js b/test/cases/getSegmentsByHash.js index 2704b61..ed4f819 100644 --- a/test/cases/getSegmentsByHash.js +++ b/test/cases/getSegmentsByHash.js @@ -40,14 +40,15 @@ describe('getSegmentsByHash', () => { }); }); - it('Should be able to get a 404 if no videos', (done) => { + it('Should be able to get an empty array if no videos', (done) => { request.get(utils.getbaseURL() + '/api/skipSegments/11111?categories=["shilling"]', null, (err, res, body) => { if (err) done("Couldn't call endpoint"); else if (res.statusCode !== 404) done("non 404 status code, was " + res.statusCode); else { - done(); // pass + if (JSON.parse(body).length === 0 && body === '[]') done(); // pass + else done("non empty array returned"); } }); });