MCPcopy
hub / github.com/go-gorm/gorm / TestWithResultIncludesError

Function TestWithResultIncludesError

generics_withresult_test.go:16–50  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14}
15
16func TestWithResultIncludesError(t *testing.T) {
17 db, err := gorm.Open(sqlite.Open("file::memory:?cache=shared"), &gorm.Config{})
18 if err != nil {
19 t.Fatalf("open db failed: %v", err)
20 }
21 if err := db.AutoMigrate(&withResultUser{}); err != nil {
22 t.Fatalf("migrate failed: %v", err)
23 }
24
25 ctx := context.Background()
26
27 u := withResultUser{Name: "with-result-ok"}
28 r := gorm.WithResult()
29 if err := gorm.G[withResultUser](db, r).Create(ctx, &u); err != nil {
30 t.Fatalf("create failed: %v", err)
31 }
32 if u.ID == 0 {
33 t.Fatalf("expected ID to be set")
34 }
35 if r.Error != nil {
36 t.Fatalf("unexpected result error: %v", r.Error)
37 }
38 if r.RowsAffected <= 0 {
39 t.Fatalf("expected RowsAffected > 0, got %d", r.RowsAffected)
40 }
41
42 u2 := withResultUser{Name: "with-result-fail"}
43 r2 := gorm.WithResult()
44 if err := gorm.G[withResultUser](db, r2).Table("does_not_exist").Create(ctx, &u2); err == nil {
45 t.Fatalf("expected error for missing table, got nil")
46 }
47 if r2.Error == nil {
48 t.Fatalf("expected result error to be set for missing table")
49 }
50}
51

Callers

nothing calls this directly

Calls 5

OpenFunction · 0.92
WithResultFunction · 0.92
AutoMigrateMethod · 0.65
CreateMethod · 0.65
TableMethod · 0.65

Tested by

no test coverage detected