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 {
|
||||
if errs, ok := err.(Errors); ok {
|
||||
for _, err := range errs {
|
||||
if isError(err, ErrRecordNotFound) {
|
||||
if IsRecordNotFoundError(err) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
@ -70,3 +70,21 @@ func (errs Errors) Error() string {
|
||||
}
|
||||
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{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},
|
||||
|
||||
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) {
|
||||
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),
|
||||
}
|
||||
|
||||
for _, err := range errs {
|
||||
for idx, err := range errs {
|
||||
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