diff --git a/app/services/setting.go b/app/services/setting.go index 7a5db5c4..7bb2ea9a 100644 --- a/app/services/setting.go +++ b/app/services/setting.go @@ -9,6 +9,7 @@ import ( type Setting interface { Get(key string, defaultValue ...string) string Set(key, value string) error + Delete(key string) error } type SettingImpl struct { @@ -49,3 +50,13 @@ func (r *SettingImpl) Set(key, value string) error { return nil } + +// Delete 删除设置 +func (r *SettingImpl) Delete(key string) error { + var setting models.Setting + if _, err := facades.Orm().Query().Where("key", key).Delete(&setting); err != nil { + return err + } + + return nil +} diff --git a/tests/setting/setting_test.go b/tests/setting/setting_test.go index 2c21bfa0..db441909 100644 --- a/tests/setting/setting_test.go +++ b/tests/setting/setting_test.go @@ -35,4 +35,13 @@ func (s *SettingTestSuite) TestGet() { func (s *SettingTestSuite) TestSet() { err := s.setting.Set("test", "test") s.Nil(err) + err = s.setting.Delete("test") + s.Nil(err) +} + +func (s *SettingTestSuite) TestDelete() { + err := s.setting.Set("test", "test") + s.Nil(err) + err = s.setting.Delete("test") + s.Nil(err) } diff --git a/tests/user/user_test.go b/tests/user/user_test.go index 08501465..b0f14ac9 100644 --- a/tests/user/user_test.go +++ b/tests/user/user_test.go @@ -3,8 +3,10 @@ package user import ( "testing" + "github.com/goravel/framework/facades" "github.com/stretchr/testify/suite" + "panel/app/models" "panel/app/services" "panel/tests" ) @@ -29,4 +31,18 @@ func (s *UserTestSuite) TestCreate() { user, err := s.user.Create("haozi", "123456") s.Nil(err) s.Equal("haozi", user.Username) + _, err = facades.Orm().Query().Where("username", "haozi").Delete(&models.User{}) + s.Nil(err) +} + +func (s *UserTestSuite) TestUpdate() { + user, err := s.user.Create("haozi", "123456") + s.Nil(err) + s.Equal("haozi", user.Username) + user.Username = "haozi2" + user, err = s.user.Update(user) + s.Nil(err) + s.Equal("haozi2", user.Username) + _, err = facades.Orm().Query().Where("username", "haozi").Delete(&models.User{}) + s.Nil(err) }