test: added test for DecryptionQueue (#8)

This commit is contained in:
鲁树人 2023-05-18 22:12:34 +01:00
parent ab554b0470
commit d00ba50fcd

View File

@ -0,0 +1,29 @@
import { DECRYPTION_WORKER_ACTION_NAME } from '~/decrypt-worker/constants';
import { WorkerClientBus } from '../WorkerEventBus';
import { DecryptionQueue } from '../DecryptionQueue';
vi.mock('../WorkerEventBus', () => {
class MyWorkerClientBus {
request() {
throw new Error('request not mocked');
}
}
return { WorkerClientBus: MyWorkerClientBus };
});
test('should be able to forward request to worker client bus', async () => {
// This class is mocked
const bus = new WorkerClientBus<DECRYPTION_WORKER_ACTION_NAME>(null as never);
vi.spyOn(bus, 'request').mockImplementation(
async (actionName: DECRYPTION_WORKER_ACTION_NAME, payload: unknown): Promise<unknown> => {
return { actionName, payload };
}
);
const queue = new DecryptionQueue(bus, 1);
await expect(queue.add({ id: 'file://1', blobURI: 'blob://mock-file' })).resolves.toEqual({
actionName: DECRYPTION_WORKER_ACTION_NAME.DECRYPT,
payload: 'blob://mock-file',
});
});