Merge pull request #15675 from Budibase/fix-max-iterations-output
Fix automation test output when loop max iterations or failure condition hit
This commit is contained in:
commit
2de2b54a86
|
@ -195,7 +195,34 @@ describe("Attempt to run a basic loop automation", () => {
|
||||||
.serverLog({ text: "{{steps.1.iterations}}" })
|
.serverLog({ text: "{{steps.1.iterations}}" })
|
||||||
.test({ fields: {} })
|
.test({ fields: {} })
|
||||||
|
|
||||||
|
expect(results.steps[0].outputs.status).toBe(
|
||||||
|
AutomationStepStatus.MAX_ITERATIONS
|
||||||
|
)
|
||||||
expect(results.steps[0].outputs.iterations).toBe(2)
|
expect(results.steps[0].outputs.iterations).toBe(2)
|
||||||
|
expect(results.steps[0].outputs.items).toHaveLength(2)
|
||||||
|
expect(results.steps[0].outputs.items[0].message).toEndWith("test")
|
||||||
|
expect(results.steps[0].outputs.items[1].message).toEndWith("test2")
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should stop when a failure condition is hit", async () => {
|
||||||
|
const results = await createAutomationBuilder(config)
|
||||||
|
.onAppAction()
|
||||||
|
.loop({
|
||||||
|
option: LoopStepType.ARRAY,
|
||||||
|
binding: ["test", "test2", "test3"],
|
||||||
|
failure: "test3",
|
||||||
|
})
|
||||||
|
.serverLog({ text: "{{loop.currentItem}}" })
|
||||||
|
.serverLog({ text: "{{steps.1.iterations}}" })
|
||||||
|
.test({ fields: {} })
|
||||||
|
|
||||||
|
expect(results.steps[0].outputs.status).toBe(
|
||||||
|
AutomationStepStatus.FAILURE_CONDITION
|
||||||
|
)
|
||||||
|
expect(results.steps[0].outputs.iterations).toBe(2)
|
||||||
|
expect(results.steps[0].outputs.items).toHaveLength(2)
|
||||||
|
expect(results.steps[0].outputs.items[0].message).toEndWith("test")
|
||||||
|
expect(results.steps[0].outputs.items[1].message).toEndWith("test2")
|
||||||
})
|
})
|
||||||
|
|
||||||
it("should run an automation with loop and max iterations to ensure context correctness further down the tree", async () => {
|
it("should run an automation with loop and max iterations to ensure context correctness further down the tree", async () => {
|
||||||
|
|
|
@ -478,6 +478,7 @@ class Orchestrator {
|
||||||
return stepFailure(stepToLoop, {
|
return stepFailure(stepToLoop, {
|
||||||
status: AutomationStepStatus.MAX_ITERATIONS,
|
status: AutomationStepStatus.MAX_ITERATIONS,
|
||||||
iterations,
|
iterations,
|
||||||
|
items,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -488,6 +489,8 @@ class Orchestrator {
|
||||||
})
|
})
|
||||||
return stepFailure(stepToLoop, {
|
return stepFailure(stepToLoop, {
|
||||||
status: AutomationStepStatus.FAILURE_CONDITION,
|
status: AutomationStepStatus.FAILURE_CONDITION,
|
||||||
|
iterations,
|
||||||
|
items,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue