@martcarrefour/robokassa
Version:
Robokassa Node.JS integration (Note: Original repository is now actively maintained)
50 lines (44 loc) • 1.42 kB
text/typescript
import {
buildExpectedReceivingSignatureString,
calculateReceivingSignatureValue,
} from './calculateReceivingSignatureValue';
describe('#calculateReceivingSignatureValue', () => {
describe('#buildExpectedReceivingSignatureString', () => {
it('should build string WITHOUT user parameters', () => {
const result = buildExpectedReceivingSignatureString({
password2: 'my_password2',
response: {
InvId: 42,
OutSum: '100.00',
},
});
expect(result).toEqual('100.00:42:my_password2');
});
it('should build string WITH sorted user parameters', () => {
const result = buildExpectedReceivingSignatureString({
password2: 'my_password2',
response: {
InvId: 84,
OutSum: '200.00',
Shp_user_id: '123',
Shp_email: 'test@test.com',
},
});
expect(result).toEqual(
'200.00:84:my_password2:Shp_email=test@test.com:Shp_user_id=123',
);
});
});
it('should calculate correctly hash for an order WITH sorted user parameters, including receipt', () => {
const result = calculateReceivingSignatureValue({
hashAlgorithm: 'md5',
password2: 'my_password2',
response: {
InvId: 84,
OutSum: '200.00',
shp_interface: 'link',
},
});
expect(result).toEqual('95286fdc8024655ceb9034539bac1180');
});
});