Intentando crear algunas pruebas unitarias útiles para el controlador qldb del nodo. Un caso de uso común es que abre una transacción con executeLambda(), verifica si su artículo existe, si no se inserta, sale de la transacción.
ejemplo de código simple se vería así;
return await client.executeLambda(async (txn) => { const res = ( await txn.execute( "SELECT * FROM Foo WHERE Bar = ?", "FooBar" ) ).getResultList(); if (res.length == 0) { const foo = { Bar = "FooBar"}; await txn.execute("INSERT INTO Foo ?", foo); return foo; } else { return res[0]; } });Burlarse de executeLambda para devolver una promesa resuelta con un objeto es fácil, pero cómo probar que TransactionExecutor se ejecutó varias veces y con consultas específicas, etc. Cómo simular la primera ejecución para devolver una matriz con un elemento para presionar la segunda ejecución. .