package core_test import ( "testing" "github.com/pocketbase/pocketbase/core" ) func TestBaseModel(t *testing.T) { id := "test_id" m := core.BaseModel{Id: id} if m.PK() != id { t.Fatalf("[before PostScan] Expected PK %q, got %q", "", m.PK()) } if m.LastSavedPK() != "" { t.Fatalf("[before PostScan] Expected LastSavedPK %q, got %q", "", m.LastSavedPK()) } if !m.IsNew() { t.Fatalf("[before PostScan] Expected IsNew %v, got %v", true, m.IsNew()) } if err := m.PostScan(); err != nil { t.Fatal(err) } if m.PK() != id { t.Fatalf("[after PostScan] Expected PK %q, got %q", "", m.PK()) } if m.LastSavedPK() != id { t.Fatalf("[after PostScan] Expected LastSavedPK %q, got %q", id, m.LastSavedPK()) } if m.IsNew() { t.Fatalf("[after PostScan] Expected IsNew %v, got %v", false, m.IsNew()) } m.MarkAsNew() if m.PK() != id { t.Fatalf("[after MarkAsNew] Expected PK %q, got %q", id, m.PK()) } if m.LastSavedPK() != "" { t.Fatalf("[after MarkAsNew] Expected LastSavedPK %q, got %q", "", m.LastSavedPK()) } if !m.IsNew() { t.Fatalf("[after MarkAsNew] Expected IsNew %v, got %v", true, m.IsNew()) } // mark as not new without id m.MarkAsNotNew() if m.PK() != id { t.Fatalf("[after MarkAsNotNew] Expected PK %q, got %q", id, m.PK()) } if m.LastSavedPK() != id { t.Fatalf("[after MarkAsNotNew] Expected LastSavedPK %q, got %q", id, m.LastSavedPK()) } if m.IsNew() { t.Fatalf("[after MarkAsNotNew] Expected IsNew %v, got %v", false, m.IsNew()) } }