get-params-members.js
2 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
/* global describe it */
const fs = require('fs');
const should = require('should');
const xmlParser = require('fast-xml-parser');
const getParamsMembers = require('../../lib/generic-xmlrpc/get-params-members');
const xmlParserOptions = {
parseNodeValue: false,
trimValues: true,
};
const topUpRequestPayload = fs.readFileSync('./test-data/top-up-request-1.xml').toString();
const topUpRequestObj = xmlParser.parse(topUpRequestPayload, xmlParserOptions);
const methodResponsePayload = fs.readFileSync('./test-data/method-response-1.xml').toString();
const methodResponseObj = xmlParser.parse(methodResponsePayload, xmlParserOptions);
describe('#generic-xmlrpc', () => {
describe('#get-params-members', () => {
it('should return correct result (from topUpRequest)', () => {
const result = getParamsMembers(topUpRequestObj);
should.exists(result, '68DC1F18');
result.find((item) => item.name === 'MSISDN').value.should.equal('0818111222', 'FF483A06');
result.find((item) => item.name === 'REQUESTID').value.should.equal('123456', '65208338');
result.find((item) => item.name === 'PIN').value.should.equal('6633', 'B420C34C');
result.find((item) => item.name === 'NOHP').value.should.equal('0818111333', '706A0594');
result.find((item) => item.name === 'NOM').value.should.equal('XR10', 'F594F6B3');
});
it('should return correct result (from methodResponse)', () => {
const result = getParamsMembers(methodResponseObj);
should.exists(result, '426E3B71');
result.find((item) => item.name === 'RESPONSECODE').value.should.equal('00', '8AFE55D2');
result.find((item) => item.name === 'REQUESTID').value.should.equal('123456', 'BDD4A32F');
result.find((item) => item.name === 'MESSAGE').value.should.equal('TOP UP BERHASIL', 'D817F0F5');
result.find((item) => item.name === 'TRANSACTIONID').value.should.equal('666333', '9E2ED185');
});
});
});