From a3e290ce3e9a34f8bcd88ef533d05ab60f3b9b04 Mon Sep 17 00:00:00 2001 From: LouieBHLu Date: Thu, 30 Nov 2023 20:06:24 -0500 Subject: [PATCH] add some test --- client_info_mgt/client_info_mgt.js | 51 +++++++++++------------------ test/client_info_mgt.test.js | 3 +- user_data.db | Bin 12288 -> 12288 bytes 3 files changed, 22 insertions(+), 32 deletions(-) diff --git a/client_info_mgt/client_info_mgt.js b/client_info_mgt/client_info_mgt.js index 1084175..17ade83 100644 --- a/client_info_mgt/client_info_mgt.js +++ b/client_info_mgt/client_info_mgt.js @@ -1,9 +1,5 @@ const sqlite3 = require('sqlite3').verbose(); -let db = new sqlite3.Database('./user_data.db', (err) => { - if (err) { - console.error(err.message); - } -}); +let db = new sqlite3.Database('./user_data.db'); // Introduce a new client ID to differentiate between multiple instances of a client db.serialize(() => { @@ -47,21 +43,21 @@ const extractKeywords = async function (queryContent, userPreference, keywords_l * @param {object} model - The language model to use for extraction. * @returns {Promise} - A Promise that resolves to the extracted keywords. */ -const extractKeywords_text = async function (text, keywords_list, model) { - console.log("extracting keywords..."); - const keywordsString = "[" + keywords_list.join(", ") + "]"; +// const extractKeywords_text = async function (text, keywords_list, model) { +// console.log("extracting keywords..."); +// const keywordsString = "[" + keywords_list.join(", ") + "]"; - const formattedPrompt = ` - Given the text: ${text}, - select one or a few keywords from ${keywordsString}, - return with comma as separator.`; +// const formattedPrompt = ` +// Given the text: ${text}, +// select one or a few keywords from ${keywordsString}, +// return with comma as separator.`; - // console.log(formattedPrompt); +// // console.log(formattedPrompt); - const res = await model.call(formattedPrompt); - console.log("Done") - return res; -} +// const res = await model.call(formattedPrompt); +// console.log("Done") +// return res; +// } /** * Store user data in the database. @@ -74,15 +70,11 @@ const extractKeywords_text = async function (text, keywords_list, model) { * @returns {Promise} - A Promise that resolves when data is stored successfully. */ const storeUserData = async function (clientId, userId, userPreference, queryContent, keywords) { - return new Promise((resolve, reject) => { + return new Promise((resolve) => { db.run("INSERT OR REPLACE INTO user_data (clientId, userId, userPreference, queryContent, keywords) VALUES (?, ?, ?, ?, ?)", [clientId, userId, userPreference, queryContent, keywords], - function (err) { - if (err) { - reject(err); - } else { - resolve(); - } + function () { + resolve(); } ); }); @@ -95,17 +87,14 @@ const storeUserData = async function (clientId, userId, userPreference, queryCon * @returns {Promise} - A Promise that resolves to the user data retrieved from the database. */ const getUserData = async function (clientId) { - return new Promise((resolve, reject) => { + return new Promise((resolve) => { db.get("SELECT * FROM user_data WHERE clientId = ?", [clientId], (err, row) => { - if (err) { - reject(err); - } else { - resolve(row); - } + resolve(row); }); }); } + /** * Handle a user query, extracting keywords and updating user data. * @@ -143,7 +132,7 @@ const handleUserQuery = async function (clientId, userId, queryContent, newPrefe module.exports = { extractKeywords, - extractKeywords_text, + // extractKeywords_text, storeUserData, getUserData, handleUserQuery, diff --git a/test/client_info_mgt.test.js b/test/client_info_mgt.test.js index a45e296..4b08d75 100644 --- a/test/client_info_mgt.test.js +++ b/test/client_info_mgt.test.js @@ -55,7 +55,8 @@ describe('Test client_info_mgt.js functions', () => { keywords_list, model ); - + + expect(keywords).toContain('smartphone'); console.log(keywords); }); diff --git a/user_data.db b/user_data.db index 4c1fbda0d9bb4de5bc6f8328517c7562577abc60..71d304d7dbfeed397c407616888d8e4ee047c6a6 100644 GIT binary patch delta 173 zcmZojXh@hK%~&;2#+k8dW5ObSt_ciG{0@x#4*csj7B=ur?vb0O#($h41c(E~6%Bop za~K#Hri)8Dx+mvkrskCxmHJh%NrPl2cgUMcrzfVQrXU-)?| NxtXOIAvPIS0078uHf8_- delta 192 zcmZojXh@hK%@{LL#+fl@W5ObSuHy_${CbT14g7i=3mf<*_sC5X$t(6wtt`(kN-4Hd z2#98r7MFDNocu#hOCzsXFSWENzaUjdp(MYwD6=?MM-Ze%@$qW@$!LR&z6?N2