Добавил тесты для создания хеша

This commit is contained in:
vgoma 2020-10-17 12:29:05 +03:00
parent bdcb3d7542
commit 56e5e2ff17
2 changed files with 48 additions and 4 deletions

View File

@ -49,17 +49,17 @@ window.cadesplugin.CreateObjectAsync.mockImplementation((object) => {
describe('createAttachedSignature', () => {
test('uses Buffer to encrypt the message', async () => {
const originalBufferFrom = (window as any).Buffer.from;
const originalBufferFrom = global.Buffer.from;
(window as any).Buffer.from = jest.fn(() => ({
(global.Buffer.from as jest.Mock) = jest.fn(() => ({
toString: jest.fn(),
}));
await createAttachedSignature(parsedCertificateMock.thumbprint, 'message');
expect((window as any).Buffer.from).toHaveBeenCalledTimes(1);
expect(global.Buffer.from).toHaveBeenCalledTimes(1);
(window as any).Buffer.from = originalBufferFrom;
global.Buffer.from = originalBufferFrom;
});
test('uses specified certificate', async () => {

View File

@ -0,0 +1,44 @@
import 'cadesplugin';
import { createHash } from './createHash';
const executionSteps = [Symbol('step 0'), Symbol('step 1')];
const executionFlow = {
[executionSteps[0]]: {
propset_Algorithm: jest.fn(),
propset_DataEncoding: jest.fn(),
Hash: jest.fn(),
Value: executionSteps[1],
},
[executionSteps[1]]: 'hash',
};
window.cadesplugin.__defineExecutionFlow(executionFlow);
window.cadesplugin.CreateObjectAsync.mockImplementation((object) => {
switch (object) {
case 'CAdESCOM.HashedData':
return executionSteps[0];
}
});
describe('createHash', () => {
test('uses Buffer to encrypt the message', async () => {
const originalBufferFrom = global.Buffer.from;
(global.Buffer.from as jest.Mock) = jest.fn(() => ({
toString: jest.fn(),
}));
await createHash('message');
expect(global.Buffer.from).toHaveBeenCalledTimes(1);
global.Buffer.from = originalBufferFrom;
});
test('returns created hash', async () => {
const hash = await createHash('message');
expect(hash).toEqual('hash');
});
});