diff --git a/test/main.js b/test/main.js index 446db31..1593a10 100644 --- a/test/main.js +++ b/test/main.js @@ -107,36 +107,54 @@ describe('#irs', function() { .should.equal('NAMA:MASJID-NURUL-IMAN/DAYA:900/TARIF:S2/JMLBLN:1BLN/PERIODE:201912/METERKINI:19627/METERLALU:19428/TAGIHAN:79340/ADM:2500/DENDA:0/TOTALTAGIHAN:81840'); }); - it('should return correct result with custom pattern', () => { - irs.getDetailFromMessage( - 'Cek Tagihan PLN SUKSES ke 520550410074, REFID: 520550410074/MASJID.. KATEGORI:S2/900 , PERIODE:092020, JUMLAH:1, TOTAL TAGIHAN : 72.010', + it('should return correct result with tajira response', () => { + const detailPattern = { + pattern: '(REFID: .*?)($|(, *SALDO))', + match_idx: 1, + }; + + const detailReplacements = [ { - pattern: '(REFID: .*)$', - match_idx: 1, + pattern: ' *\\.\\.+ *', + replacement: '/', + flags: 'g', }, - [ - { - pattern: ' *\\.\\.+ *', - replacement: '/', - flags: 'g', - }, - { - pattern: ' *, *', - replacement: '/', - flags: 'g', - }, - { - pattern: ' *: *', - replacement: ':', - flags: 'g', - }, - { - pattern: 'TOTAL TAGIHAN*', - replacement: 'TOTALTAGIHAN', - }, - ] - ) - .should.equal('REFID:520550410074/MASJID/KATEGORI:S2/900/PERIODE:092020/JUMLAH:1/TOTALTAGIHAN:72.010', 'TAJIRA PLN POSTPAID'); + { + pattern: ' *, *', + replacement: '/', + flags: 'g', + }, + { + pattern: ' *: *', + replacement: ':', + flags: 'g', + }, + { + pattern: 'TOTAL TAGIHAN*', + replacement: 'TOTALTAGIHAN', + }, + ] + + irs.getDetailFromMessage( + 'Cek Tagihan PLN SUKSES ke 520550410074, REFID: 520550410074/MASJID.. KATEGORI:S2/900 , PERIODE:092020, JUMLAH:1, TOTAL TAGIHAN : 72.010', + detailPattern, + detailReplacements + ).should.equal('REFID:520550410074/MASJID/KATEGORI:S2/900/PERIODE:092020/JUMLAH:1/TOTALTAGIHAN:72.010', 'TAJIRA PLN POSTPAID'); + + // const detailPattern2 = { + // pattern: '(REFID: .*), SALDO', + // match_idx: 1, + // }; + + irs.getDetailFromMessage( + 'CEK TAGIHAN PLNFULL SUKSES KE 520550388323, REFID: 52055038832320700700.. NAMA:MUSHOLA AL AMIN, KATEGORIDAYA:S2/450, PERIODE:092020, TAGIHANASLI:16620, DENDA:3000, ADMIN:2750, TOTALBAYAR:19.370, SALDO:500.000', + detailPattern, + detailReplacements + ).should.equal( + 'REFID:52055038832320700700/NAMA:MUSHOLA AL AMIN/KATEGORIDAYA:S2/450/PERIODE:092020/TAGIHANASLI:16620/DENDA:3000/ADMIN:2750/TOTALBAYAR:19.370', + 'TAJIRA PLN POSTPAID 2', + ); + }); });