package db_test import ( "testing" dbv2 "git.fsdpf.net/go/db/v2" "github.com/DATA-DOG/go-sqlmock" "github.com/stretchr/testify/suite" ) type ( dialectWrapperSuite struct { suite.Suite } ) func (dws *dialectWrapperSuite) SetupSuite() { testDialect := dbv2.DefaultDialectOptions() // override to some value to ensure correct dialect is set dbv2.RegisterDialect("test", testDialect) } func (dws *dialectWrapperSuite) TearDownSuite() { dbv2.DeregisterDialect("test") } func (dws *dialectWrapperSuite) TestFrom() { dw := dbv2.Dialect("test") dws.Equal(dbv2.From("table").WithDialect("test"), dw.From("table")) } func (dws *dialectWrapperSuite) TestSelect() { dw := dbv2.Dialect("test") dws.Equal(dbv2.Select("col").WithDialect("test"), dw.Select("col")) } func (dws *dialectWrapperSuite) TestInsert() { dw := dbv2.Dialect("test") dws.Equal(dbv2.Insert("table").WithDialect("test"), dw.Insert("table")) } func (dws *dialectWrapperSuite) TestDelete() { dw := dbv2.Dialect("test") dws.Equal(dbv2.Delete("table").WithDialect("test"), dw.Delete("table")) } func (dws *dialectWrapperSuite) TestTruncate() { dw := dbv2.Dialect("test") dws.Equal(dbv2.Truncate("table").WithDialect("test"), dw.Truncate("table")) } func (dws *dialectWrapperSuite) TestDB() { mDB, _, err := sqlmock.New() dws.Require().NoError(err) dw := dbv2.Dialect("test") dws.Equal(dbv2.New("test", mDB), dw.DB(mDB)) } func TestDialectWrapper(t *testing.T) { suite.Run(t, new(dialectWrapperSuite)) }