From ede02eaa8ca5763d310c2c995e2249ff33c04997 Mon Sep 17 00:00:00 2001 From: Michael C Date: Mon, 5 Jul 2021 20:01:10 -0400 Subject: [PATCH] add hashedVideoID to lockCategories --- src/routes/postLockCategories.ts | 6 ++++- test/cases/lockCategoriesRecords.ts | 38 +++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/routes/postLockCategories.ts b/src/routes/postLockCategories.ts index a328367..767fba3 100644 --- a/src/routes/postLockCategories.ts +++ b/src/routes/postLockCategories.ts @@ -3,6 +3,7 @@ import {getHash} from '../utils/getHash'; import {isUserVIP} from '../utils/isUserVIP'; import {db} from '../databases/databases'; import {Request, Response} from 'express'; +import { VideoIDHash } from "../types/segments.model"; export async function postLockCategories(req: Request, res: Response): Promise { // Collect user input data @@ -56,10 +57,13 @@ export async function postLockCategories(req: Request, res: Response): Promise { }) .catch(err => done(err)); }); + + it('should be able to get existing category lock', (done: Done) => { + const expected = { + categories: [ + 'sponsor', + 'intro', + 'outro', + 'shilling' + ], + }; + + fetch(getbaseURL() + "/api/lockCategories?videoID=" + "no-segments-video-id") + .then(async res => { + if (res.status === 200) { + const data = await res.json(); + if (JSON.stringify(data) === JSON.stringify(expected)) { + done(); + } else { + done("Incorrect response: expected " + JSON.stringify(expected) + " got " + JSON.stringify(data)); + } + } else { + done("Status code was " + res.status); + } + }) + .catch(err => done(err)); + }); + + it('Should be able to get hashedVideoID from lock', (done: Done) => { + const hashedVideoID = getHash('no-segments-video-id', 1); + db.prepare('get', 'SELECT "hashedVideoID" FROM "lockCategories" WHERE "videoID" = ?', ['no-segments-video-id']) + .then(result => { + if (result !== hashedVideoID) { + done(); + } else { + done("Got unexpected video hash " + result); + } + }); + }); });