UNPKG

@martcarrefour/robokassa

Version:

Robokassa Node.JS integration (Note: Original repository is now actively maintained)

86 lines 3.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const calculateSendingSignatureValue_1 = require("./calculateSendingSignatureValue"); describe('#calculateSendingSignatureValue', () => { describe('#buildSendingSignatureString', () => { it('should build string WITHOUT user parameters', () => { const result = (0, calculateSendingSignatureValue_1.buildSendingSignatureString)({ password1: 'my_password1', merchantLogin: 'my_merchant_login', order: { description: 'my_description', outSum: '100.00', invId: 42, }, }); expect(result).toEqual('my_merchant_login:100.00:42:my_password1'); }); it('should build string WITH sorted user parameters', () => { const result = (0, calculateSendingSignatureValue_1.buildSendingSignatureString)({ password1: 'my_password1', merchantLogin: 'my_merchant_login', order: { description: 'my_description', outSum: '200.00', invId: 84, userParameters: { Shp_user_id: '123', Shp_email: 'test@test.com', }, }, }); expect(result).toEqual('my_merchant_login:200.00:84:my_password1:Shp_email=test@test.com:Shp_user_id=123'); }); it('should build string including receipt', () => { const result = (0, calculateSendingSignatureValue_1.buildSendingSignatureString)({ password1: 'my_password1', merchantLogin: 'my_merchant_login', order: { description: 'my_description', outSum: '200.00', invId: 84, receipt: { items: [ { name: 'test', quantity: 1, sum: 200, tax: 'vat20', }, ], }, }, }); expect(result).toEqual('my_merchant_login:200.00:84:{"items":[{"name":"test","quantity":1,"sum":200,"tax":"vat20"}]}:my_password1'); }); }); it('should calculate correctly hash for an order WITH sorted user parameters, including receipt', () => { const result = (0, calculateSendingSignatureValue_1.calculateSendingSignatureValue)({ hashAlgorithm: 'md5', merchantLogin: 'test-socionom.org', password1: 'my_password1', order: { userParameters: { shp_interface: 'link', }, description: 'test2', outSum: '200.00', invId: 0, receipt: { items: [ { name: 'test', quantity: 1, sum: 200, payment_method: 'full_payment', payment_object: 'service', tax: 'vat20', }, ], }, }, }); expect(result).toEqual('888f7275e88d20ead0fc62cdf5b69f72'); }); }); //# sourceMappingURL=calculateSendingSignatureValue.spec.js.map