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

Function TestCallbacks

tests/callbacks_test.go:43–174  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

41func c6(*gorm.DB) {}
42
43func TestCallbacks(t *testing.T) {
44 type callback struct {
45 name string
46 before string
47 after string
48 remove bool
49 replace bool
50 err string
51 match func(*gorm.DB) bool
52 h func(*gorm.DB)
53 }
54
55 datas := []struct {
56 callbacks []callback
57 err string
58 results []string
59 }{
60 {
61 callbacks: []callback{{h: c1}, {h: c2}, {h: c3}, {h: c4}, {h: c5}},
62 results: []string{"c1", "c2", "c3", "c4", "c5"},
63 },
64 {
65 callbacks: []callback{{h: c1}, {h: c2}, {h: c3}, {h: c4}, {h: c5, before: "c4"}},
66 results: []string{"c1", "c2", "c3", "c5", "c4"},
67 },
68 {
69 callbacks: []callback{{h: c1}, {h: c2}, {h: c3}, {h: c4, after: "c5"}, {h: c5}},
70 results: []string{"c1", "c2", "c3", "c5", "c4"},
71 },
72 {
73 callbacks: []callback{{h: c1}, {h: c2}, {h: c3}, {h: c4, after: "c5"}, {h: c5, before: "c4"}},
74 results: []string{"c1", "c2", "c3", "c5", "c4"},
75 },
76 {
77 callbacks: []callback{{h: c1}, {h: c2, before: "c4", after: "c5"}, {h: c3}, {h: c4}, {h: c5}},
78 results: []string{"c1", "c5", "c2", "c3", "c4"},
79 },
80 {
81 callbacks: []callback{{h: c1, after: "c3"}, {h: c2, before: "c4", after: "c5"}, {h: c3, before: "c5"}, {h: c4}, {h: c5}},
82 results: []string{"c3", "c1", "c5", "c2", "c4"},
83 },
84 {
85 callbacks: []callback{{h: c1, before: "c4", after: "c3"}, {h: c2, before: "c4", after: "c5"}, {h: c3, before: "c5"}, {h: c4}, {h: c5}},
86 results: []string{"c3", "c1", "c5", "c2", "c4"},
87 },
88 {
89 callbacks: []callback{{h: c1, before: "c3", after: "c4"}, {h: c2, before: "c4", after: "c5"}, {h: c3, before: "c5"}, {h: c4}, {h: c5}},
90 err: "conflicting",
91 },
92 {
93 callbacks: []callback{{h: c1}, {h: c2, before: "c4", after: "c5"}, {h: c3}, {h: c4}, {h: c5}, {h: c2, remove: true}},
94 results: []string{"c1", "c3", "c4", "c5"},
95 },
96 {
97 callbacks: []callback{{h: c1}, {name: "c", h: c2}, {h: c3}, {name: "c", h: c4, replace: true}},
98 results: []string{"c1", "c4", "c3"},
99 },
100 {

Callers

nothing calls this directly

Calls 6

OpenFunction · 0.92
getFuncNameFunction · 0.85
callMethodFunction · 0.85
assertCallbacksFunction · 0.85
CallbackMethod · 0.80
CreateMethod · 0.65

Tested by

no test coverage detected