(step, variables, sql)
| 259 | } |
| 260 | |
| 261 | async executeStep(step, variables, sql) { |
| 262 | const queryTemplate = step.query; |
| 263 | const parameters = step.parameters || []; |
| 264 | const expect = step.expect || {}; |
| 265 | |
| 266 | const queryWithVars = this.substituteVariables(queryTemplate, variables); |
| 267 | const query = this.adjustPlaceholderSyntax(queryWithVars); |
| 268 | |
| 269 | const resolvedParameters = this.resolveParameters(parameters, variables); |
| 270 | |
| 271 | // Each step runs in its own transaction |
| 272 | let result; |
| 273 | await sql.begin(async (transaction) => { |
| 274 | result = await this.executeQuery(transaction, query, resolvedParameters); |
| 275 | }); |
| 276 | |
| 277 | if (Object.keys(expect).length > 0) { |
| 278 | this.assertResult(expect, result); |
| 279 | } |
| 280 | } |
| 281 | |
| 282 | async executeSteps(steps, variables, sql) { |
| 283 | for (const step of steps) { |
no test coverage detected