cvsa/test/db/videoTagIsNull.test.ts
alikia2x 471a522d05
update: getVideoTags with NetScheduler
improve: extracted PostgreSQL config
2025-02-11 00:37:40 +08:00

34 lines
1.2 KiB
TypeScript

import { assertEquals } from "jsr:@std/assert";
import { videoTagsIsNull } from "lib/db/allData.ts";
import { Client } from "https://deno.land/x/postgres@v0.19.3/mod.ts";
import { postgresConfig } from "lib/db/pgConfig.ts";
// A minimal aid which has an empty tags field in our database
const TEST_AID = 63569;
Deno.test("videoTagsIsNull function", async () => {
const client = new Client(postgresConfig);
try {
const transaction = client.createTransaction("test_transaction");
await transaction.begin();
const result1 = await videoTagsIsNull(transaction, TEST_AID);
assertEquals(typeof result1, "boolean", "The result should be a boolean value.");
assertEquals(result1, false, "The result should be false if tags is not NULL for the given aid.");
await transaction.queryArray`UPDATE all_data SET tags = NULL WHERE aid = ${TEST_AID}`;
const result2 = await videoTagsIsNull(transaction, TEST_AID);
assertEquals(typeof result2, "boolean", "The result should be a boolean value.");
assertEquals(result2, true, "The result should be true if tags is NULL for the given aid.");
await transaction.rollback();
} catch (error) {
console.error("Error during test:", error);
throw error;
} finally {
client.end();
}
});