fix-test
This commit is contained in:
parent
21557deb22
commit
a06e26a0a7
20
errors.go
20
errors.go
@ -25,7 +25,7 @@ type Errors []error
|
|||||||
func IsRecordNotFoundError(err error) bool {
|
func IsRecordNotFoundError(err error) bool {
|
||||||
if errs, ok := err.(Errors); ok {
|
if errs, ok := err.(Errors); ok {
|
||||||
for _, err := range errs {
|
for _, err := range errs {
|
||||||
if isError(err, ErrRecordNotFound) {
|
if IsRecordNotFoundError(err) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -70,3 +70,21 @@ func (errs Errors) Error() string {
|
|||||||
}
|
}
|
||||||
return strings.Join(errors, "; ")
|
return strings.Join(errors, "; ")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (errs Errors) Is(target error) bool {
|
||||||
|
if target == nil {
|
||||||
|
return errs == nil
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, err := range errs {
|
||||||
|
if errs, ok := err.(Errors); ok {
|
||||||
|
if errs.Is(target) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
return errors.Is(err, target)
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
@ -19,11 +19,16 @@ func TestNotFound(t *testing.T) {
|
|||||||
gorm.Errors{gorm.ErrRecordNotFound, fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound)},
|
gorm.Errors{gorm.ErrRecordNotFound, fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound)},
|
||||||
gorm.Errors{fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound), fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound)},
|
gorm.Errors{fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound), fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound)},
|
||||||
gorm.Errors{gorm.Errors{fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound), gorm.ErrRecordNotFound}, gorm.ErrRecordNotFound},
|
gorm.Errors{gorm.Errors{fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound), gorm.ErrRecordNotFound}, gorm.ErrRecordNotFound},
|
||||||
|
|
||||||
|
fmt.Errorf("get user fail: %w", gorm.Errors{gorm.ErrRecordNotFound}),
|
||||||
|
fmt.Errorf("get user fail: %w", gorm.Errors{gorm.ErrRecordNotFound, fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound)}),
|
||||||
|
fmt.Errorf("get user fail: %w", gorm.Errors{fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound), gorm.ErrRecordNotFound}),
|
||||||
|
fmt.Errorf("get user fail: %w", gorm.Errors{fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound), fmt.Errorf("get user fail: %w", gorm.ErrRecordNotFound)}),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, err := range errs {
|
for idx, err := range errs {
|
||||||
if !gorm.IsRecordNotFoundError(err) {
|
if !gorm.IsRecordNotFoundError(err) {
|
||||||
t.Errorf("%s should be ErrRecordNotFound", err)
|
t.Errorf("%s(%d) should be ErrRecordNotFound", err, idx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,9 +39,9 @@ func TestNotFound(t *testing.T) {
|
|||||||
fmt.Errorf("get user fail: %+v", gorm.ErrRecordNotFound),
|
fmt.Errorf("get user fail: %+v", gorm.ErrRecordNotFound),
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, err := range errs {
|
for idx, err := range errs {
|
||||||
if gorm.IsRecordNotFoundError(err) {
|
if gorm.IsRecordNotFoundError(err) {
|
||||||
t.Errorf("%s should not be ErrRecordNotFound", err)
|
t.Errorf("%s(%d) should not be ErrRecordNotFound", err, idx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user