@@ -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 ( '-' ) ;
0 commit comments