Advertisement
Guest User

Untitled

a guest
May 19th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. import sqlite3 from "sqlite3";
  2.  
  3. let db: any;
  4.  
  5. beforeEach(done => {
  6. db = new sqlite3.Database(":memory:", () => {
  7. db.run("CREATE TABLE foo (a INT, b INT)", done);
  8. });
  9. });
  10.  
  11. test("This is valid prepared statement with row values as an example", done => {
  12. db.run("INSERT INTO foo VALUES (1,2), (2,3), (3,4)", (err: any) => {
  13. db.all(
  14. "SELECT * from foo WHERE (a,b) IN (VALUES (?, ?), (?, ?))",
  15. [2, 3, 3, 4],
  16. (err: any, rows: any) => {
  17. expect(err).toBe(undefined);
  18. expect(rows).toEqual([{ a: 2, b: 3 }, { a: 3, b: 4 }]);
  19. done();
  20. }
  21. );
  22. });
  23. });
  24.  
  25. test("This is what I would like it to be, yet it fails", done => {
  26. db.run("INSERT INTO foo VALUES (1,2), (2,3), (3,4)", (err: any) => {
  27. db.all("SELECT * from foo WHERE (a,b) IN ?", [[2, 3], [3, 4]], (err: any, rows: any) => {
  28. // It fails here with: Error: SQLITE_ERROR: near "?": syntax error
  29. expect(err).toBe(undefined);
  30. expect(rows).toEqual([{ a: 2, b: 3 }, { a: 3, b: 4 }]);
  31. done();
  32. });
  33. });
  34. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement