Skip to content

Commit

Permalink
fix error
Browse files Browse the repository at this point in the history
  • Loading branch information
hwbrzzl committed Sep 24, 2024
1 parent 877e6a9 commit 594a097
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 62 deletions.
74 changes: 37 additions & 37 deletions database/gorm/query_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,19 @@ func TestQueryTestSuite(t *testing.T) {
testContext = context.Background()
testContext = context.WithValue(testContext, testContextKey, "goravel")

mysqls := supportdocker.Mysqls(2)

mysqlDocker := NewMysqlDocker(mysqls[0])
mysqlQuery, err := mysqlDocker.New()
if err != nil {
log.Fatalf("Init mysql error: %s", err)
}

mysql1Docker := NewMysqlDocker(mysqls[1])
_, err = mysql1Docker.New()
if err != nil {
log.Fatalf("Init mysql error: %s", err)
}
//mysqls := supportdocker.Mysqls(2)
//
//mysqlDocker := NewMysqlDocker(mysqls[0])
//mysqlQuery, err := mysqlDocker.New()
//if err != nil {
// log.Fatalf("Init mysql error: %s", err)
//}
//
//mysql1Docker := NewMysqlDocker(mysqls[1])
//_, err = mysql1Docker.New()
//if err != nil {
// log.Fatalf("Init mysql error: %s", err)
//}

postgres := supportdocker.Postgres()
postgresDocker := NewPostgresDocker(postgres)
Expand All @@ -62,31 +62,31 @@ func TestQueryTestSuite(t *testing.T) {
log.Fatalf("Init postgres error: %s", err)
}

sqliteDocker := NewSqliteDocker(supportdocker.Sqlite())
sqliteQuery, err := sqliteDocker.New()
if err != nil {
log.Fatalf("Init sqlite error: %s", err)
}

sqlserverDocker := NewSqlserverDocker(supportdocker.Sqlserver())
sqlserverQuery, err := sqlserverDocker.New()
if err != nil {
log.Fatalf("Init sqlserver error: %s", err)
}
//sqliteDocker := NewSqliteDocker(supportdocker.Sqlite())
//sqliteQuery, err := sqliteDocker.New()
//if err != nil {
// log.Fatalf("Init sqlite error: %s", err)
//}
//
//sqlserverDocker := NewSqlserverDocker(supportdocker.Sqlserver())
//sqlserverQuery, err := sqlserverDocker.New()
//if err != nil {
// log.Fatalf("Init sqlserver error: %s", err)
//}

suite.Run(t, &QueryTestSuite{
queries: map[contractsorm.Driver]contractsorm.Query{
contractsorm.DriverMysql: mysqlQuery,
contractsorm.DriverPostgres: postgresQuery,
contractsorm.DriverSqlite: sqliteQuery,
contractsorm.DriverSqlserver: sqlserverQuery,
//contractsorm.DriverMysql: mysqlQuery,
contractsorm.DriverPostgres: postgresQuery,
//contractsorm.DriverSqlite: sqliteQuery,
//contractsorm.DriverSqlserver: sqlserverQuery,
},
mysqlDocker: mysqlDocker,
mysql1: mysqls[1],
postgres: postgres,
postgresDocker: postgresDocker,
sqliteDocker: sqliteDocker,
sqlserverDocker: sqlserverDocker,
//mysqlDocker: mysqlDocker,
//mysql1: mysqls[1],
postgres: postgres,
postgresDocker: postgresDocker,
//sqliteDocker: sqliteDocker,
//sqlserverDocker: sqlserverDocker,
})
}

Expand Down Expand Up @@ -563,7 +563,7 @@ func (s *QueryTestSuite) TestDBRaw() {
}

func (s *QueryTestSuite) TestDelete() {
for driver, query := range s.queries {
for _, query := range s.queries {
tests := []struct {
name string
setup func()
Expand Down Expand Up @@ -654,7 +654,7 @@ func (s *QueryTestSuite) TestDelete() {
s.Nil(query.Create(&user))
s.True(user.ID > 0)

res, err := query.Delete(&User{}, user.ID)
res, err := query.Where("id", user.ID).Delete(&User{})
s.Equal(int64(1), res.RowsAffected)
s.Nil(err)

Expand All @@ -671,7 +671,7 @@ func (s *QueryTestSuite) TestDelete() {
s.True(users[0].ID > 0)
s.True(users[1].ID > 0)

res, err := query.Delete(&User{}, []uint{users[0].ID, users[1].ID})
res, err := query.WhereIn("id", []any{users[0].ID, users[1].ID}).Delete(&User{})
s.Equal(int64(2), res.RowsAffected)
s.Nil(err)

Expand Down
50 changes: 25 additions & 25 deletions database/gorm/to_sql_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ func TestToSqlTestSuite(t *testing.T) {
func (s *ToSqlTestSuite) SetupTest() {}

func (s *ToSqlTestSuite) TestCount() {
toSql := NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), false)
toSql := NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), false)
s.Equal("SELECT count(*) FROM `users` WHERE `id` = ? AND `users`.`deleted_at` IS NULL", toSql.Count())

toSql = NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), true)
toSql = NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), true)
s.Equal("SELECT count(*) FROM `users` WHERE `id` = 1 AND `users`.`deleted_at` IS NULL", toSql.Count())
}

Expand All @@ -47,7 +47,7 @@ func (s *ToSqlTestSuite) TestCreate() {
toSql := NewToSql(s.query.(*QueryImpl), false)
s.Equal("INSERT INTO `users` (`created_at`,`updated_at`,`deleted_at`,`name`,`bio`,`avatar`) VALUES (?,?,?,?,?,?)", toSql.Create(&user))

toSql = NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), true)
toSql = NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), true)
s.Contains(toSql.Create(&user), "INSERT INTO `users` (`created_at`,`updated_at`,`deleted_at`,`name`,`bio`,`avatar`) VALUES (")
s.Contains(toSql.Create(&user), ",NULL,'to_sql_create',NULL,'')")

Expand All @@ -58,54 +58,54 @@ func (s *ToSqlTestSuite) TestCreate() {

func (s *ToSqlTestSuite) TestDelete() {
toSql := NewToSql(s.query.Where("id", 1).(*QueryImpl), false)
s.Equal("UPDATE `users` SET `deleted_at`=? WHERE `id` = ? AND `users`.`deleted_at` IS NULL", toSql.Delete(User{}))
s.Equal("UPDATE `users` SET `deleted_at`=? WHERE `id` = ? AND `users`.`deleted_at` IS NULL", toSql.Delete(&User{}))

toSql = NewToSql(s.query.(*QueryImpl), false)
s.Equal("UPDATE `users` SET `deleted_at`=? WHERE `users`.`id` = ? AND `users`.`deleted_at` IS NULL", toSql.Delete(User{}, 1))
s.Equal("UPDATE `users` SET `deleted_at`=? WHERE `users`.`id` = ? AND `users`.`deleted_at` IS NULL", toSql.Delete(&User{}, 1))

toSql = NewToSql(s.query.Where("id", 1).(*QueryImpl), false)
s.Equal("DELETE FROM `roles` WHERE `id` = ?", toSql.Delete(Role{}))
s.Equal("DELETE FROM `roles` WHERE `id` = ?", toSql.Delete(&Role{}))

toSql = NewToSql(s.query.(*QueryImpl), false)
s.Equal("DELETE FROM `roles` WHERE `roles`.`id` = ?", toSql.Delete(Role{}, 1))
s.Equal("DELETE FROM `roles` WHERE `roles`.`id` = ?", toSql.Delete(&Role{}, 1))

toSql = NewToSql(s.query.Where("id", 1).(*QueryImpl), true)
sql := toSql.Delete(User{})
sql := toSql.Delete(&User{})
s.Contains(sql, "UPDATE `users` SET `deleted_at`=")
s.Contains(sql, "WHERE `id` = 1 AND `users`.`deleted_at` IS NULL")

toSql = NewToSql(s.query.(*QueryImpl), true)
sql = toSql.Delete(User{}, 1)
sql = toSql.Delete(&User{}, 1)
s.Contains(sql, "UPDATE `users` SET `deleted_at`=")
s.Contains(sql, "WHERE `users`.`id` = 1 AND `users`.`deleted_at` IS NULL")

toSql = NewToSql(s.query.Where("id", 1).(*QueryImpl), true)
s.Equal("DELETE FROM `roles` WHERE `id` = 1", toSql.Delete(Role{}))
s.Equal("DELETE FROM `roles` WHERE `id` = 1", toSql.Delete(&Role{}))

toSql = NewToSql(s.query.(*QueryImpl), true)
s.Equal("DELETE FROM `roles` WHERE `roles`.`id` = 1", toSql.Delete(Role{}, 1))
s.Equal("DELETE FROM `roles` WHERE `roles`.`id` = 1", toSql.Delete(&Role{}, 1))
}

func (s *ToSqlTestSuite) TestFind() {
toSql := NewToSql(s.query.Where("id", 1).(*QueryImpl), false)
s.Equal("SELECT * FROM `users` WHERE `id` = ? AND `users`.`deleted_at` IS NULL", toSql.Find(User{}))
s.Equal("SELECT * FROM `users` WHERE `id` = ? AND `users`.`deleted_at` IS NULL", toSql.Find(&User{}))

toSql = NewToSql(s.query.(*QueryImpl), false)
s.Equal("SELECT * FROM `users` WHERE `users`.`id` = ? AND `users`.`deleted_at` IS NULL", toSql.Find(User{}, 1))
s.Equal("SELECT * FROM `users` WHERE `users`.`id` = ? AND `users`.`deleted_at` IS NULL", toSql.Find(&User{}, 1))

toSql = NewToSql(s.query.Where("id", 1).(*QueryImpl), true)
s.Equal("SELECT * FROM `users` WHERE `id` = 1 AND `users`.`deleted_at` IS NULL", toSql.Find(User{}))
s.Equal("SELECT * FROM `users` WHERE `id` = 1 AND `users`.`deleted_at` IS NULL", toSql.Find(&User{}))

toSql = NewToSql(s.query.(*QueryImpl), true)
s.Equal("SELECT * FROM `users` WHERE `users`.`id` = 1 AND `users`.`deleted_at` IS NULL", toSql.Find(User{}, 1))
s.Equal("SELECT * FROM `users` WHERE `users`.`id` = 1 AND `users`.`deleted_at` IS NULL", toSql.Find(&User{}, 1))
}

func (s *ToSqlTestSuite) TestFirst() {
toSql := NewToSql(s.query.Where("id", 1).(*QueryImpl), false)
s.Equal("SELECT * FROM `users` WHERE `id` = ? AND `users`.`deleted_at` IS NULL ORDER BY `users`.`id` LIMIT ?", toSql.First(User{}))
s.Equal("SELECT * FROM `users` WHERE `id` = ? AND `users`.`deleted_at` IS NULL ORDER BY `users`.`id` LIMIT ?", toSql.First(&User{}))

toSql = NewToSql(s.query.Where("id", 1).(*QueryImpl), true)
s.Equal("SELECT * FROM `users` WHERE `id` = 1 AND `users`.`deleted_at` IS NULL ORDER BY `users`.`id` LIMIT 1", toSql.First(User{}))
s.Equal("SELECT * FROM `users` WHERE `id` = 1 AND `users`.`deleted_at` IS NULL ORDER BY `users`.`id` LIMIT 1", toSql.First(&User{}))
}

func (s *ToSqlTestSuite) TestGet() {
Expand Down Expand Up @@ -143,38 +143,38 @@ func (s *ToSqlTestSuite) TestSum() {
}

func (s *ToSqlTestSuite) TestUpdate() {
toSql := NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), false)
toSql := NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), false)
s.Equal("UPDATE `users` SET `name`=?,`updated_at`=? WHERE `id` = ? AND `users`.`deleted_at` IS NULL", toSql.Update("name", "goravel"))

toSql = NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), true)
toSql = NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), true)
sql := toSql.Update("name", "goravel")
s.Contains(sql, "UPDATE `users` SET `name`='goravel',`updated_at`=")
s.Contains(sql, "WHERE `id` = 1 AND `users`.`deleted_at` IS NULL")

toSql = NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), false)
toSql = NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), false)
s.Empty(toSql.Update(0, "goravel"))

toSql = NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), true)
toSql = NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), true)
s.Empty(toSql.Update(0, "goravel"))

toSql = NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), false)
toSql = NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), false)
s.Equal("UPDATE `users` SET `name`=?,`updated_at`=? WHERE `id` = ? AND `users`.`deleted_at` IS NULL", toSql.Update(map[string]any{
"name": "goravel",
}))

toSql = NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), true)
toSql = NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), true)
sql = toSql.Update(map[string]any{
"name": "goravel",
})
s.Contains(sql, "UPDATE `users` SET `name`='goravel',`updated_at`=")
s.Contains(sql, "WHERE `id` = 1 AND `users`.`deleted_at` IS NULL")

toSql = NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), false)
toSql = NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), false)
s.Equal("UPDATE `users` SET `updated_at`=?,`name`=? WHERE `id` = ? AND `users`.`deleted_at` IS NULL", toSql.Update(User{
Name: "goravel",
}))

toSql = NewToSql(s.query.Model(User{}).Where("id", 1).(*QueryImpl), true)
toSql = NewToSql(s.query.Model(&User{}).Where("id", 1).(*QueryImpl), true)
sql = toSql.Update(User{
Name: "goravel",
})
Expand Down

0 comments on commit 594a097

Please sign in to comment.