From 3e7455ef31087568867de1f042d68a1f76f907bc Mon Sep 17 00:00:00 2001 From: Sebastiaan de Schaetzen Date: Sat, 22 Mar 2025 06:33:19 +0100 Subject: [PATCH] Add tests for delete query and transaction rollback --- query_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/query_test.go b/query_test.go index fe070f8..13b34c0 100644 --- a/query_test.go +++ b/query_test.go @@ -110,3 +110,26 @@ func TestQueryWithPointerStringArgumentsCanSetToNull(t *testing.T) { require.NoError(t, err) require.Nil(t, result) } + +func TestDeleteQuery(t *testing.T) { + db := openTestDb(t) + db.Query("delete from mytable where key = 'foo'").MustExec() + + var count int + db.Query("select count(*) from mytable where key = 'foo'").MustScanSingle(&count) + require.Equal(t, 0, count, "expected row to be deleted") +} + +func TestTransactionRollback(t *testing.T) { + db := openTestDb(t) + func() { + tx := db.MustBegin() + defer tx.MustRollback() + tx.Query("update mytable set value = 'ipsum' where key = 'foo'").MustExec() + // Intentionally not committing the transaction + }() + + var value string + db.Query("select value from mytable where key = 'foo'").MustScanSingle(&value) + require.Equal(t, "bar", value, "expected original value after rollback") +}