fix: align frontend tube/liquid container semantics (#364)

* fix: align frontend tube/liquid container semantics

* test(frontend): fix PR #364 CI regressions
This commit is contained in:
Daniel Volz
2026-03-02 00:23:32 +01:00
committed by GitHub
parent cd18581bdd
commit da004b5c3e
29 changed files with 5286 additions and 526 deletions
@@ -644,9 +644,9 @@ describe("MedDetailModal intake schedule usage display", () => {
};
render(<MedDetailModal {...defaultProps} selectedMed={med} />);
const usageElements = document.querySelectorAll(".med-schedule-usage");
// Each intake should show "1 pill" (not "2 pills")
usageElements.forEach((el) => {
const rows = document.querySelectorAll(".med-schedule-row .med-schedule-usage");
// Each intake should show "1" in usage (not "2")
rows.forEach((el) => {
expect(el.textContent).toContain("1");
expect(el.textContent).not.toMatch(/^2\b/);
});
@@ -662,10 +662,10 @@ describe("MedDetailModal intake schedule usage display", () => {
};
render(<MedDetailModal {...defaultProps} selectedMed={med} />);
const usageElements = document.querySelectorAll(".med-schedule-usage");
const rows = document.querySelectorAll(".med-schedule-row .med-schedule-usage");
// Legacy: 1 pill * 2 people = "2 pills"
expect(usageElements.length).toBe(1);
expect(usageElements[0].textContent).toContain("2");
expect(rows.length).toBe(1);
expect(rows[0].textContent).toContain("2");
});
it("shows correct usage for single person with per-intake takenBy", () => {
@@ -678,11 +678,11 @@ describe("MedDetailModal intake schedule usage display", () => {
};
render(<MedDetailModal {...defaultProps} selectedMed={med} />);
const usageElements = document.querySelectorAll(".med-schedule-usage");
expect(usageElements.length).toBe(1);
const rows = document.querySelectorAll(".med-schedule-row .med-schedule-usage");
expect(rows.length).toBe(1);
// Should show "2 pills (1000 mg)" - usage=2, not multiplied
expect(usageElements[0].textContent).toContain("2");
expect(usageElements[0].textContent).toContain("1000");
expect(rows[0].textContent).toContain("2");
expect(rows[0].textContent).toContain("1000");
});
});
@@ -279,7 +279,7 @@ describe("MobileEditModal", () => {
/>
);
const amountInput = screen.getByLabelText("form.packageAmount") as HTMLInputElement;
const amountInput = screen.getByLabelText("form.packageAmountPerBottle") as HTMLInputElement;
expect(amountInput).toBeInTheDocument();
expect(amountInput.tagName).toBe("INPUT");
expect(amountInput).toHaveAttribute("inputmode", "decimal");