< Summary

Information
Class: Services.ParserServices.SubstituteResultCaster
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/ParserServices/SubstituteResultCaster.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 18
Coverable lines: 18
Total lines: 45
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 20
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ParseSubstituteResultSchemaAsync()0%420200%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/ParserServices/SubstituteResultCaster.cs

#LineLine coverage
 1using Newtonsoft.Json.Linq;
 2using OzonDomains.TecDocModels.Substitute;
 3using Attribute = OzonDomains.TecDocModels.Substitute.Attribute;
 4
 5namespace Services.ParserServices
 6{
 7    public class SubstituteResultCaster
 8    {
 9        public async Task<SubstituteResultSchema> ParseSubstituteResultSchemaAsync(JObject json)
 10        {
 011            var result = new SubstituteResultSchema();
 12
 013            if (json != null)
 14            {
 015                result.SubstituteCount = json["SubstitutesCount"]?.ToObject<int>() ?? 0;
 16
 017                if (json["Substitutes"] is JArray substitutesArray)
 18                {
 019                    var substituteSchemas = new List<SubstituteSchema>();
 20
 021                    foreach (var substituteItem in substitutesArray)
 22                    {
 023                        if (substituteSchemas.Count >= 100)
 24                        {
 25                            break;
 26                        }
 027                        var substituteSchema = new SubstituteSchema
 028                        {
 029                            Type = substituteItem["Type"]?.ToString(),
 030                            Name = substituteItem["Name"]?.ToString(),
 031                            Modification = substituteItem["Modification"]?.ToObject<Modification>(),
 032                            Attributes = substituteItem["Attributes"]?.ToObject<List<Attribute>>() ?? new List<Attribute
 033                        };
 34
 035                        substituteSchemas.Add(substituteSchema);
 36                    }
 37
 038                    result.SubstituteSchema = substituteSchemas;
 39                }
 40            }
 41
 042            return await Task.FromResult(result);
 043        }
 44    }
 45}