Browse Source

Resolve validation error caused by empty strings

pull/7509/head
Thomas Kaul 4 weeks ago
parent
commit
179ecbcb3b
  1. 58
      libs/common/src/lib/helper.spec.ts
  2. 12
      libs/common/src/lib/helper.ts

58
libs/common/src/lib/helper.spec.ts

@ -1,6 +1,8 @@
import { import {
extractNumberFromString, extractNumberFromString,
getNumberFormatGroup, getNumberFormatGroup,
getStringOrNull,
getStringOrUndefined,
isCurrency, isCurrency,
isCurrencySymbol isCurrencySymbol
} from '@ghostfolio/common/helper'; } from '@ghostfolio/common/helper';
@ -139,6 +141,62 @@ describe('Helper', () => {
}); });
}); });
describe('Get string or null', () => {
it('String', () => {
expect(getStringOrNull('https://ghostfol.io')).toEqual(
'https://ghostfol.io'
);
});
it('String (with spaces)', () => {
expect(getStringOrNull(' https://ghostfol.io ')).toEqual(
'https://ghostfol.io'
);
});
it('Empty string', () => {
expect(getStringOrNull('')).toEqual(null);
});
it('Blank string', () => {
expect(getStringOrNull(' ')).toEqual(null);
});
it('Null', () => {
expect(getStringOrNull(null)).toEqual(null);
});
it('Undefined', () => {
expect(getStringOrNull(undefined)).toEqual(null);
});
});
describe('Get string or undefined', () => {
it('String', () => {
expect(getStringOrUndefined('de-DE')).toEqual('de-DE');
});
it('String (with spaces)', () => {
expect(getStringOrUndefined(' de-DE ')).toEqual('de-DE');
});
it('Empty string', () => {
expect(getStringOrUndefined('')).toEqual(undefined);
});
it('Blank string', () => {
expect(getStringOrUndefined(' ')).toEqual(undefined);
});
it('Null', () => {
expect(getStringOrUndefined(null)).toEqual(undefined);
});
it('Undefined', () => {
expect(getStringOrUndefined(undefined)).toEqual(undefined);
});
});
describe('Is currency', () => { describe('Is currency', () => {
it('ISO 4217 currency code', () => { it('ISO 4217 currency code', () => {
expect(isCurrency('USD')).toEqual(true); expect(isCurrency('USD')).toEqual(true);

12
libs/common/src/lib/helper.ts

@ -398,16 +398,20 @@ export function getStartOfUtcDate(aDate: Date) {
} }
export function getStringOrNull(aString: string | null | undefined) { export function getStringOrNull(aString: string | null | undefined) {
if (aString) { const trimmedString = aString?.trim();
return aString;
if (trimmedString) {
return trimmedString;
} }
return null; return null;
} }
export function getStringOrUndefined(aString: string | null | undefined) { export function getStringOrUndefined(aString: string | null | undefined) {
if (aString) { const trimmedString = aString?.trim();
return aString;
if (trimmedString) {
return trimmedString;
} }
return undefined; return undefined;

Loading…
Cancel
Save