Files
sqimple/update_test.go
2026-07-07 22:07:50 +01:00

42 lines
998 B
Go

package sqimple
import (
"testing"
"github.com/alecthomas/assert/v2"
)
func TestUpdate(t *testing.T) {
type TestCase struct {
In *UpdateStatement
Args []any
String string
}
testCases := []TestCase{
{
In: Update("customer").Set("name", "Adam"),
Args: []any{"Adam"},
String: "update customer set name = ?",
},
{
In: Update("customer").Set("name", "Adam").Where("id = ?", 1234),
Args: []any{"Adam", 1234},
String: "update customer set name = ? where id = ?",
},
{
// Same as previous, but backwards
In: Update("customer").Where("id = ?", 1234).Set("name", "Adam"),
Args: []any{"Adam", 1234},
String: "update customer set name = ? where id = ?",
},
}
for _, testCase := range testCases {
t.Run(testCase.String, func(t *testing.T) {
assert.Equal(t, testCase.Args, testCase.In.Args(), "collected arguments incorrectly")
assert.Equal(t, testCase.String, testCase.In.String(), "stringified incorrectly")
})
}
}