package db import ( "context" "testing" ) func TestEnsureUser(t *testing.T) { s, _, cleanup := newTestStore(t) defer cleanup() ctx := context.Background() id, err := s.EnsureUser(ctx, "bigbes") if err != nil { t.Fatalf("ensure user (insert): %v", err) } if id == 0 { t.Fatal("expected a non-zero user id") } // Idempotent: a second call for the same username returns the same id. id2, err := s.EnsureUser(ctx, "bigbes") if err != nil { t.Fatalf("ensure user (upsert): %v", err) } if id2 != id { t.Fatalf("ensure user id changed: got %d, want %d", id2, id) } // A different username gets its own row. other, err := s.EnsureUser(ctx, "someone") if err != nil { t.Fatalf("ensure other user: %v", err) } if other == id { t.Fatalf("distinct username reused id %d", id) } }