(t *testing.T)
| 2200 | } |
| 2201 | |
| 2202 | func TestRecordDelete(t *testing.T) { |
| 2203 | t.Parallel() |
| 2204 | |
| 2205 | app, _ := tests.NewTestApp() |
| 2206 | defer app.Cleanup() |
| 2207 | |
| 2208 | demoCollection, _ := app.FindCollectionByNameOrId("demo2") |
| 2209 | |
| 2210 | // delete unsaved record |
| 2211 | // --- |
| 2212 | newRec := core.NewRecord(demoCollection) |
| 2213 | if err := app.Delete(newRec); err == nil { |
| 2214 | t.Fatal("(newRec) Didn't expect to succeed deleting unsaved record") |
| 2215 | } |
| 2216 | |
| 2217 | // delete view record |
| 2218 | // --- |
| 2219 | viewRec, _ := app.FindRecordById("view2", "84nmscqy84lsi1t") |
| 2220 | if err := app.Delete(viewRec); err == nil { |
| 2221 | t.Fatal("(viewRec) Didn't expect to succeed deleting view record") |
| 2222 | } |
| 2223 | // check if it still exists |
| 2224 | viewRec, _ = app.FindRecordById(viewRec.Collection().Id, viewRec.Id) |
| 2225 | if viewRec == nil { |
| 2226 | t.Fatal("(viewRec) Expected view record to still exists") |
| 2227 | } |
| 2228 | |
| 2229 | // delete existing record + external auths |
| 2230 | // --- |
| 2231 | rec1, _ := app.FindRecordById("users", "4q1xlclmfloku33") |
| 2232 | if err := app.Delete(rec1); err != nil { |
| 2233 | t.Fatalf("(rec1) Expected nil, got error %v", err) |
| 2234 | } |
| 2235 | // check if it was really deleted |
| 2236 | if refreshed, _ := app.FindRecordById(rec1.Collection().Id, rec1.Id); refreshed != nil { |
| 2237 | t.Fatalf("(rec1) Expected record to be deleted, got %v", refreshed) |
| 2238 | } |
| 2239 | // check if the external auths were deleted |
| 2240 | if auths, _ := app.FindAllExternalAuthsByRecord(rec1); len(auths) > 0 { |
| 2241 | t.Fatalf("(rec1) Expected external auths to be deleted, got %v", auths) |
| 2242 | } |
| 2243 | |
| 2244 | // delete existing record while being part of a non-cascade required relation |
| 2245 | // --- |
| 2246 | rec2, _ := app.FindRecordById("demo3", "7nwo8tuiatetxdm") |
| 2247 | if err := app.Delete(rec2); err == nil { |
| 2248 | t.Fatalf("(rec2) Expected error, got nil") |
| 2249 | } |
| 2250 | |
| 2251 | // delete existing record + cascade |
| 2252 | // --- |
| 2253 | calledQueries := []string{} |
| 2254 | app.NonconcurrentDB().(*dbx.DB).QueryLogFunc = func(ctx context.Context, t time.Duration, sql string, rows *sql.Rows, err error) { |
| 2255 | calledQueries = append(calledQueries, sql) |
| 2256 | } |
| 2257 | app.ConcurrentDB().(*dbx.DB).QueryLogFunc = func(ctx context.Context, t time.Duration, sql string, rows *sql.Rows, err error) { |
| 2258 | calledQueries = append(calledQueries, sql) |
| 2259 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…