@@ -381,3 +381,50 @@ func TestToErrorf(t *testing.T) {
381381
382382 })
383383}
384+
385+ func TestWrapError (t * testing.T ) {
386+ t .Run ("wrap err" , func (t * testing.T ) {
387+ tests := []struct {
388+ name string
389+ err error
390+ }{
391+ {
392+ name : "wrap normal error" ,
393+ err : fmt .Errorf ("normal error" ),
394+ },
395+ {
396+ name : "wrap gone InnerError" ,
397+ err : NewInnerError ("test error" , http .StatusInternalServerError ),
398+ },
399+ {
400+ name : "wrap gone BusinessError" ,
401+ err : NewBusinessError ("test error" , http .StatusOK ),
402+ },
403+ {
404+ name : "wrap gone ParameterError" ,
405+ err : NewParameterError ("test error" , http .StatusBadRequest ),
406+ },
407+ {
408+ name : "wrap gone Error" ,
409+ err : NewError (1101 , "test error" , http .StatusBadRequest ),
410+ },
411+ }
412+
413+ for _ , tt := range tests {
414+ t .Run (tt .name , func (t * testing.T ) {
415+ wrapError := WrapError (tt .err , "wrap error" )
416+ if ! errors .Is (wrapError , tt .err ) {
417+ t .Error ("must be input error" )
418+ }
419+ })
420+ }
421+ })
422+ t .Run ("wrap none error" , func (t * testing.T ) {
423+ wrapError := WrapError ("some thing" , "wrap error" )
424+
425+ msg := wrapError .Msg ()
426+ if msg != "wrap error" {
427+ t .Error ("must be wrap error" )
428+ }
429+ })
430+ }
0 commit comments