__tests__/helpers/LockHelper.test.js
/** @flow */
import sleep from "await-sleep";
import { default as Subject } from "../../src/helpers/LockHelper";
jest.setTimeout(120000);
describe(Subject.name, () => {
beforeEach(() => {
jest.resetModules();
});
const loadSubject = async () =>
(await import("../../src/helpers/LockHelper")).default;
it("lockKey, unlockKey", async () => {
const subject = await loadSubject();
await subject.lockKey("hoge");
subject.lockKey("hoge");
await subject.unlockKey("hoge");
await sleep(1500);
expect(subject.keyLockMap.hoge).toBeTruthy();
await subject.unlockKey("hoge");
expect(subject.keyLockMap.hoge).toBeUndefined();
});
it("lockProcess, unlockProcess", async () => {
const subject = await loadSubject();
await subject.unlockProcess();
await subject.lockProcess();
await sleep(1500);
await subject.unlockProcess();
});
});