MCPcopy
hub / github.com/pocketbase/pocketbase / TestJSONFieldValidateValue

Function TestJSONFieldValidateValue

core/field_json_test.go:82–186  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

80}
81
82func TestJSONFieldValidateValue(t *testing.T) {
83 app, _ := tests.NewTestApp()
84 defer app.Cleanup()
85
86 collection := core.NewBaseCollection("test_collection")
87
88 scenarios := []struct {
89 name string
90 field *core.JSONField
91 record func() *core.Record
92 expectError bool
93 }{
94 {
95 "invalid raw value",
96 &core.JSONField{Name: "test"},
97 func() *core.Record {
98 record := core.NewRecord(collection)
99 record.SetRaw("test", 123)
100 return record
101 },
102 true,
103 },
104 {
105 "zero field value (not required)",
106 &core.JSONField{Name: "test"},
107 func() *core.Record {
108 record := core.NewRecord(collection)
109 record.SetRaw("test", types.JSONRaw{})
110 return record
111 },
112 false,
113 },
114 {
115 "zero field value (required)",
116 &core.JSONField{Name: "test", Required: true},
117 func() *core.Record {
118 record := core.NewRecord(collection)
119 record.SetRaw("test", types.JSONRaw{})
120 return record
121 },
122 true,
123 },
124 {
125 "non-zero field value (required)",
126 &core.JSONField{Name: "test", Required: true},
127 func() *core.Record {
128 record := core.NewRecord(collection)
129 record.SetRaw("test", types.JSONRaw("[1,2,3]"))
130 return record
131 },
132 false,
133 },
134 {
135 "non-zero field value (required)",
136 &core.JSONField{Name: "test", Required: true},
137 func() *core.Record {
138 record := core.NewRecord(collection)
139 record.SetRaw("test", types.JSONRaw(`"aaa"`))

Callers

nothing calls this directly

Calls 8

CleanupMethod · 0.95
SetRawMethod · 0.95
NewTestAppFunction · 0.92
NewBaseCollectionFunction · 0.92
NewRecordFunction · 0.92
JSONRawTypeAlias · 0.92
ValidateValueMethod · 0.65
RunMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…