tap-telco-api
Version:
hSenid Mobile Solutions TAP telco api, module for NodeJS.
158 lines (138 loc) • 4.97 kB
JavaScript
var ussd = require("../lib/tap.js").ussd;
var assert = require('chai').assert;
describe("Session flow should work", function(){
it("Session flow ", function(){
var appConfig = {
applicationId : "APP_000101",
password : "password"
};
var config = { stdTTL: 100, checkperiod: 120 };
var flow = {
'index' : {
message : function(req, ctx){
return {message : "Welcome to node tap info \n1. Source Location \n2. Report Issue \n99. End"}
},
handle : function(req, ctx) {
if(req.message === "1") {
ctx.view = 'source'
}
if(req.message === "2") {
ctx.view = 'report'
}
if (req.message === "99"){
ctx.view = "end"
}
}
},
'source' : {
message : function(req, ctx){
return {message : "https://github.com/isuruanu/node-tap-telco-api.git \n0. Back\n99. End"}
},
handle : function(req, ctx) {
if(req.message === "0") {
ctx.view = "index"
}
if (req.message === "99"){
ctx.view = "end"
}
}
},
'report' : {
message : function(req, ctx){
return {message : "https://github.com/isuruanu/node-tap-telco-api/issues \n0. Back\n99. End"}
},
handle : function(req, ctx) {
if(req.message === "0") {
ctx.view = "index"
}
if (req.message === "99"){
ctx.view = "end"
}
}
},
'end' : {
message : function(req, ctx){
return {message : "Bye Bye", end:true}
}
}
};
var sessions = ussd.sessions(flow, config, appConfig);
/* sessions.resolve( {
message: "*141#",
ussdOperation: "mo-cont",
requestId: "1330933229901",
sessionId: "1330929317043",
encoding: "440",
sourceAddress: "tel:94232323232",
applicationId: "APP_000001",
version: "1.0"
}, function(ussdMtRequest){
assert.equal(ussdMtRequest.ussdOperation, "mt-fin")
})*/
sessions.resolve( {
message: "*141#",
ussdOperation: "mo-init",
requestId: "1330933229901",
sessionId: "1330929317043",
encoding: "440",
sourceAddress: "tel:94232323232",
applicationId: "APP_000001",
version: "1.0"
}, function(ussdMtRequest){
console.log(ussdMtRequest)
assert.equal(ussdMtRequest.ussdOperation, "mt-cont")
})
sessions.resolve( {
message: "1",
ussdOperation: "mo-cont",
requestId: "1330933229901",
sessionId: "1330929317043",
encoding: "440",
sourceAddress: "tel:94232323232",
applicationId: "APP_000001",
version: "1.0"
}, function(ussdMtRequest){
console.log(ussdMtRequest)
assert.equal(ussdMtRequest.ussdOperation, "mt-cont")
})
sessions.resolve( {
message: "0",
ussdOperation: "mo-cont",
requestId: "1330933229901",
sessionId: "1330929317043",
encoding: "440",
sourceAddress: "tel:94232323232",
applicationId: "APP_000001",
version: "1.0"
}, function(ussdMtRequest){
console.log(ussdMtRequest)
assert.equal(ussdMtRequest.ussdOperation, "mt-cont")
})
sessions.resolve( {
message: "2",
ussdOperation: "mo-cont",
requestId: "1330933229901",
sessionId: "1330929317043",
encoding: "440",
sourceAddress: "tel:94232323232",
applicationId: "APP_000001",
version: "1.0"
}, function(ussdMtRequest){
console.log(ussdMtRequest)
assert.equal(ussdMtRequest.ussdOperation, "mt-cont")
})
sessions.resolve( {
message: "99",
ussdOperation: "mo-cont",
requestId: "1330933229901",
sessionId: "1330929317043",
encoding: "440",
sourceAddress: "tel:94232323232",
applicationId: "APP_000001",
version: "1.0"
}, function(ussdMtRequest){
console.log(ussdMtRequest)
assert.equal(ussdMtRequest.ussdOperation, "mt-fin")
})
})
});