test.js
5.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
var should = require("should");
var partner = require("./partner-masterpulsa");
describe("#partner-masterpulsa", function() {
describe("#calculateSignature", function() {
var dt = '20160330';
var cid = '90ab7e6c-c8ae-11e5-b7d5-002590495d2a';
var secret = '02fed8147f24';
var expected = '796705c6f3c30ad0690a05cb1e481d865e5f2517559f20e93537edea80250baf';
it('should return correct sign', function() {
partner.calculateSignature(cid, secret, dt).should.equal(expected);
});
});
describe("#parsePaymentResponse", function() {
var message = "SUCCESS#[0] PEMBAYARAN SUKSES ke: refnum:0MS1213516666D0E1AB5BA8F15507678#30/03/16 14:58\n0MS1213516666D0E1AB5BA8F15507678\nTestDummyP\n77777777777\n774444444444\nB1/6600 VA\nRP 21.600\nKWH35,2\nSTROOM/TOKEN 6379 0660 1856 6802 5756\nADM 1.600,00#2016-03-30 14:58:41#TestDummyPanjang7744444#77777777777#774444444444#B1/6600#21600#35.2#6379-0660-1856-6802-5756#0#0#1600#2400#0";
var response = partner.parsePaymentResponse(message);
it('should return correct status', function() {
response.status.should.equal('SUCCESS');
});
it('should return correct rcmesage', function() {
response.rcmessage.should.equal('[0] PEMBAYARAN SUKSES ke: refnum:0MS1213516666D0E1AB5BA8F15507678');
});
it('should return correct resptext', function() {
response.resptext.should.equal("30/03/16 14:58\n0MS1213516666D0E1AB5BA8F15507678\nTestDummyP\n77777777777\n774444444444\nB1/6600 VA\nRP 21.600\nKWH35,2\nSTROOM/TOKEN 6379 0660 1856 6802 5756\nADM 1.600,00");
});
it('should return correct dt', function() {
response.dt.should.equal('2016-03-30 14:58:41');
});
it('should return correct namapel', function() {
response.namapel.should.equal('TestDummyPanjang7744444');
});
it('should return correct msn', function() {
response.msn.should.equal('77777777777');
});
it('should return correct idpel', function() {
response.idpel.should.equal('774444444444');
});
it('should return correct tarifdaya', function() {
response.tarifdaya.should.equal('B1/6600');
});
it('should return correct tarif', function() {
response.tarif.should.equal('B1');
});
it('should return correct daya', function() {
response.daya.should.equal('6600');
});
it('should return correct hargapelanggan', function() {
response.hargapelanggan.should.equal('21600');
});
it('should return correct jumlahkwh', function() {
response.jumlahkwh.should.equal('35.2');
});
it('should return correct token', function() {
response.token.should.equal('6379-0660-1856-6802-5756');
});
it('should return correct ppn', function() {
response.ppn.should.equal('0');
});
it('should return correct ppj', function() {
response.ppj.should.equal('0');
});
it('should return correct adm', function() {
response.adm.should.equal('1600');
});
it('should return correct angsuran', function() {
response.angsuran.should.equal('2400');
});
it('should return correct meterai', function() {
response.meterai.should.equal('0');
});
});
describe('#getErrorCode', function() {
it('should return correct errorCode', function() {
partner.getErrorCode('[0] PEMBAYARAN SUKSES ke: refnum:0MS1213516666D0E1AB5BA8F15507678').should.equal('0');
});
});
describe('#getST24ResponseCode', function() {
it('should return correct st24 response code', function() {
partner.getST24ResponseCode('00').should.equal('00');
partner.getST24ResponseCode('13').should.equal('13');
partner.getST24ResponseCode('14').should.equal('14');
partner.getST24ResponseCode('47').should.equal('47');
partner.getST24ResponseCode('67').should.equal('91');
partner.getST24ResponseCode('55').should.equal('40');
});
});
describe('#generateSN', function() {
var message = "SUCCESS#[0] PEMBAYARAN SUKSES ke: refnum:0MS1213516666D0E1AB5BA8F15507678#30/03/16 14:58\n0MS1213516666D0E1AB5BA8F15507678\nTestDummyP\n77777777777\n774444444444\nB1/6600 VA\nRP 21.600\nKWH35,2\nSTROOM/TOKEN 6379 0660 1856 6802 5756\nADM 1.600,00#2016-03-30 14:58:41#TestDummyPanjang7744444#77777777777#774444444444#B1/6600#21600#35.2#6379-0660-1856-6802-5756#0#0#1600#2400#0";
var response = partner.parsePaymentResponse(message);
it('should return correct SN', function() {
partner.generateSN(response).should.equal('6379-0660-1856-6802-5756/TestDummyPanjang7744444/B1/6600VA/35.2');
});
});
describe('#generateDt', function() {
it('should return correct dt', function() {
partner.generateDt('20160401160147').should.equal('20160401');
});
});
});