diff --git a/extensions/default/src/utils/validations/areAllImageDimensionsEqual.test.ts b/extensions/default/src/utils/validations/areAllImageDimensionsEqual.test.ts new file mode 100644 index 000000000..415803706 --- /dev/null +++ b/extensions/default/src/utils/validations/areAllImageDimensionsEqual.test.ts @@ -0,0 +1,41 @@ +import areAllImageDimensionsEqual from './areAllImageDimensionsEqual'; + +describe('areAllImageDimensionsEqual', () => { + it('should return false when no instances are provided', () => { + expect(areAllImageDimensionsEqual([])).toBe(false); + expect(areAllImageDimensionsEqual([] as any)).toBe(false); + }); + + it('should return true when all instances have the same dimensions', () => { + const instances = [ + { Rows: '512', Columns: '512' }, + { Rows: '512', Columns: '512' }, + { Rows: '512', Columns: '512' } + ]; + expect(areAllImageDimensionsEqual(instances)).toBe(true); + }); + + it('should return true when comparing string and number dimensions of same value', () => { + const instances = [ + { Rows: 512, Columns: 512 }, + { Rows: '512', Columns: '512' } + ]; + expect(areAllImageDimensionsEqual(instances)).toBe(true); + }); + + it('should return false when instances have different dimensions', () => { + const instances = [ + { Rows: '512', Columns: '512' }, + { Rows: '256', Columns: '512' } + ]; + expect(areAllImageDimensionsEqual(instances)).toBe(false); + }); + + it('should return false when dimensions are invalid strings', () => { + const instances = [ + { Rows: '512', Columns: '512' }, + { Rows: 'invalid', Columns: '512' } + ]; + expect(areAllImageDimensionsEqual(instances)).toBe(false); + }); +}); diff --git a/extensions/default/src/utils/validations/areAllImageDimensionsEqual.ts b/extensions/default/src/utils/validations/areAllImageDimensionsEqual.ts index 93a350a89..2638ec205 100644 --- a/extensions/default/src/utils/validations/areAllImageDimensionsEqual.ts +++ b/extensions/default/src/utils/validations/areAllImageDimensionsEqual.ts @@ -17,7 +17,7 @@ export default function areAllImageDimensionsEqual(instances: Array): boole const instance = instances[i]; const { Rows, Columns } = instance; - if (Rows !== firstImageRows || Columns !== firstImageColumns) { + if (toNumber(Rows) !== firstImageRows || toNumber(Columns) !== firstImageColumns) { return false; } }