2022-03-24 17:38:49 +01:00
|
|
|
const test = require("tap").test;
|
|
|
|
const rangi = require("rangi");
|
|
|
|
|
2022-03-25 11:14:35 +01:00
|
|
|
const lib = require("../../lib");
|
|
|
|
const conf = require("../../config");
|
2022-03-24 17:38:49 +01:00
|
|
|
|
2022-03-25 11:14:35 +01:00
|
|
|
test("Initial Menu", async (t) => {
|
2022-03-24 17:38:49 +01:00
|
|
|
const sessionId = lib.newSession();
|
|
|
|
|
|
|
|
t.plan(3);
|
|
|
|
|
|
|
|
t.test("Display menu and Sarafu balance", async (t) => {
|
2022-03-25 11:14:35 +01:00
|
|
|
await lib.wait(conf.test.waitNextMenu);
|
|
|
|
const r = await lib.ussdClient(conf.user.ussdPhone, sessionId);
|
2022-03-24 17:38:49 +01:00
|
|
|
console.log(rangi.cyan(r.text));
|
|
|
|
|
|
|
|
t.equal(r.code, "CON");
|
|
|
|
t.match(r.text, /Balance/g);
|
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
|
|
|
|
t.test("Go to help menu", async (t) => {
|
2022-03-25 11:14:35 +01:00
|
|
|
await lib.wait(conf.test.waitNextMenu);
|
|
|
|
const r = await lib.ussdClient(conf.user.ussdPhone, sessionId, "4");
|
2022-03-24 17:38:49 +01:00
|
|
|
console.log(rangi.cyan(r.text));
|
|
|
|
|
|
|
|
t.equal(r.code, "CON");
|
|
|
|
t.match(r.text, /assistance/g);
|
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
|
|
|
|
t.test("Exit", async (t) => {
|
2022-03-25 11:14:35 +01:00
|
|
|
await lib.wait(conf.test.waitNextMenu);
|
|
|
|
const r = await lib.ussdClient(conf.user.ussdPhone, sessionId, "4*99");
|
2022-03-24 17:38:49 +01:00
|
|
|
console.log(rangi.cyan(r.text));
|
|
|
|
|
|
|
|
t.equal(r.code, "END");
|
|
|
|
t.match(r.text, /Thank/g);
|
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
});
|