< Summary

Information
Class: UIBlazor.Services.HeadlessMocker
Assembly: UIBlazor
File(s): /home/runner/work/InvAit/InvAit/UIBlazor/Services/HeadlessMocker.cs
Tag: 14_22728831704
Line coverage
0%
Covered lines: 0
Uncovered lines: 84
Coverable lines: 84
Total lines: 100
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 16
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetVsToolResult(...)0%272160%

File(s)

/home/runner/work/InvAit/InvAit/UIBlazor/Services/HeadlessMocker.cs

#LineLine coverage
 1using Shared.Contracts.Mcp;
 2
 3namespace UIBlazor.Services;
 4
 5/// <summary>
 6/// Для тестов на голом UI без VS
 7/// </summary>
 8public class HeadlessMocker
 9{
 10    public static VsToolResult GetVsToolResult(VsToolResult original)
 11    {
 012        if (original.Success || original.ErrorMessage != "WebView2 API is`t find.")
 13        {
 014            return original;
 15        }
 16
 017        return original.Name switch
 018        {
 019            BasicEnum.ReadMcpSettingsFile => new VsToolResult
 020            {
 021                Result = JsonUtils.Serialize(new McpSettingsFile
 022                {
 023                    McpServers = new Dictionary<string, McpServerJsonEntry>
 024                    {
 025                        {
 026                            "ui-test",
 027                            new McpServerJsonEntry
 028                            {
 029                                Command = "npx",
 030                                Args = ["-y", "ui-test"],
 031                                Env = new Dictionary<string, string> { { "env1", "val1" } }
 032                            }
 033                        }
 034                    }
 035                })
 036            },
 037            BasicEnum.McpGetTools => new VsToolResult
 038            {
 039                Result = JsonUtils.Serialize(new McpResponse
 040                {
 041                    Result = new McpListToolsResult
 042                    {
 043                        Tools = [
 044                            new McpTool
 045                            {
 046                                Name = "test.sum",
 047                                Description = "Сумма двух чисел",
 048                                InputSchema = new {
 049                                    type = "object",
 050                                    properties = new {
 051                                        a = new {
 052                                            type = "number",
 053                                            description = "Первое число"
 054                                        },
 055                                        b = new {
 056                                            type = "number",
 057                                            description = "Второе число"
 058                                        }
 059                                    }
 060                                }
 061                            }
 062                        ]
 063                    }
 064                })
 065            },
 066            BasicEnum.McpCallTool => new VsToolResult
 067            {
 068                Result = "42", // - универсальный ответ на все вопросы
 069            },
 070            BuiltInToolEnum.ReadOpenFile => new VsToolResult
 071            {
 072                Result = """
 073                            namespace UIBlazor.Components;
 074
 075                            public partial class AIChat : TestComponent
 076                            {
 077                                private List<ChatMessage> Messages { get; set; } = [];
 078                            }
 079                            """
 080            },
 081            BuiltInToolEnum.ReadFiles => new VsToolResult
 082            {
 083                Result = """
 084                            File content
 085                            1 |namespace UIBlazor.Components;
 086                            2 |
 087                            3 |public partial class AIChat : TestComponent
 088                            4 |{
 089                            5 |    private List<ChatMessage> Messages { get; set; } = [];
 090                            6 |}
 091                            """
 092            },
 093            BuiltInToolEnum.ApplyDiff => new VsToolResult
 094            {
 095                Result = "All replacements is successful."
 096            },
 097            _ => original
 098        };
 99    }
 100}