Skip to content

Commit d9eace8

Browse files
authored
chore(tests): add errorToMessage tests (#12360)
Signed-off-by: JerT33 <[email protected]>
1 parent d0484b9 commit d9eace8

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

frontend/src/lib/Utils.test.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import {
1919
decodeCompressedNodes,
2020
enabledDisplayString,
2121
enabledDisplayStringV2,
22+
errorToMessage,
2223
formatDateString,
2324
generateMinioArtifactUrl,
2425
generateS3ArtifactUrl,
@@ -73,6 +74,44 @@ describe('Utils', () => {
7374
});
7475
});
7576

77+
describe('errorToMessage', () => {
78+
it('handles an Error instance', async () => {
79+
expect(await errorToMessage(new Error('test error'))).toBe('test error');
80+
});
81+
82+
it('handles object with text() method that returns a string', async () => {
83+
const mockResponse = {
84+
text: () => 'direct string response',
85+
};
86+
const result = await errorToMessage(mockResponse);
87+
expect(result).toBe('direct string response');
88+
});
89+
90+
it('handles plain object input', async () => {
91+
const errorObj = { message: 'error message', code: 500 };
92+
const result = await errorToMessage(errorObj);
93+
expect(result).toBe(JSON.stringify(errorObj));
94+
});
95+
96+
it('handles string input', async () => {
97+
expect(await errorToMessage('string error')).toBe('"string error"');
98+
});
99+
100+
it('handles undefined input', async () => {
101+
expect(await errorToMessage(undefined)).toBe('');
102+
});
103+
104+
it('handles array input', async () => {
105+
expect(await errorToMessage([1, 'error', { key: 'value' }])).toBe(
106+
'[1,"error",{"key":"value"}]',
107+
);
108+
});
109+
110+
it('handles number input', async () => {
111+
expect(await errorToMessage(404)).toBe('404');
112+
});
113+
});
114+
76115
describe('enabledDisplayString', () => {
77116
it('handles undefined', () => {
78117
expect(enabledDisplayString(undefined, true)).toBe('-');

frontend/src/lib/Utils.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ export function titleCase(str: string): string {
7373
.join(' ');
7474
}
7575

76-
// TODO: add tests
7776
export async function errorToMessage(error: any): Promise<string> {
7877
if (error instanceof Error) {
7978
return error.message;

0 commit comments

Comments
 (0)