Skip to content

Commit eedea3f

Browse files
committed
[O2B-1520] Revert changes to validate range
Simplified the range validation logic in rangeUtils.js by removing redundant checks and revert to using parseInt for number parsing. Revert test too.
1 parent 2ff9774 commit eedea3f

2 files changed

Lines changed: 4 additions & 17 deletions

File tree

lib/utilities/rangeUtils.js

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,9 @@ export const validateRange = (value, helpers) => {
2828

2929
for (const number of numbers) {
3030
if (number.includes('-')) {
31-
// Check if '-' occurs more than once in this part of the range
32-
if (number.lastIndexOf('-') !== number.indexOf('-')) {
33-
return helpers.error(RANGE_INVALID, { message: `Invalid range: ${number}` });
34-
}
3531
const parts = number.split('-');
36-
// Ensure exactly 2 parts and both are non-empty
37-
if (parts.length !== 2 || parts[0].trim() === '' || parts[1].trim() === '') {
38-
return helpers.error(RANGE_INVALID, { message: `Invalid range: ${number}` });
39-
}
40-
const [start, end] = parts.map((n) => Number(n));
32+
const [start, end] = parts.map((n) => parseInt(n, 10));
33+
4134
if (Number.isNaN(start) || Number.isNaN(end) || start > end) {
4235
return helpers.error(RANGE_INVALID, { message: `Invalid range: ${number}` });
4336
}
@@ -46,12 +39,6 @@ export const validateRange = (value, helpers) => {
4639
if (rangeSize > MAX_RANGE_SIZE) {
4740
return helpers.error(RANGE_INVALID, { message: `Given range exceeds max size of ${MAX_RANGE_SIZE} range: ${number}` });
4841
}
49-
} else {
50-
// Single number validation
51-
const num = Number(number);
52-
if (Number.isNaN(num)) {
53-
return helpers.error(RANGE_INVALID, { message: `Invalid number: ${number}` });
54-
}
5542
}
5643
}
5744

test/lib/usecases/run/GetAllRunsUseCase.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ module.exports = () => {
9090
expect(runs[1].runNumber).to.equal(95);
9191
});
9292

93-
it('should return an array, only containing found runs from passed list (run numbers can be missing)', async () => {
94-
getAllRunsDto.query = { filter: { runNumbers: '17, ,400,18' } };
93+
it('should return an array, only containing found runs from passed list (run numbers can be missing or non-numbers)', async () => {
94+
getAllRunsDto.query = { filter: { runNumbers: '-2,17, ,400,18' } };
9595
const { runs } = await new GetAllRunsUseCase().execute(getAllRunsDto);
9696

9797
expect(runs).to.be.an('array');

0 commit comments

Comments
 (0)