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.");