package m2mcore import ( "context" "errors" "testing" ) func TestMemoryDeleteDraft(t *testing.T) { r := NewMemoryRepository() ctx := context.Background() d := &Deal{ID: "d1", GUID: "g1", State: StateDraft} if _, err := r.Create(ctx, d); err != nil { t.Fatal(err) } s := &Deal{ID: "d2", GUID: "g2", State: StateSubmittedToNSD} if _, err := r.Create(ctx, s); err != nil { t.Fatal(err) } if err := r.DeleteDraft(ctx, "d2"); !errors.Is(err, ErrNotDraft) { t.Fatalf("ушедшую в НРД удалять нельзя: %v", err) } if err := r.DeleteDraft(ctx, "d1"); err != nil { t.Fatal(err) } if _, err := r.GetByID(ctx, "d1"); err == nil { t.Fatal("черновик должен быть удалён") } if _, err := r.GetByGUID(ctx, "g1"); err == nil { t.Fatal("черновик должен быть удалён и по GUID") } }