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 {
extractNumberFromString,
getNumberFormatGroup,
getStringOrNull,
getStringOrUndefined,
isCurrency,
isCurrencySymbol
} 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', () => {
it('ISO 4217 currency code', () => {
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) {
if (aString) {
return aString;
const trimmedString = aString?.trim();
if (trimmedString) {
return trimmedString;
}
return null;
}
export function getStringOrUndefined(aString: string | null | undefined) {
if (aString) {
return aString;
const trimmedString = aString?.trim();
if (trimmedString) {
return trimmedString;
}
return undefined;

Loading…
Cancel
Save