fix(akte): falscher Hinweis „Weicht vom eingetragenen Farbschlag ab"
All checks were successful
CI / Backend Tests (.NET) (push) Successful in 1m16s
CI / Frontend Tests (Node/Vite) (push) Successful in 9m38s
CI / Docker Build & Push (push) Successful in 1m32s
CI / Deploy auf TrueNAS (Custom App) (push) Successful in 9s

Beim Prod-Nachtest aufgefallen: Bei Schecken meldete die Akte eine Abweichung,
obwohl eingetragener und errechneter Farbschlag identisch angezeigt wurden
(JackJack: „Saphir Schecke" vs. „Saphir Schecke"). Zwei Ursachen:

- Der Vergleich schnitt „Schecke"/„Rex" nur auf der ERRECHNETEN Seite ab, nicht
  auf der eingetragenen (die den Zusatz über formatVarietyName trägt). Jetzt
  werden beide Seiten gleich normalisiert.
- formatVarietyName hängte den Modifier auch an, wenn der Katalogname ihn schon
  trägt („Schwarz Schecke" → „Schwarz Schecke Schecke").

Tests: 3 vitest-Fälle zu formatVarietyName, e2e SCHECKE-MISMATCH mit Gegenprobe
(Mock-Tier mit echter Abweichung zeigt den Hinweis weiter).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-20 00:22:59 +02:00
parent 748ce4733f
commit 45c3f87f01
5 changed files with 58 additions and 4 deletions

View File

@@ -168,6 +168,10 @@ export function seedDb(): MockDb {
gerbil('balu', 'Balu', 'male', '2021-04-20', 'w-balu', 'cv-agouti'),
gerbil('maja', 'Maja', 'female', '2021-06-11', null, 'cv-schwarz-schecke', 'aa CC DD EE GG PP Spsp rere'),
gerbil('karlsson', 'Karlsson', 'male', '2022-02-02', 'w-karlsson', 'cv-blau'),
// FARBSCHLAG-MISMATCH: eingetragen „Schwarz Schecke", Gencode ergibt Agouti Schecke
// → der Hinweis „Weicht vom eingetragenen Farbschlag ab" MUSS hier erscheinen.
gerbil('mismatch-maus', 'Mismatch Maus', 'female', '2023-02-02', null, 'cv-schwarz-schecke',
'AA CC DD EE GG PP Spsp rere'),
gerbil('smilla', 'Smilla', 'female', '2022-09-30', null, 'cv-himalaya'),
gerbil('anton', 'Anton', 'male', '2019-07-07', 'w-anton', 'cv-agouti'),
gerbil('greta', 'Greta', 'female', '2019-05-23', null, 'cv-schwarz'),

View File

@@ -241,6 +241,23 @@ test('Detailseite: Abgabedatum steht direkt unter dem Abnehmer, auch bei Verstor
await expect(goHomeRow.locator('.ak-kv-value')).toHaveText('15.01.2022')
})
test('Detailseite: Farbschlag-Hinweis nur bei echter Abweichung (SCHECKE-MISMATCH)', async ({
page,
}) => {
skipUnlessMock()
// Maja: eingetragen „Schwarz Schecke", Gencode ergibt genau das → KEIN Hinweis.
// (Vorher wurde der Zusatz „Schecke" nur auf der errechneten Seite abgeschnitten,
// dadurch bekam jede Schecke faelschlich „Weicht vom eingetragenen Farbschlag ab".)
await page.goto('/rennmaeuse/maja')
const genetik = page.locator('.ak-card', { hasText: t.detail.genetics }).first()
await expect(genetik.getByText(t.detail.resolvedPrefix, { exact: false })).toBeVisible()
await expect(page.getByText(t.detail.farbschlagMismatch)).toBeHidden()
// Gegenprobe: bei echter Abweichung erscheint der Hinweis weiter.
await page.goto('/rennmaeuse/mismatch-maus')
await expect(page.getByText(t.detail.farbschlagMismatch)).toBeVisible()
})
/** QOL-ELTERN: Vater/Mutter im Abstammungs-Block des Tier-Formulars setzen. */
async function pickParent(page: Page, legend: string, name: string) {
const group = page.getByRole('group', { name: legend })