linkedout/test/linkedout.test.js
2025-07-11 07:35:59 -08:00

30 lines
1.1 KiB
JavaScript

const fs = require("fs");
const assert = require("assert");
console.log("LinkedOut main logic tests");
const testData = JSON.parse(
fs.readFileSync(__dirname + "/test-data.json", "utf-8")
);
const results = testData.positive;
const rejected = testData.negative;
// Positive: All results should have aiProcessed === false or true, and a keyword
results.forEach((post, i) => {
assert(post.keyword, `Result ${i} missing keyword`);
assert(post.text && post.text.length > 0, `Result ${i} missing text`);
// Only check that profileLink is non-empty
assert(
post.profileLink && post.profileLink.length > 0,
`Result ${i} missing or empty profileLink`
);
});
console.log("PASS: All positive results have required fields.");
// Negative: Rejected results should have 'rejected: true' and a reason
rejected.forEach((rej, i) => {
assert(rej.rejected === true, `Rejected ${i} missing rejected:true`);
assert(rej.reason && rej.reason.length > 0, `Rejected ${i} missing reason`);
});
console.log("PASS: All rejected results have rejected:true and a reason.");