From 3ccc13f852413708592a1c2bca404794f1a2d327 Mon Sep 17 00:00:00 2001 From: 4gray Date: Sun, 2 Aug 2026 16:27:23 +0200 Subject: [PATCH] fix(downloads): label season view toggles --- .../season-container.component.spec.ts | 22 +++++++++++++++++++ .../season-header.component.html | 2 ++ 2 files changed, 24 insertions(+) diff --git a/libs/ui/components/src/lib/season-container/season-container.component.spec.ts b/libs/ui/components/src/lib/season-container/season-container.component.spec.ts index 4fa609001..0d7333b74 100644 --- a/libs/ui/components/src/lib/season-container/season-container.component.spec.ts +++ b/libs/ui/components/src/lib/season-container/season-container.component.spec.ts @@ -612,6 +612,28 @@ describe('SeasonContainerComponent', () => { ); }); + it('gives the grid and list view radios localized accessible names', () => { + TestBed.inject(TranslateService).setTranslation( + 'en', + { + PORTALS: { + GRID_VIEW: 'Grid view', + LIST_VIEW: 'List view', + }, + }, + true + ); + setRequiredInputs({ '1': [createEpisode()] }); + fixture.detectChanges(); + + const viewModeRadios = Array.from( + fixture.nativeElement.querySelectorAll('button[role="radio"]') + ) as HTMLButtonElement[]; + expect( + viewModeRadios.map((radio) => radio.getAttribute('aria-label')) + ).toEqual(['Grid view', 'List view']); + }); + it('disables the season action until authoritative eligible work exists and while work is in flight', async () => { const first = createEpisode(); enableDownloads(); diff --git a/libs/ui/components/src/lib/season-container/season-header.component.html b/libs/ui/components/src/lib/season-container/season-header.component.html index caaec0fbf..9974dbd5e 100644 --- a/libs/ui/components/src/lib/season-container/season-header.component.html +++ b/libs/ui/components/src/lib/season-container/season-header.component.html @@ -51,12 +51,14 @@ > grid_view view_list