import { signal } from '@angular/core'; import { TestBed } from '@angular/core/testing'; import { WorldStore } from '../../features/world/world.store'; import { ContextPanelComponent } from './context-panel.component'; describe('ContextPanelComponent', () => { it('uses a runtime location derivative while preserving the API artwork path as image fallback', async () => { await TestBed.configureTestingModule({ imports: [ContextPanelComponent], providers: [ { provide: WorldStore, useValue: { currentLocation: signal({ id: 'south-gate-id', key: 'south-gate', name: 'Südtor von Graufurt', description: 'Der letzte sichere Schritt vor den Aschenfeldern.', regionKey: 'ashen-fields', minRecommendedLevel: 1, maxRecommendedLevel: 1, dangerLevel: 0, isSafe: true, huntingEnabled: false, artworkPath: '/images/backgrounds/Suedtor.png', connections: [], }), selectedConnection: signal(null), }, }, ], }).compileComponents(); const fixture = TestBed.createComponent(ContextPanelComponent); fixture.detectChanges(); const element = fixture.nativeElement as HTMLElement; expect(element.querySelector('source')?.srcset).toContain( '/images/backgrounds/runtime/Suedtor-960.jpg', ); expect(element.querySelector('img')?.getAttribute('src')).toBe( '/images/backgrounds/Suedtor.png', ); }); });