< Summary - pva.SuperV

Information
Class: pva.SuperV.Api.Services.FieldProcessings.FieldProcessingService
Assembly: pva.SuperV.Api
File(s): /home/runner/work/pva.SuperV/pva.SuperV/pva.SuperV.Api/Services/FieldProcessings/FieldProcessingService.cs
Tag: dotnet-ubuntu_18869653307
Line coverage
92%
Covered lines: 37
Uncovered lines: 3
Coverable lines: 40
Total lines: 65
Line coverage: 92.5%
Branch coverage
50%
Covered branches: 4
Total branches: 8
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetFieldProcessingsAsync()100%11100%
GetFieldProcessingAsync()50%22100%
CreateFieldProcessingAsync()50%2290%
UpdateFieldProcessingAsync()50%2290%
DeleteFieldProcessingAsync()50%2287.5%

File(s)

/home/runner/work/pva.SuperV/pva.SuperV/pva.SuperV.Api/Services/FieldProcessings/FieldProcessingService.cs

#LineLine coverage
 1using pva.SuperV.Api.Exceptions;
 2using pva.SuperV.Engine;
 3using pva.SuperV.Engine.Exceptions;
 4using pva.SuperV.Engine.Processing;
 5using pva.SuperV.Model.FieldProcessings;
 6using pva.SuperV.Model.Services;
 7
 8namespace pva.SuperV.Api.Services.FieldProcessings
 9{
 10    public class FieldProcessingService : BaseService, IFieldProcessingService
 11    {
 12        public async Task<List<FieldValueProcessingModel>> GetFieldProcessingsAsync(string projectId, string className, 
 113        {
 114            IFieldDefinition fieldDefinition = GetFieldDefinitionEntity(GetProjectEntity(projectId), className, fieldNam
 315            return await Task.FromResult(fieldDefinition.ValuePostChangeProcessings.Select(Field => FieldProcessingMappe
 116        }
 17
 18        public async Task<FieldValueProcessingModel> GetFieldProcessingAsync(string projectId, string className, string 
 119        {
 120            IFieldDefinition fieldDefinition = GetFieldDefinitionEntity(GetProjectEntity(projectId), className, fieldNam
 121            IFieldValueProcessing? processing = fieldDefinition.ValuePostChangeProcessings
 222                .FirstOrDefault(field => field.Name.Equals(processingName));
 123            return processing is not null
 124                ? await Task.FromResult(FieldProcessingMapper.ToDto(processing))
 125                : await Task.FromException<FieldValueProcessingModel>(new UnknownEntityException("FieldValueProcessing",
 126        }
 27
 28        public async Task<FieldValueProcessingModel> CreateFieldProcessingAsync(string projectId, string className, stri
 629        {
 630            if (GetProjectEntity(projectId) is WipProject wipProject)
 631            {
 632                Class clazz = GetClassEntity(wipProject, className);
 633                IFieldDefinition fieldDefinition = GetFieldDefinitionEntity(clazz, fieldName);
 634                IFieldValueProcessing fieldProcessing = FieldProcessingMapper.FromDto(wipProject, clazz, fieldDefinition
 635                wipProject.AddFieldChangePostProcessing(className, fieldName, fieldProcessing);
 636                return await Task.FromResult(FieldProcessingMapper.ToDto(fieldProcessing));
 37            }
 038            return await Task.FromException<FieldValueProcessingModel>(new NonWipProjectException(projectId));
 639        }
 40
 41        public async Task<FieldValueProcessingModel> UpdateFieldProcessingAsync(string projectId, string className, stri
 142        {
 143            if (GetProjectEntity(projectId) is WipProject wipProject)
 144            {
 145                Class clazz = GetClassEntity(wipProject, className);
 146                IFieldDefinition fieldDefinition = GetFieldDefinitionEntity(clazz, fieldName);
 147                IFieldValueProcessing fieldProcessing = FieldProcessingMapper.FromDto(wipProject, clazz, fieldDefinition
 148                wipProject.UpdateFieldChangePostProcessing(className, fieldName, processingName, fieldProcessing);
 149                return await Task.FromResult(FieldProcessingMapper.ToDto(fieldProcessing));
 50            }
 051            return await Task.FromException<FieldValueProcessingModel>(new NonWipProjectException(projectId));
 152        }
 53
 54        public async ValueTask DeleteFieldProcessingAsync(string projectId, string className, string fieldName, string p
 155        {
 156            if (GetProjectEntity(projectId) is WipProject wipProject)
 157            {
 158                wipProject.RemoveFieldChangePostProcessing(className, fieldName, processingName);
 159                await ValueTask.CompletedTask;
 160                return;
 61            }
 062            await ValueTask.FromException(new NonWipProjectException(projectId));
 163        }
 64    }
 65}