< Summary

Information
Class: LifeChart.Infrastructure.CrisisResources.HybridCrisisResourceService
Assembly: LifeChart.Infrastructure
File(s): /home/runner/work/lifechart/lifechart/src/LifeChart.Infrastructure/CrisisResources/HybridCrisisResourceService.cs
Tag: 113_29159449707
Line coverage
0%
Covered lines: 0
Uncovered lines: 14
Coverable lines: 14
Total lines: 34
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%210%
GetForRegionAsync()0%620%

File(s)

/home/runner/work/lifechart/lifechart/src/LifeChart.Infrastructure/CrisisResources/HybridCrisisResourceService.cs

#LineLine coverage
 1using LifeChart.Application.DTOs;
 2using LifeChart.Application.Interfaces;
 3
 4namespace LifeChart.Infrastructure.CrisisResources;
 5
 6public class HybridCrisisResourceService : ICrisisResourceService
 7{
 8    private readonly FindAHelplineService _apiService;
 9    private readonly StaticCrisisResourceService _staticService;
 10
 011    public HybridCrisisResourceService(
 012        FindAHelplineService apiService,
 013        StaticCrisisResourceService staticService)
 14    {
 015        _apiService = apiService;
 016        _staticService = staticService;
 017    }
 18
 19    public async Task<IEnumerable<CrisisResourceDto>> GetForRegionAsync(string regionCode)
 20    {
 21        try
 22        {
 023            var results = (await _apiService.GetForRegionAsync(regionCode)).ToList();
 024            if (results.Count > 0)
 025                return results;
 026        }
 027        catch
 28        {
 29            // API nicht erreichbar — Fallback auf statische Liste
 030        }
 31
 032        return await _staticService.GetForRegionAsync(regionCode);
 033    }
 34}