(Feat): Initial Commit
This commit is contained in:
46
internal/util/db/ilike_test.go
Normal file
46
internal/util/db/ilike_test.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package db_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"allaboutapps.dev/aw/go-starter/internal/models"
|
||||
"allaboutapps.dev/aw/go-starter/internal/test"
|
||||
"allaboutapps.dev/aw/go-starter/internal/util/db"
|
||||
"github.com/aarondl/sqlboiler/v4/queries"
|
||||
"github.com/aarondl/sqlboiler/v4/queries/qm"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestILike(t *testing.T) {
|
||||
query := models.NewQuery(
|
||||
qm.Select("*"),
|
||||
qm.From("users"),
|
||||
db.InnerJoin("users", "id", "app_user_profiles", "user_id"),
|
||||
db.ILike("%Max.Muster%", "users", "username"),
|
||||
db.ILike("Max", "users", "app_user_profiles", "first_name"),
|
||||
)
|
||||
|
||||
sql, args := queries.BuildQuery(query)
|
||||
|
||||
test.Snapshoter.Label("SQL").Save(t, sql)
|
||||
test.Snapshoter.Label("Args").Save(t, args...)
|
||||
}
|
||||
|
||||
func TestEscapeLike(t *testing.T) {
|
||||
res := db.EscapeLike("%foo% _b%a_r%")
|
||||
assert.Equal(t, "\\%foo\\% \\_b\\%a\\_r\\%", res)
|
||||
}
|
||||
|
||||
func TestILikeSearch(t *testing.T) {
|
||||
query := models.NewQuery(
|
||||
qm.Select("*"),
|
||||
qm.From("users"),
|
||||
db.InnerJoin("users", "id", "app_user_profiles", "user_id"),
|
||||
db.ILikeSearch(" mus%ter m_ax ", "users", "username"),
|
||||
)
|
||||
|
||||
sql, args := queries.BuildQuery(query)
|
||||
|
||||
test.Snapshoter.Label("SQL").Save(t, sql)
|
||||
test.Snapshoter.Label("Args").Save(t, args...)
|
||||
}
|
||||
Reference in New Issue
Block a user