updated tests
This commit is contained in:
parent
5dbf975424
commit
dbc074ee9a
|
@ -115,6 +115,18 @@ func TestSyncRecordTableSchema(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getTotalViews(app core.App) (int, error) {
|
||||||
|
var total int
|
||||||
|
|
||||||
|
err := app.DB().Select("count(*)").
|
||||||
|
From("sqlite_master").
|
||||||
|
AndWhere(dbx.NewExp("sql is not null")).
|
||||||
|
AndWhere(dbx.HashExp{"type": "view"}).
|
||||||
|
Row(&total)
|
||||||
|
|
||||||
|
return total, err
|
||||||
|
}
|
||||||
|
|
||||||
func TestSingleVsMultipleValuesNormalization(t *testing.T) {
|
func TestSingleVsMultipleValuesNormalization(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
|
@ -126,6 +138,11 @@ func TestSingleVsMultipleValuesNormalization(t *testing.T) {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
beforeTotalViews, err := getTotalViews(app)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
// mock field changes
|
// mock field changes
|
||||||
collection.Fields.GetByName("select_one").(*core.SelectField).MaxSelect = 2
|
collection.Fields.GetByName("select_one").(*core.SelectField).MaxSelect = 2
|
||||||
collection.Fields.GetByName("select_many").(*core.SelectField).MaxSelect = 1
|
collection.Fields.GetByName("select_many").(*core.SelectField).MaxSelect = 1
|
||||||
|
@ -146,11 +163,13 @@ func TestSingleVsMultipleValuesNormalization(t *testing.T) {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ensures that the writable schema was reverted to its expected default
|
// ensure that the views were reinserted
|
||||||
var writableSchema bool
|
afterTotalViews, err := getTotalViews(app)
|
||||||
app.DB().NewQuery("PRAGMA writable_schema").Row(&writableSchema)
|
if err != nil {
|
||||||
if writableSchema == true {
|
t.Fatal(err)
|
||||||
t.Fatalf("Expected writable_schema to be OFF, got %v", writableSchema)
|
}
|
||||||
|
if afterTotalViews != beforeTotalViews {
|
||||||
|
t.Fatalf("Expected total views %d, got %d", beforeTotalViews, afterTotalViews)
|
||||||
}
|
}
|
||||||
|
|
||||||
// check whether the columns DEFAULT definition was updated
|
// check whether the columns DEFAULT definition was updated
|
||||||
|
|
|
@ -141,7 +141,7 @@ func (app *BaseApp) delete(ctx context.Context, model Model, isForAuxDB bool) er
|
||||||
})
|
})
|
||||||
if deleteErr != nil {
|
if deleteErr != nil {
|
||||||
errEvent := &ModelErrorEvent{ModelEvent: *event, Error: deleteErr}
|
errEvent := &ModelErrorEvent{ModelEvent: *event, Error: deleteErr}
|
||||||
errEvent.App = app
|
errEvent.App = app // replace with the initial app in case it was changed by the hook
|
||||||
hookErr := app.OnModelAfterDeleteError().Trigger(errEvent)
|
hookErr := app.OnModelAfterDeleteError().Trigger(errEvent)
|
||||||
if hookErr != nil {
|
if hookErr != nil {
|
||||||
return errors.Join(deleteErr, hookErr)
|
return errors.Join(deleteErr, hookErr)
|
||||||
|
@ -332,7 +332,7 @@ func (app *BaseApp) create(ctx context.Context, model Model, withValidations boo
|
||||||
event.Model.MarkAsNew() // reset "new" state
|
event.Model.MarkAsNew() // reset "new" state
|
||||||
|
|
||||||
errEvent := &ModelErrorEvent{ModelEvent: *event, Error: saveErr}
|
errEvent := &ModelErrorEvent{ModelEvent: *event, Error: saveErr}
|
||||||
errEvent.App = app
|
errEvent.App = app // replace with the initial app in case it was changed by the hook
|
||||||
hookErr := app.OnModelAfterCreateError().Trigger(errEvent)
|
hookErr := app.OnModelAfterCreateError().Trigger(errEvent)
|
||||||
if hookErr != nil {
|
if hookErr != nil {
|
||||||
return errors.Join(saveErr, hookErr)
|
return errors.Join(saveErr, hookErr)
|
||||||
|
@ -416,7 +416,7 @@ func (app *BaseApp) update(ctx context.Context, model Model, withValidations boo
|
||||||
})
|
})
|
||||||
if saveErr != nil {
|
if saveErr != nil {
|
||||||
errEvent := &ModelErrorEvent{ModelEvent: *event, Error: saveErr}
|
errEvent := &ModelErrorEvent{ModelEvent: *event, Error: saveErr}
|
||||||
errEvent.App = app
|
errEvent.App = app // replace with the initial app in case it was changed by the hook
|
||||||
hookErr := app.OnModelAfterUpdateError().Trigger(errEvent)
|
hookErr := app.OnModelAfterUpdateError().Trigger(errEvent)
|
||||||
if hookErr != nil {
|
if hookErr != nil {
|
||||||
return errors.Join(saveErr, hookErr)
|
return errors.Join(saveErr, hookErr)
|
||||||
|
|
Loading…
Reference in New Issue