Test deleting multiple rows

This commit is contained in:
Adria Navarro 2023-07-31 16:37:24 +02:00
parent 3335c86a84
commit 76e836ca55
3 changed files with 37 additions and 2 deletions

View File

@ -146,7 +146,7 @@ async function deleteRows(ctx: UserCtx<DeleteRowRequest>) {
const rowDeletes: Row[] = await processDeleteRowsRequest(ctx) const rowDeletes: Row[] = await processDeleteRowsRequest(ctx)
deleteRequest.rows = rowDeletes deleteRequest.rows = rowDeletes
let { rows } = await quotas.addQuery<any>( const { rows } = await quotas.addQuery(
() => pickApi(tableId).bulkDestroy(ctx), () => pickApi(tableId).bulkDestroy(ctx),
{ {
datasourceId: tableId, datasourceId: tableId,

View File

@ -350,7 +350,7 @@ router
ctx.params.tableId = utils.extractViewInfoFromID( ctx.params.tableId = utils.extractViewInfoFromID(
ctx.params.viewId ctx.params.viewId
).tableId ).tableId
next() return next()
}, },
rowController.destroy rowController.destroy
) )

View File

@ -1225,6 +1225,41 @@ describe("/rows", () => {
expectStatus: 404, expectStatus: 404,
}) })
}) })
it("should be able to delete multiple rows", async () => {
const table = await config.createTable(userTable())
const tableId = table._id!
const view = await config.api.viewV2.create({
tableId,
columns: {
name: { visible: true },
address: { visible: true },
},
})
const rows = [
await config.createRow(),
await config.createRow(),
await config.createRow(),
]
const rowUsage = await getRowUsage()
const queryUsage = await getQueryUsage()
await config.api.viewV2.row.delete(view.id, {
rows: [rows[0], rows[2]],
})
await assertRowUsage(rowUsage - 2)
await assertQueryUsage(queryUsage + 1)
await config.api.row.get(tableId, rows[0]._id!, {
expectStatus: 404,
})
await config.api.row.get(tableId, rows[2]._id!, {
expectStatus: 404,
})
await config.api.row.get(tableId, rows[1]._id!, { expectStatus: 200 })
})
}) })
}) })
}) })