Skip to content

Commit c238f03

Browse files
committed
isBlockedValue: fix name & add type validation
1 parent a0bb1e0 commit c238f03

File tree

6 files changed

+33
-3
lines changed

6 files changed

+33
-3
lines changed

src/methods/send/send.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { validateParams } from '../../utils/validateParams/validateParams';
88
import { validateTemplateParams } from '../../utils/validateTemplateParams/validateTemplateParams';
99
import { isHeadless } from '../../utils/isHeadless/isHeadless';
1010
import { headlessError } from '../../errors/headlessError/headlessError';
11-
import { isBlockedValueInParams } from '../../utils/isBlockedValue/isBlockedValue';
11+
import { isBlockedValueInParams } from '../../utils/isBlockedValueInParams/isBlockedValueInParams';
1212
import { blockedEmailError } from '../../errors/blockedEmailError/blockedEmailError';
1313
import { isLimitRateHit } from '../../utils/isLimitRateHit/isLimitRateHit';
1414
import { limitRateError } from '../../errors/limitRateError/limitRateError';

src/methods/sendForm/sendForm.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { validateForm } from '../../utils/validateForm/validateForm';
88
import { validateParams } from '../../utils/validateParams/validateParams';
99
import { isHeadless } from '../../utils/isHeadless/isHeadless';
1010
import { headlessError } from '../../errors/headlessError/headlessError';
11-
import { isBlockedValueInParams } from '../../utils/isBlockedValue/isBlockedValue';
11+
import { isBlockedValueInParams } from '../../utils/isBlockedValueInParams/isBlockedValueInParams';
1212
import { blockedEmailError } from '../../errors/blockedEmailError/blockedEmailError';
1313
import { isLimitRateHit } from '../../utils/isLimitRateHit/isLimitRateHit';
1414
import { limitRateError } from '../../errors/limitRateError/limitRateError';

src/utils/isBlockedValue/isBlockedValue.spec.ts renamed to src/utils/isBlockedValueInParams/isBlockedValueInParams.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { it, describe, expect } from '@jest/globals';
2-
import { isBlockedValueInParams } from './isBlockedValue';
2+
import { isBlockedValueInParams } from './isBlockedValueInParams';
33
import type { BlockList } from '../../types/BlockList';
44

55
describe('should be disabled', () => {

src/utils/isBlockedValue/isBlockedValue.ts renamed to src/utils/isBlockedValueInParams/isBlockedValueInParams.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { BlockList } from '../../types/BlockList';
2+
import { validateBlockListParams } from '../validateBlockListParams/validateBlockListParams';
23

34
const isBlockListDisabled = (options: BlockList): boolean => {
45
return !options.list?.length || !options.watchVariable;
@@ -14,6 +15,8 @@ export const isBlockedValueInParams = (
1415
): boolean => {
1516
if (isBlockListDisabled(options)) return false;
1617

18+
validateBlockListParams(options.list, options.watchVariable);
19+
1720
const value = getValue(params, options.watchVariable!);
1821

1922
if (typeof value !== 'string') return false;
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { it, expect } from '@jest/globals';
2+
import { validateBlockListParams } from './validateBlockListParams';
3+
4+
it('should fail on list is invalid type', () => {
5+
expect(() => validateBlockListParams('100', 'send')).toThrow(
6+
'The BlockList list has to be an array',
7+
);
8+
});
9+
10+
it('should fail on watchVariable is invalid type', () => {
11+
expect(() => validateBlockListParams([], [])).toThrow(
12+
'The BlockList watchVariable has to be a string',
13+
);
14+
});
15+
16+
it('should successfully pass the validation', () => {
17+
expect(() => validateBlockListParams([], 'send')).not.toThrow();
18+
});
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export const validateBlockListParams = (list: unknown, watchVariable: unknown) => {
2+
if (!Array.isArray(list)) {
3+
throw 'The BlockList list has to be an array';
4+
}
5+
6+
if (typeof watchVariable !== 'string') {
7+
throw 'The BlockList watchVariable has to be a string';
8+
}
9+
};

0 commit comments

Comments
 (0)