Updating query row to correctly decode the input table Id as it will be encoded. The CTX expects this to be passed in its decoded state as Koa would do to encoded URLs.
This commit is contained in:
parent
32b22aa093
commit
640dd930de
|
@ -122,9 +122,10 @@ export async function run({
|
||||||
sortType =
|
sortType =
|
||||||
fieldType === FieldType.NUMBER ? FieldType.NUMBER : FieldType.STRING
|
fieldType === FieldType.NUMBER ? FieldType.NUMBER : FieldType.STRING
|
||||||
}
|
}
|
||||||
|
// when passing the tableId in the Ctx it needs to be decoded
|
||||||
const ctx = buildCtx(appId, null, {
|
const ctx = buildCtx(appId, null, {
|
||||||
params: {
|
params: {
|
||||||
tableId,
|
tableId: decodeURIComponent(tableId),
|
||||||
},
|
},
|
||||||
body: {
|
body: {
|
||||||
sortType,
|
sortType,
|
||||||
|
|
|
@ -2,6 +2,7 @@ import { EmptyFilterOption, SortOrder, Table } from "@budibase/types"
|
||||||
import * as setup from "./utilities"
|
import * as setup from "./utilities"
|
||||||
import { createAutomationBuilder } from "./utilities/AutomationTestBuilder"
|
import { createAutomationBuilder } from "./utilities/AutomationTestBuilder"
|
||||||
import * as automation from "../index"
|
import * as automation from "../index"
|
||||||
|
import { basicTable } from "../../tests/utilities/structures"
|
||||||
|
|
||||||
const NAME = "Test"
|
const NAME = "Test"
|
||||||
|
|
||||||
|
@ -13,6 +14,7 @@ describe("Test a query step automation", () => {
|
||||||
await automation.init()
|
await automation.init()
|
||||||
await config.init()
|
await config.init()
|
||||||
table = await config.createTable()
|
table = await config.createTable()
|
||||||
|
|
||||||
const row = {
|
const row = {
|
||||||
name: NAME,
|
name: NAME,
|
||||||
description: "original description",
|
description: "original description",
|
||||||
|
@ -153,4 +155,32 @@ describe("Test a query step automation", () => {
|
||||||
expect(result.steps[0].outputs.rows).toBeDefined()
|
expect(result.steps[0].outputs.rows).toBeDefined()
|
||||||
expect(result.steps[0].outputs.rows.length).toBe(2)
|
expect(result.steps[0].outputs.rows.length).toBe(2)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("return rows when querying a table with a space in the name", async () => {
|
||||||
|
const tableWithSpaces = await config.createTable({
|
||||||
|
...basicTable(),
|
||||||
|
name: "table with spaces",
|
||||||
|
})
|
||||||
|
await config.createRow({
|
||||||
|
name: NAME,
|
||||||
|
tableId: tableWithSpaces._id,
|
||||||
|
})
|
||||||
|
const result = await createAutomationBuilder({
|
||||||
|
name: "Return All Test",
|
||||||
|
config,
|
||||||
|
})
|
||||||
|
.appAction({ fields: {} })
|
||||||
|
.queryRows(
|
||||||
|
{
|
||||||
|
tableId: tableWithSpaces._id!,
|
||||||
|
onEmptyFilter: EmptyFilterOption.RETURN_ALL,
|
||||||
|
filters: {},
|
||||||
|
},
|
||||||
|
{ stepName: "Query table with spaces" }
|
||||||
|
)
|
||||||
|
.run()
|
||||||
|
expect(result.steps[0].outputs.success).toBe(true)
|
||||||
|
expect(result.steps[0].outputs.rows).toBeDefined()
|
||||||
|
expect(result.steps[0].outputs.rows.length).toBe(1)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue