message-extractor.js 2.72 KB
/* global describe it */

// eslint-disable-next-line no-unused-vars
const should = require('should');
const finder = require('../lib/message-extractor');
const organicRules = require('../lib/pattern-rules');

describe('#message-extractor', () => {
    it('should handle garbage input', () => {
        should.not.exists(finder(null, null, '39A9909D'));
        should.not.exists(finder(null, '', '8C046E19'));
        should.not.exists(finder(null, 'ada', '4154D1DC'));
        should.not.exists(finder([], 'ada'), '5511A78C');
    });

    it('should return correct sn', () => {
        finder(
            organicRules.sn,
            'SN=3438-2805-5518-4885-2577/A HANIS SACHRA/R1 /1300 VA/31,5;05/07/21 19:05 TRANSAKSI PLNB50 KE 14336230686, (ISO00) BERHASIL. SAL=RP 75.856.585 ,HRG=RP 50.020 ,ID=91280176,SN=3438-2805-5518-4885-2577/A HANIS SACHRA/R1 /1300 VA/31,5@,REQID=2794362 *Channel Telegram : https://t.me/metroreloadinfoh2h',
            false,
        ).should.equal('3438-2805-5518-4885-2577/A HANIS SACHRA/R1 /1300 VA/31,5', 'ST24 metro-reload 5B164B64');

        finder(
            organicRules.sn,
            'ISI TS10 KE 082324881979 , SUKSES. SAL=489700,HRG=10300,ID=1625459089388,SN=0061003777417733',
            false,
        ).should.equal('0061003777417733', 'PLINK 00FC0A03');
    });

    it('should return correct price', () => {
        finder(
            organicRules.price,
            'SN=3438-2805-5518-4885-2577/A HANIS SACHRA/R1 /1300 VA/31,5;05/07/21 19:05 TRANSAKSI PLNB50 KE 14336230686, (ISO00) BERHASIL. SAL=RP 75.856.585 ,HRG=RP 50.020 ,ID=91280176,SN=3438-2805-5518-4885-2577/A HANIS SACHRA/R1 /1300 VA/31,5@,REQID=2794362 *Channel Telegram : https://t.me/metroreloadinfoh2h',
            false,
        ).should.equal('50020', 'ST24 metro-reload 572DAAE1');

        finder(
            organicRules.price,
            'ISI TS10 KE 082324881979 , SUKSES. SAL=489700,HRG=10300,ID=1625459089388,SN=0061003777417733',
            false,
        ).should.equal('10300', 'PLINK DB7F7B1C');
    });

    it('should return correct ending balance', () => {
        finder(
            organicRules.balance,
            'SN=3438-2805-5518-4885-2577/A HANIS SACHRA/R1 /1300 VA/31,5;05/07/21 19:05 TRANSAKSI PLNB50 KE 14336230686, (ISO00) BERHASIL. SAL=RP 75.856.585 ,HRG=RP 50.020 ,ID=91280176,SN=3438-2805-5518-4885-2577/A HANIS SACHRA/R1 /1300 VA/31,5@,REQID=2794362 *Channel Telegram : https://t.me/metroreloadinfoh2h',
            false,
        ).should.equal('75856585', 'ST24 metro-reload 5E6CA14F');

        finder(
            organicRules.balance,
            'ISI TS10 KE 082324881979 , SUKSES. SAL=489700,HRG=10300,ID=1625459089388,SN=0061003777417733',
            false,
        ).should.equal('489700', 'PLINK 29C24CEA');
    });
});