30 lines
1.1 KiB
JavaScript
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.");
|