@angro/nav-connector
Version:
Node.js module which provides an interface for communicating with NAV online invoice service.
80 lines (72 loc) • 2.41 kB
JavaScript
const { assert } = require('chai');
const { softwareData } = require('./lib/globals.js');
const technicalUser = {
login: 'login123',
password: 'password',
taxNumber: '12345678',
signatureKey: 'signatureKey',
exchangeKey: 'exchangeKey',
};
const createBaseRequest = require('../src/create-base-request.js');
describe('createBaseRequest()', () => {
it('should return new base request', () => {
const baseRequest = createBaseRequest({
requestType: 'TokenExchangeRequest',
technicalUser,
softwareData,
});
assert.isObject(baseRequest);
});
it('should return valid baseRequest', () => {
const expected = {
TokenExchangeRequest: {
$: {
'xmlns:common': 'http://schemas.nav.gov.hu/NTCA/1.0/common',
xmlns: 'http://schemas.nav.gov.hu/OSA/3.0/api',
},
'common:header': {
'common:requestId': '5aa8fb82b058db2438eaab4d',
'common:timestamp': '2018-03-14T10:37:54.000Z',
'common:requestVersion': '3.0',
'common:headerVersion': '1.0',
},
'common:user': {
'common:login': 'login123',
'common:passwordHash': {
$: {
cryptoType: 'SHA-512',
},
_:
'B109F3BBBC244EB82441917ED06D618B9008DD09B3BEFD1B5E07394C706A8BB980B1D7785E5976EC049B46DF5F1326AF5A2EA6D103FD07C95385FFAB0CACBC86',
},
'common:taxNumber': '12345678',
'common:requestSignature': {
$: {
cryptoType: 'SHA3-512',
},
_:
'1738823EF4917CCEA987FDAAC599E29AD9880DF6CD7A871A5AA7968C85E305488DDC0CEC7AADF3F16C3AFB20241E7585B0E5ACB5067216012F99367856667FBD',
},
},
software: {
softwareId: '123456789123456789',
softwareName: 'string',
softwareOperation: 'LOCAL_SOFTWARE',
softwareMainVersion: 'string',
softwareDevName: 'string',
softwareDevContact: 'string',
softwareDevCountryCode: 'HU',
softwareDevTaxNumber: 'string',
},
},
};
const baseRequest = createBaseRequest({
requestType: 'TokenExchangeRequest',
requestId: '5aa8fb82b058db2438eaab4d',
date: new Date('2018-03-14T10:37:54Z'),
technicalUser,
softwareData,
});
assert.deepEqual(baseRequest, expected);
});
});