update test row

This commit is contained in:
多多 2019-09-29 11:17:01 +08:00
parent d37b8335b9
commit f120d73943
1 changed files with 21 additions and 21 deletions

View File

@ -242,86 +242,86 @@ func TestUnscopeDelete(t *testing.T) {
func TestSoftDeleted(t *testing.T) { func TestSoftDeleted(t *testing.T) {
assert.NoError(t, prepareEngine()) assert.NoError(t, prepareEngine())
type Deleted struct { type YySoftDeleted struct {
Id int64 `xorm:"pk"` Id int64 `xorm:"pk"`
Name string Name string
DeletedAt int64 `xorm:"not null default '0' comment('删除状态') deleted "` DeletedAt int64 `xorm:"not null default '0' comment('删除状态') deleted "`
} }
testEngine.SetSoftDeleteHandler(&DefaultSoftDeleteHandler{}) testEngine.SetSoftDeleteHandler(&DefaultSoftDeleteHandler{})
defer testEngine.SetSoftDeleteHandler(nil) defer testEngine.SetSoftDeleteHandler(nil)
err := testEngine.DropTables(&Deleted{}) err := testEngine.DropTables(&YySoftDeleted{})
assert.NoError(t, err) assert.NoError(t, err)
err = testEngine.CreateTables(&Deleted{}) err = testEngine.CreateTables(&YySoftDeleted{})
assert.NoError(t, err) assert.NoError(t, err)
_, err = testEngine.InsertOne(&Deleted{Id: 1, Name: "4444"}) _, err = testEngine.InsertOne(&YySoftDeleted{Id: 1, Name: "4444"})
assert.NoError(t, err) assert.NoError(t, err)
_, err = testEngine.InsertOne(&Deleted{Id: 2, Name: "5555"}) _, err = testEngine.InsertOne(&YySoftDeleted{Id: 2, Name: "5555"})
assert.NoError(t, err) assert.NoError(t, err)
_, err = testEngine.InsertOne(&Deleted{Id: 3, Name: "6666"}) _, err = testEngine.InsertOne(&YySoftDeleted{Id: 3, Name: "6666"})
assert.NoError(t, err) assert.NoError(t, err)
// Test normal Find() // Test normal Find()
var records1 []Deleted var records1 []YySoftDeleted
err = testEngine.Where("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"` > 0").Find(&records1, &Deleted{}) err = testEngine.Where("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"` > 0").Find(&records1, &YySoftDeleted{})
fmt.Printf("%+v", records1) fmt.Printf("%+v", records1)
assert.EqualValues(t, 3, len(records1)) assert.EqualValues(t, 3, len(records1))
// Test normal Get() // Test normal Get()
record1 := &Deleted{} record1 := &YySoftDeleted{}
has, err := testEngine.ID(1).Get(record1) has, err := testEngine.ID(1).Get(record1)
assert.NoError(t, err) assert.NoError(t, err)
assert.True(t, has) assert.True(t, has)
// Test Delete() with deleted // Test Delete() with deleted
affected, err := testEngine.ID(1).Delete(&Deleted{}) affected, err := testEngine.ID(1).Delete(&YySoftDeleted{})
assert.NoError(t, err) assert.NoError(t, err)
assert.EqualValues(t, 1, affected) assert.EqualValues(t, 1, affected)
has, err = testEngine.ID(1).Get(&Deleted{}) has, err = testEngine.ID(1).Get(&YySoftDeleted{})
assert.NoError(t, err) assert.NoError(t, err)
assert.False(t, has) assert.False(t, has)
var records2 []Deleted var records2 []YySoftDeleted
err = testEngine.Where("`" + testEngine.GetColumnMapper().Obj2Table("Id") + "` > 0").Find(&records2) err = testEngine.Where("`" + testEngine.GetColumnMapper().Obj2Table("Id") + "` > 0").Find(&records2)
assert.NoError(t, err) assert.NoError(t, err)
assert.EqualValues(t, 2, len(records2)) assert.EqualValues(t, 2, len(records2))
// Test no rows affected after Delete() again. // Test no rows affected after Delete() again.
affected, err = testEngine.ID(1).Delete(&Deleted{}) affected, err = testEngine.ID(1).Delete(&YySoftDeleted{})
assert.NoError(t, err) assert.NoError(t, err)
assert.EqualValues(t, 0, affected) assert.EqualValues(t, 0, affected)
// Deleted.DeletedAt must not be updated. // Deleted.DeletedAt must not be updated.
affected, err = testEngine.ID(2).Update(&Deleted{Name: "23", DeletedAt: 1}) affected, err = testEngine.ID(2).Update(&YySoftDeleted{Name: "23", DeletedAt: 1})
assert.NoError(t, err) assert.NoError(t, err)
assert.EqualValues(t, 1, affected) assert.EqualValues(t, 1, affected)
record2 := &Deleted{} record2 := &YySoftDeleted{}
has, err = testEngine.ID(2).Get(record2) has, err = testEngine.ID(2).Get(record2)
assert.NoError(t, err) assert.NoError(t, err)
// fmt.Printf("%+v", reco) // fmt.Printf("%+v", reco)
assert.True(t, record2.DeletedAt == 0) assert.True(t, record2.DeletedAt == 0)
// Test find all records whatever `deleted`. // Test find all records whatever `deleted`.
var unscopedRecords1 []Deleted var unscopedRecords1 []YySoftDeleted
err = testEngine.Unscoped().Where("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"` > 0").Find(&unscopedRecords1, &Deleted{}) err = testEngine.Unscoped().Where("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"` > 0").Find(&unscopedRecords1, &YySoftDeleted{})
assert.NoError(t, err) assert.NoError(t, err)
assert.EqualValues(t, 3, len(unscopedRecords1)) assert.EqualValues(t, 3, len(unscopedRecords1))
// Delete() must really delete a record with Unscoped() // Delete() must really delete a record with Unscoped()
affected, err = testEngine.Unscoped().ID(1).Delete(&Deleted{}) affected, err = testEngine.Unscoped().ID(1).Delete(&YySoftDeleted{})
assert.NoError(t, err) assert.NoError(t, err)
assert.EqualValues(t, 1, affected) assert.EqualValues(t, 1, affected)
var unscopedRecords2 []Deleted var unscopedRecords2 []YySoftDeleted
err = testEngine.Unscoped().Where("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"` > 0").Find(&unscopedRecords2, &Deleted{}) err = testEngine.Unscoped().Where("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"` > 0").Find(&unscopedRecords2, &YySoftDeleted{})
assert.NoError(t, err) assert.NoError(t, err)
assert.EqualValues(t, 2, len(unscopedRecords2)) assert.EqualValues(t, 2, len(unscopedRecords2))
var records3 []Deleted var records3 []YySoftDeleted
err = testEngine.Where("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"` > 0").And("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"`> 1"). err = testEngine.Where("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"` > 0").And("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"`> 1").
Or("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"` = ?", 3).Find(&records3) Or("`"+testEngine.GetColumnMapper().Obj2Table("Id")+"` = ?", 3).Find(&records3)
assert.NoError(t, err) assert.NoError(t, err)