MCPcopy
hub / github.com/pocketbase/pocketbase / createMockBatchProcessingData

Function createMockBatchProcessingData

core/record_model_test.go:2343–2428  ·  view source on GitHub ↗
(app core.App)

Source from the content-addressed store, hash-verified

2341}
2342
2343func createMockBatchProcessingData(app core.App) error {
2344 // create mock collection without relation
2345 c1 := core.NewBaseCollection("c1")
2346 c1.Id = "c1"
2347 c1.Fields.Add(
2348 &core.TextField{Name: "text"},
2349 &core.RelationField{
2350 Name: "rel",
2351 MaxSelect: 1,
2352 CollectionId: "c1",
2353 CascadeDelete: false, // should unset all rel fields
2354 },
2355 )
2356 if err := app.SaveNoValidate(c1); err != nil {
2357 return err
2358 }
2359
2360 // create mock collection with a multi-rel field
2361 c2 := core.NewBaseCollection("c2")
2362 c2.Id = "c2"
2363 c2.Fields.Add(
2364 &core.TextField{Name: "text"},
2365 &core.RelationField{
2366 Name: "rel",
2367 MaxSelect: 10,
2368 CollectionId: "c1",
2369 CascadeDelete: false, // should unset all rel fields
2370 },
2371 )
2372 if err := app.SaveNoValidate(c2); err != nil {
2373 return err
2374 }
2375
2376 // create mock collection with a single-rel field
2377 c3 := core.NewBaseCollection("c3")
2378 c3.Id = "c3"
2379 c3.Fields.Add(
2380 &core.RelationField{
2381 Name: "rel",
2382 MaxSelect: 1,
2383 CollectionId: "c1",
2384 CascadeDelete: true, // should delete all c3 records
2385 },
2386 )
2387 if err := app.SaveNoValidate(c3); err != nil {
2388 return err
2389 }
2390
2391 // insert mock records
2392 c1RecordA := core.NewRecord(c1)
2393 c1RecordA.Id = "a"
2394 c1RecordA.Set("rel", c1RecordA.Id) // self reference
2395 if err := app.SaveNoValidate(c1RecordA); err != nil {
2396 return err
2397 }
2398 c1RecordB := core.NewRecord(c1)
2399 c1RecordB.Id = "b"
2400 c1RecordB.Set("rel", c1RecordA.Id) // rel to another record from the same collection

Callers 1

Calls 5

SetMethod · 0.95
NewBaseCollectionFunction · 0.92
NewRecordFunction · 0.92
SaveNoValidateMethod · 0.65
AddMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…