chore: promote dev to uat (CI Docker registry fix) #10

Merged
The Dogfather merged 10 commits from dev into uat 2026-05-20 11:17:22 +00:00
4 changed files with 6 additions and 6 deletions
Showing only changes of commit 42d1c5cf34 - Show all commits
+2 -2
View File
@@ -39,8 +39,8 @@ export interface Pet {
cutStyle: string | null; cutStyle: string | null;
shampooPreference: string | null; shampooPreference: string | null;
specialCareNotes: string | null; specialCareNotes: string | null;
coatType: string | null; coatType?: string | null;
petSizeCategory: string | null; petSizeCategory?: string | null;
preferredCuts: string[]; preferredCuts: string[];
medicalAlerts: MedicalAlert[]; medicalAlerts: MedicalAlert[];
temperamentScore?: number; temperamentScore?: number;
+2 -2
View File
@@ -65,7 +65,7 @@ describe("PetForm", () => {
render(<PetForm pet={BASE_PET} onSave={onSave} onCancel={onCancel} />); render(<PetForm pet={BASE_PET} onSave={onSave} onCancel={onCancel} />);
const input = screen.getByPlaceholderText(/type a cut name/i); const input = screen.getByPlaceholderText(/type a cut name/i);
fireEvent.change(input, { target: { value: "Teddy Bear" } }); fireEvent.change(input, { target: { value: "Teddy Bear" } });
fireEvent.click(screen.getByRole("button", { name: /add/i })); fireEvent.click(screen.getByRole("button", { name: "Add" }));
expect(screen.getByText("Teddy Bear")).toBeTruthy(); expect(screen.getByText("Teddy Bear")).toBeTruthy();
}); });
@@ -76,7 +76,7 @@ describe("PetForm", () => {
}; };
render(<PetForm pet={petWithCuts} onSave={onSave} onCancel={onCancel} />); render(<PetForm pet={petWithCuts} onSave={onSave} onCancel={onCancel} />);
const puppyCutSpans = screen.getAllByText("Puppy Cut"); const puppyCutSpans = screen.getAllByText("Puppy Cut");
const puppyCutTag = puppyCutSpans[0].closest("span"); const puppyCutTag = puppyCutSpans[0]?.closest("span");
if (!puppyCutTag) return; if (!puppyCutTag) return;
const removeBtn = puppyCutTag.querySelector("button"); const removeBtn = puppyCutTag.querySelector("button");
if (!removeBtn) return; if (!removeBtn) return;
+1 -1
View File
@@ -2,7 +2,7 @@ import { useState } from "react";
import { X, Save, Plus, Star } from "lucide-react"; import { X, Save, Plus, Star } from "lucide-react";
import type { Pet, MedicalAlert, CoatType, AlertSeverity } from "@groombook/types"; import type { Pet, MedicalAlert, CoatType, AlertSeverity } from "@groombook/types";
const COAT_TYPES: CoatType[] = ["double", "single", "wire", "curly", "smooth", "long", "short", "hairless"]; const COAT_TYPES: CoatType[] = ["double", "wire", "curly", "smooth", "long", "hairless"];
const SEVERITY_OPTIONS: AlertSeverity[] = ["low", "medium", "high"]; const SEVERITY_OPTIONS: AlertSeverity[] = ["low", "medium", "high"];
interface Props { interface Props {
+1 -1
View File
@@ -67,7 +67,7 @@ export function PetProfiles({ sessionId, readOnly }: Props) {
setAppointments(apptsData); setAppointments(apptsData);
if (petsData.length > 0 && !selectedPetId) { if (petsData.length > 0 && !selectedPetId) {
setSelectedPetId(petsData[0].id); setSelectedPetId(petsData[0]?.id ?? "");
} }
} catch (e) { } catch (e) {
setError(e instanceof Error ? e.message : "Failed to load data"); setError(e instanceof Error ? e.message : "Failed to load data");