@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
50 lines • 7.15 kB
JavaScript
import { load } from "../../file_systems.mjs";
import { assert } from "chai";
import { Plugin, remapJo } from "../agenda-00002/index.mjs";
const id = "00002";
suite(`Plugin${id}`);
test(`#Plugin${id}`, async function () {
Object.assign(remapJo, {
RUANR5L15S2020IDS22089: "20200140"
});
const plugin = new Plugin({
cr: "src/bugs/agenda-00002"
});
const d = `src/bugs/agenda-${id}`;
for (const expectedStatus of ["will-be-fixed", "already-fixed", "ok", "needs-fixing"]) {
const f = `${d}/${expectedStatus}.json`;
const content = load(f);
await plugin.preCheck();
const r = await plugin.check(content, f);
assert.equal(r["status"], expectedStatus, `${f} returns ${r["status"]} ${r["info"]}`);
await plugin.postCheck({
f: r
});
assert.equal(r["status"], expectedStatus, `${f} returns ${r["status"]} ${r["info"]}`);
}
{
const f = `${d}/null.json`;
const content = load(f);
await plugin.preCheck();
const r = await plugin.check(content, f);
assert.equal(r, null, f);
}
});
test(`#Plugin${id}checkCandidates`, async function () {
const plugin = new Plugin({
cr: "src/bugs/agenda-00002"
});
const d = `src/bugs/agenda-${id}`;
const f = `${d}/RUANR5L15S2019IDS21272.json`;
await plugin.preCheck();
const content = load(f);
const r = await plugin.check(content, f);
assert.deepEqual(r["status"], "needs-fixing", f);
let analysis = {};
analysis[f] = {
"agenda-00002": r
};
await plugin.postCheck(analysis);
assert.deepEqual(analysis[f]["agenda-00002"]["info"][1], "src/bugs/agenda-00002/test_20190017.asp is a candidate", f);
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2FkIiwiYXNzZXJ0IiwiUGx1Z2luIiwicmVtYXBKbyIsImlkIiwic3VpdGUiLCJ0ZXN0IiwiT2JqZWN0IiwiYXNzaWduIiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA4OSIsInBsdWdpbiIsImNyIiwiZCIsImV4cGVjdGVkU3RhdHVzIiwiZiIsImNvbnRlbnQiLCJwcmVDaGVjayIsInIiLCJjaGVjayIsImVxdWFsIiwicG9zdENoZWNrIiwiZGVlcEVxdWFsIiwiYW5hbHlzaXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVncy9hZ2VuZGEtMDAwMDIvcGx1Z2luLnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9hZCB9IGZyb20gXCIuLi8uLi9maWxlX3N5c3RlbXNcIlxuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSBcImNoYWlcIlxuaW1wb3J0IHsgUGx1Z2luLCByZW1hcEpvIH0gZnJvbSBcIi4uL2FnZW5kYS0wMDAwMlwiXG5cbmNvbnN0IGlkID0gXCIwMDAwMlwiXG5cbnN1aXRlKGBQbHVnaW4ke2lkfWApXG5cbnRlc3QoYCNQbHVnaW4ke2lkfWAsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgT2JqZWN0LmFzc2lnbihyZW1hcEpvLCB7XG4gICAgUlVBTlI1TDE1UzIwMjBJRFMyMjA4OTogXCIyMDIwMDE0MFwiLFxuICB9KVxuXG4gIGNvbnN0IHBsdWdpbiA9IG5ldyBQbHVnaW4oeyBjcjogXCJzcmMvYnVncy9hZ2VuZGEtMDAwMDJcIiB9KVxuICBjb25zdCBkID0gYHNyYy9idWdzL2FnZW5kYS0ke2lkfWBcblxuICBmb3IgKGNvbnN0IGV4cGVjdGVkU3RhdHVzIG9mIFtcbiAgICBcIndpbGwtYmUtZml4ZWRcIixcbiAgICBcImFscmVhZHktZml4ZWRcIixcbiAgICBcIm9rXCIsXG4gICAgXCJuZWVkcy1maXhpbmdcIixcbiAgXSkge1xuICAgIGNvbnN0IGYgPSBgJHtkfS8ke2V4cGVjdGVkU3RhdHVzfS5qc29uYFxuICAgIGNvbnN0IGNvbnRlbnQgPSBsb2FkKGYpXG4gICAgYXdhaXQgcGx1Z2luLnByZUNoZWNrKClcbiAgICBjb25zdCByID0gYXdhaXQgcGx1Z2luLmNoZWNrKGNvbnRlbnQsIGYpXG4gICAgYXNzZXJ0LmVxdWFsKFxuICAgICAgcltcInN0YXR1c1wiXSxcbiAgICAgIGV4cGVjdGVkU3RhdHVzLFxuICAgICAgYCR7Zn0gcmV0dXJucyAke3JbXCJzdGF0dXNcIl19ICR7cltcImluZm9cIl19YCxcbiAgICApXG4gICAgYXdhaXQgcGx1Z2luLnBvc3RDaGVjayh7IGY6IHIgfSlcbiAgICBhc3NlcnQuZXF1YWwoXG4gICAgICByW1wic3RhdHVzXCJdLFxuICAgICAgZXhwZWN0ZWRTdGF0dXMsXG4gICAgICBgJHtmfSByZXR1cm5zICR7cltcInN0YXR1c1wiXX0gJHtyW1wiaW5mb1wiXX1gLFxuICAgIClcbiAgfVxuICB7XG4gICAgY29uc3QgZiA9IGAke2R9L251bGwuanNvbmBcbiAgICBjb25zdCBjb250ZW50ID0gbG9hZChmKVxuICAgIGF3YWl0IHBsdWdpbi5wcmVDaGVjaygpXG4gICAgY29uc3QgciA9IGF3YWl0IHBsdWdpbi5jaGVjayhjb250ZW50LCBmKVxuICAgIGFzc2VydC5lcXVhbChyLCBudWxsLCBmKVxuICB9XG59KVxuXG50ZXN0KGAjUGx1Z2luJHtpZH1jaGVja0NhbmRpZGF0ZXNgLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IHBsdWdpbiA9IG5ldyBQbHVnaW4oeyBjcjogXCJzcmMvYnVncy9hZ2VuZGEtMDAwMDJcIiB9KVxuICBjb25zdCBkID0gYHNyYy9idWdzL2FnZW5kYS0ke2lkfWBcblxuICBjb25zdCBmID0gYCR7ZH0vUlVBTlI1TDE1UzIwMTlJRFMyMTI3Mi5qc29uYFxuICBhd2FpdCBwbHVnaW4ucHJlQ2hlY2soKVxuICBjb25zdCBjb250ZW50ID0gbG9hZChmKVxuICBjb25zdCByID0gYXdhaXQgcGx1Z2luLmNoZWNrKGNvbnRlbnQsIGYpXG4gIGFzc2VydC5kZWVwRXF1YWwocltcInN0YXR1c1wiXSwgXCJuZWVkcy1maXhpbmdcIiwgZilcbiAgbGV0IGFuYWx5c2lzOiBhbnkgPSB7fVxuICBhbmFseXNpc1tmXSA9IHsgXCJhZ2VuZGEtMDAwMDJcIjogciB9XG4gIGF3YWl0IHBsdWdpbi5wb3N0Q2hlY2soYW5hbHlzaXMpXG4gIGFzc2VydC5kZWVwRXF1YWwoXG4gICAgYW5hbHlzaXNbZl1bXCJhZ2VuZGEtMDAwMDJcIl1bXCJpbmZvXCJdWzFdLFxuICAgIFwic3JjL2J1Z3MvYWdlbmRhLTAwMDAyL3Rlc3RfMjAxOTAwMTcuYXNwIGlzIGEgY2FuZGlkYXRlXCIsXG4gICAgZixcbiAgKVxufSlcbiJdLCJtYXBwaW5ncyI6IlNBQVNBLElBQUk7QUFDYixTQUFTQyxNQUFNLFFBQVEsTUFBTTtBQUFBLFNBQ3BCQyxNQUFNLEVBQUVDLE9BQU87QUFFeEIsTUFBTUMsRUFBRSxHQUFHLE9BQU87QUFFbEJDLEtBQUssQ0FBQyxTQUFTRCxFQUFFLEVBQUUsQ0FBQztBQUVwQkUsSUFBSSxDQUFDLFVBQVVGLEVBQUUsRUFBRSxFQUFFLGtCQUFrQjtFQUNyQ0csTUFBTSxDQUFDQyxNQUFNLENBQUNMLE9BQU8sRUFBRTtJQUNyQk0sc0JBQXNCLEVBQUU7RUFDMUIsQ0FBQyxDQUFDO0VBRUYsTUFBTUMsTUFBTSxHQUFHLElBQUlSLE1BQU0sQ0FBQztJQUFFUyxFQUFFLEVBQUU7RUFBd0IsQ0FBQyxDQUFDO0VBQzFELE1BQU1DLENBQUMsR0FBRyxtQkFBbUJSLEVBQUUsRUFBRTtFQUVqQyxLQUFLLE1BQU1TLGNBQWMsSUFBSSxDQUMzQixlQUFlLEVBQ2YsZUFBZSxFQUNmLElBQUksRUFDSixjQUFjLENBQ2YsRUFBRTtJQUNELE1BQU1DLENBQUMsR0FBRyxHQUFHRixDQUFDLElBQUlDLGNBQWMsT0FBTztJQUN2QyxNQUFNRSxPQUFPLEdBQUdmLElBQUksQ0FBQ2MsQ0FBQyxDQUFDO0lBQ3ZCLE1BQU1KLE1BQU0sQ0FBQ00sUUFBUSxDQUFDLENBQUM7SUFDdkIsTUFBTUMsQ0FBQyxHQUFHLE1BQU1QLE1BQU0sQ0FBQ1EsS0FBSyxDQUFDSCxPQUFPLEVBQUVELENBQUMsQ0FBQztJQUN4Q2IsTUFBTSxDQUFDa0IsS0FBSyxDQUNWRixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQ1hKLGNBQWMsRUFDZCxHQUFHQyxDQUFDLFlBQVlHLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUMxQyxDQUFDO0lBQ0QsTUFBTVAsTUFBTSxDQUFDVSxTQUFTLENBQUM7TUFBRU4sQ0FBQyxFQUFFRztJQUFFLENBQUMsQ0FBQztJQUNoQ2hCLE1BQU0sQ0FBQ2tCLEtBQUssQ0FDVkYsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUNYSixjQUFjLEVBQ2QsR0FBR0MsQ0FBQyxZQUFZRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUlBLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDMUMsQ0FBQztFQUNIO0VBQ0E7SUFDRSxNQUFNSCxDQUFDLEdBQUcsR0FBR0YsQ0FBQyxZQUFZO0lBQzFCLE1BQU1HLE9BQU8sR0FBR2YsSUFBSSxDQUFDYyxDQUFDLENBQUM7SUFDdkIsTUFBTUosTUFBTSxDQUFDTSxRQUFRLENBQUMsQ0FBQztJQUN2QixNQUFNQyxDQUFDLEdBQUcsTUFBTVAsTUFBTSxDQUFDUSxLQUFLLENBQUNILE9BQU8sRUFBRUQsQ0FBQyxDQUFDO0lBQ3hDYixNQUFNLENBQUNrQixLQUFLLENBQUNGLENBQUMsRUFBRSxJQUFJLEVBQUVILENBQUMsQ0FBQztFQUMxQjtBQUNGLENBQUMsQ0FBQztBQUVGUixJQUFJLENBQUMsVUFBVUYsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0I7RUFDcEQsTUFBTU0sTUFBTSxHQUFHLElBQUlSLE1BQU0sQ0FBQztJQUFFUyxFQUFFLEVBQUU7RUFBd0IsQ0FBQyxDQUFDO0VBQzFELE1BQU1DLENBQUMsR0FBRyxtQkFBbUJSLEVBQUUsRUFBRTtFQUVqQyxNQUFNVSxDQUFDLEdBQUcsR0FBR0YsQ0FBQyw4QkFBOEI7RUFDNUMsTUFBTUYsTUFBTSxDQUFDTSxRQUFRLENBQUMsQ0FBQztFQUN2QixNQUFNRCxPQUFPLEdBQUdmLElBQUksQ0FBQ2MsQ0FBQyxDQUFDO0VBQ3ZCLE1BQU1HLENBQUMsR0FBRyxNQUFNUCxNQUFNLENBQUNRLEtBQUssQ0FBQ0gsT0FBTyxFQUFFRCxDQUFDLENBQUM7RUFDeENiLE1BQU0sQ0FBQ29CLFNBQVMsQ0FBQ0osQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFBRUgsQ0FBQyxDQUFDO0VBQ2hELElBQUlRLFFBQWEsR0FBRyxDQUFDLENBQUM7RUFDdEJBLFFBQVEsQ0FBQ1IsQ0FBQyxDQUFDLEdBQUc7SUFBRSxjQUFjLEVBQUVHO0VBQUUsQ0FBQztFQUNuQyxNQUFNUCxNQUFNLENBQUNVLFNBQVMsQ0FBQ0UsUUFBUSxDQUFDO0VBQ2hDckIsTUFBTSxDQUFDb0IsU0FBUyxDQUNkQyxRQUFRLENBQUNSLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN0Qyx3REFBd0QsRUFDeERBLENBQ0YsQ0FBQztBQUNILENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==