< Summary - pva.SuperV

Information
Class: pva.SuperV.Api.Services.HistoryRepositories.HistoryRepositoryService
Assembly: pva.SuperV.Api
File(s): /home/runner/work/pva.SuperV/pva.SuperV/pva.SuperV.Api/Services/HistoryRepositories/HistoryRepositoryService.cs
Tag: dotnet-ubuntu_18869653307
Line coverage
67%
Covered lines: 23
Uncovered lines: 11
Coverable lines: 34
Total lines: 60
Line coverage: 67.6%
Branch coverage
37%
Covered branches: 3
Total branches: 8
Branch coverage: 37.5%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetHistoryRepositoriesAsync()100%11100%
GetHistoryRepositoryAsync()50%2283.33%
CreateHistoryRepositoryAsync()50%2287.5%
UpdateHistoryRepositoryAsync()0%620%
DeleteHistoryRepositoryAsync()50%2287.5%

File(s)

/home/runner/work/pva.SuperV/pva.SuperV/pva.SuperV.Api/Services/HistoryRepositories/HistoryRepositoryService.cs

#LineLine coverage
 1using pva.SuperV.Api.Exceptions;
 2using pva.SuperV.Engine;
 3using pva.SuperV.Engine.Exceptions;
 4using pva.SuperV.Engine.HistoryStorage;
 5using pva.SuperV.Model.HistoryRepositories;
 6using pva.SuperV.Model.Services;
 7
 8namespace pva.SuperV.Api.Services.HistoryRepositories
 9{
 10    public class HistoryRepositoryService : BaseService, IHistoryRepositoryService
 11    {
 12        public async Task<List<HistoryRepositoryModel>> GetHistoryRepositoriesAsync(string projectId)
 113        {
 114            Project project = GetProjectEntity(projectId);
 115            return await Task.FromResult(project.HistoryRepositories.Values.Select(HistoryRepositoryMapper.ToDto).ToList
 116        }
 17
 18        public async Task<HistoryRepositoryModel> GetHistoryRepositoryAsync(string projectId, string historyRepositoryNa
 119        {
 120            if (GetProjectEntity(projectId).HistoryRepositories.TryGetValue(historyRepositoryName, out HistoryRepository
 121            {
 122                return await Task.FromResult(HistoryRepositoryMapper.ToDto(historyRepository));
 23            }
 024            return await Task.FromException<HistoryRepositoryModel>(new UnknownEntityException("History repository", his
 125        }
 26
 27        public async Task<HistoryRepositoryModel> CreateHistoryRepositoryAsync(string projectId, HistoryRepositoryModel 
 228        {
 229            if (GetProjectEntity(projectId) is WipProject wipProject)
 230            {
 231                HistoryRepository historyRepository = HistoryRepositoryMapper.FromDto(historyRepositoryCreateRequest);
 232                wipProject.AddHistoryRepository(historyRepository);
 233                return await Task.FromResult(HistoryRepositoryMapper.ToDto(historyRepository));
 34            }
 035            return await Task.FromException<HistoryRepositoryModel>(new NonWipProjectException(projectId));
 236        }
 37
 38        public async Task<HistoryRepositoryModel> UpdateHistoryRepositoryAsync(string projectId, string historyRepositor
 039        {
 040            if (GetProjectEntity(projectId) is WipProject wipProject)
 041            {
 042                HistoryRepository historyRepositoryUpdate = HistoryRepositoryMapper.FromDto(historyRepositoryUpdateReque
 043                wipProject.UpdateHistoryRepository(historyRepositoryName, historyRepositoryUpdate);
 044                return await Task.FromResult(HistoryRepositoryMapper.ToDto(historyRepositoryUpdate));
 45            }
 046            return await Task.FromException<HistoryRepositoryModel>(new NonWipProjectException(projectId));
 047        }
 48
 49        public async ValueTask DeleteHistoryRepositoryAsync(string projectId, string historyRepositoryName)
 250        {
 251            if (GetProjectEntity(projectId) is WipProject wipProject)
 252            {
 253                wipProject.RemoveHistoryRepository(historyRepositoryName);
 154                await ValueTask.CompletedTask;
 155                return;
 56            }
 057            await ValueTask.FromException(new NonWipProjectException(projectId));
 158        }
 59    }
 60}