Files
db/db_test.go
T
whatandClaude 304d553b3c docs: Add CLAUDE.md with codebase guidance
Create comprehensive documentation for future Claude Code instances working in this repository, including:
- Development commands for testing, building, and code quality
- Core architecture overview of the SQL query builder system
- Directory structure and component explanations
- Testing patterns and conventions
- Key dependencies and their purposes

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-27 15:47:28 +08:00

62 lines
1.5 KiB
Go

package db_test
import (
"testing"
dbv2 "git.fsdpf.net/go/db"
"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))
}