test.js 1.41 KB
var should = require('should');
var crypto = require('crypto');

describe('#partner', function () {
    var partner = require('./partner-fm')

    describe('#composeTopupMessage', function() {
        it('should return correct xml message', function() {
            var msg = partner.composeTopupMessage('1234', 'S10', '08120812', '2345');
            crypto.createHash('sha256').update(msg, 'utf8').digest().toString('hex').should.equal('1b926cb9101d9b172ae12206d0c10d4800b553f3d9f2e320fe526c7effb11985');
        })
    });

    describe('#getSnFromMessage', function() {
        it('should return correct sn', function() {
            partner.getSnFromMessage('IH5.085714777509 Status: SUKSES SN: 1330926551').should.equal('1330926551');
        });
    })

    describe('#modifyMessageWithSn', function() {
        it('should return correct sn', function() {
            partner.modifyMessageWithSn('S10.081300000000 berhasil.').should.equal('S10.081300000000 berhasil.');
            partner.modifyMessageWithSn('S10.081300000000 berhasil, SN:').should.equal('S10.081300000000 berhasil, SN:');
            partner.modifyMessageWithSn('S10.081300000000 berhasil, SN:123456789').should.equal('SN=123456789; S10.081300000000 berhasil, SN:123456789');
            partner.modifyMessageWithSn('IH5.085714777509 Status: SUKSES SN: 1330926551').should.equal('SN=1330926551; IH5.085714777509 Status: SUKSES SN: 1330926551');
        });
    });
})