| 9 | ) |
| 10 | |
| 11 | func TestDialectorWithErrorTranslatorSupport(t *testing.T) { |
| 12 | // it shouldn't translate error when the TranslateError flag is false |
| 13 | translatedErr := errors.New("translated error") |
| 14 | untranslatedErr := errors.New("some random error") |
| 15 | db, _ := gorm.Open(tests.DummyDialector{TranslatedErr: translatedErr}) |
| 16 | |
| 17 | err := db.AddError(untranslatedErr) |
| 18 | if !errors.Is(err, untranslatedErr) { |
| 19 | t.Fatalf("expected err: %v got err: %v", untranslatedErr, err) |
| 20 | } |
| 21 | |
| 22 | // it should translate error when the TranslateError flag is true |
| 23 | db, _ = gorm.Open(tests.DummyDialector{TranslatedErr: translatedErr}, &gorm.Config{TranslateError: true}) |
| 24 | |
| 25 | err = db.AddError(untranslatedErr) |
| 26 | if !errors.Is(err, translatedErr) { |
| 27 | t.Fatalf("expected err: %v got err: %v", translatedErr, err) |
| 28 | } |
| 29 | } |
| 30 | |
| 31 | func TestSupportedDialectorWithErrDuplicatedKey(t *testing.T) { |
| 32 | type City struct { |