Files
db/db_test.go
T
2025-03-22 23:02:05 +08:00

62 lines
1.5 KiB
Go

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))
}