(t *testing.T)
| 221 | } |
| 222 | |
| 223 | func TestFileFieldValidateValue(t *testing.T) { |
| 224 | app, _ := tests.NewTestApp() |
| 225 | defer app.Cleanup() |
| 226 | |
| 227 | collection := core.NewBaseCollection("test_collection") |
| 228 | |
| 229 | f1, err := filesystem.NewFileFromBytes([]byte("test"), "test1.txt") |
| 230 | if err != nil { |
| 231 | t.Fatal(err) |
| 232 | } |
| 233 | |
| 234 | f2, err := filesystem.NewFileFromBytes([]byte("test"), "test2.txt") |
| 235 | if err != nil { |
| 236 | t.Fatal(err) |
| 237 | } |
| 238 | |
| 239 | f3, err := filesystem.NewFileFromBytes([]byte("test_abc"), "test3.txt") |
| 240 | if err != nil { |
| 241 | t.Fatal(err) |
| 242 | } |
| 243 | |
| 244 | f4, err := filesystem.NewFileFromBytes(make([]byte, core.DefaultFileFieldMaxSize+1), "test4.txt") |
| 245 | if err != nil { |
| 246 | t.Fatal(err) |
| 247 | } |
| 248 | |
| 249 | f5, err := filesystem.NewFileFromBytes(make([]byte, core.DefaultFileFieldMaxSize), "test5.txt") |
| 250 | if err != nil { |
| 251 | t.Fatal(err) |
| 252 | } |
| 253 | |
| 254 | scenarios := []struct { |
| 255 | name string |
| 256 | field *core.FileField |
| 257 | record func() *core.Record |
| 258 | expectError bool |
| 259 | }{ |
| 260 | // single |
| 261 | { |
| 262 | "zero field value (not required)", |
| 263 | &core.FileField{Name: "test", MaxSize: 9999, MaxSelect: 1}, |
| 264 | func() *core.Record { |
| 265 | record := core.NewRecord(collection) |
| 266 | record.SetRaw("test", "") |
| 267 | return record |
| 268 | }, |
| 269 | false, |
| 270 | }, |
| 271 | { |
| 272 | "zero field value (required)", |
| 273 | &core.FileField{Name: "test", MaxSize: 9999, MaxSelect: 1, Required: true}, |
| 274 | func() *core.Record { |
| 275 | record := core.NewRecord(collection) |
| 276 | record.SetRaw("test", "") |
| 277 | return record |
| 278 | }, |
| 279 | true, |
| 280 | }, |
nothing calls this directly
no test coverage detected
searching dependent graphs…