diff --git a/httppulsakita.js b/httppulsakita.js index 2dff8f7..b220185 100644 --- a/httppulsakita.js +++ b/httppulsakita.js @@ -11,8 +11,13 @@ var sleep_before_retry = 3000; process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; -function parseSN(message) { - var sn_regex = new RegExp(config.h2h_out.sn_pattern); +function parseSN(message, _config) { + + if (!_config) { + _config = config; + } + + var sn_regex = new RegExp(_config.h2h_out.sn_pattern); var sn_match = message.match(sn_regex); if (sn_match <= 0) { @@ -21,7 +26,7 @@ function parseSN(message) { } var sn = sn_match[0]; - var sn_remove_patterns = config.h2h_out.sn_remove_patterns.split(config.h2h_out.sn_remove_patterns_separator); + var sn_remove_patterns = _config.h2h_out.sn_remove_patterns.split(_config.h2h_out.sn_remove_patterns_separator); var count = sn_remove_patterns.length; @@ -152,32 +157,6 @@ function start(_config, _callbackReport) { callbackReport = _callbackReport } -function parseSN(message) { - var sn_regex = new RegExp(config.h2h_out.sn_pattern); - var sn_match = message.match(sn_regex); - - //console.log('SN MATCH:'); - //console.log(sn_match); - - if (sn_match <= 0) { - console.log('SN Not found: ' + message); - return ''; - } - - var sn = sn_match[0]; - var sn_remove_patterns = config.h2h_out.sn_remove_patterns.split(config.h2h_out.sn_remove_patterns_separator); - //console.log('SN REMOVE PATTERNS:'); - //console.log (sn_remove_patterns); - - var count = sn_remove_patterns.length; - - for(var i = 0; i < count; i++) { - sn = sn.replace(sn_remove_patterns[i], ''); - } - - return sn.trim(); -} - function parseResult(message) { var data; xml(message, function(err, result) { diff --git a/test.js b/test.js index 1efadfd..18ca5ee 100644 --- a/test.js +++ b/test.js @@ -47,15 +47,23 @@ Sisa saldo Rp. 5,000,000 - Rp. 18,700 = Rp. 4,981,300</pesan></respon>'; }); }); - /* + describe("parseSN()", function() { + config = { + h2h_out: { + parse_sn: 'YES', + sn_pattern: 'refnum \\w* pada', + sn_remove_patterns_separator: '|', + sn_remove_patterns: 'refnum | pada' + } + }; message = "#14837 XR5 ke:081809903333 SUKSES. Isi pulsa XR5 berhasil untuk nomor 6281809903333 sebesar 5.000, refnum B93D0792A47841AE03B0000000000000 pada tgl 16/06/15 15:47. \ Sisa saldo Rp. 4,981,300 - Rp. 5,250 = Rp. 4,976,050"; it ('should return B93D0792A47841AE03B0000000000000', function() { - assert.equal('B93D0792A47841AE03B0000000000000', parseSN(message)); + assert.equal('B93D0792A47841AE03B0000000000000', partner.parseSN(message, config)); }); }); - */ + });