37 lines
1015 B
TypeScript
37 lines
1015 B
TypeScript
import { describe, it, expect } from 'vitest';
|
|
import { SubmitBlocker } from './SubmitBlocker';
|
|
|
|
describe('SubmitBlocker', () => {
|
|
let blocker: SubmitBlocker;
|
|
|
|
beforeEach(() => {
|
|
blocker = new SubmitBlocker();
|
|
});
|
|
|
|
it('should allow execution initially', () => {
|
|
expect(blocker.canExecute()).toBe(true);
|
|
});
|
|
|
|
it('should block execution after block() is called', () => {
|
|
blocker.block();
|
|
expect(blocker.canExecute()).toBe(false);
|
|
});
|
|
|
|
it('should allow execution again after release() is called', () => {
|
|
blocker.block();
|
|
expect(blocker.canExecute()).toBe(false);
|
|
blocker.release();
|
|
expect(blocker.canExecute()).toBe(true);
|
|
});
|
|
|
|
it('should handle multiple block/release cycles', () => {
|
|
blocker.block();
|
|
expect(blocker.canExecute()).toBe(false);
|
|
blocker.release();
|
|
expect(blocker.canExecute()).toBe(true);
|
|
blocker.block();
|
|
expect(blocker.canExecute()).toBe(false);
|
|
blocker.release();
|
|
expect(blocker.canExecute()).toBe(true);
|
|
});
|
|
}); |