Сгруппировать тестовые проекты по областям
Deal.Tests.Unit, Deal.Telegram.Tests, Deal.Ai.Tests, Deal.Ml.Tests разложены по областям (Modules/<X>, Api, Infrastructure, Contracts, Grpc, ...), общие хелперы -> Support; namespace = папка, using между областями добавлены итеративно по ошибкам сборки.
This commit is contained in:
+2
-1
@@ -4,8 +4,9 @@ using Grpc.Core;
|
||||
using Grpc.Net.Client;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System.Text.Json.Nodes;
|
||||
using Deal.Ai.Tests.Support;
|
||||
|
||||
namespace Deal.Ai.Tests;
|
||||
namespace Deal.Ai.Tests.Ai;
|
||||
|
||||
/// <summary>
|
||||
/// In-proc gRPC-тесты AiService поверх фейк-провайдера (план Task 8, Acceptance): все 4 RPC
|
||||
+2
-1
@@ -7,8 +7,9 @@ using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using Deal.Ai.Tests.Support;
|
||||
|
||||
namespace Deal.Ai.Tests;
|
||||
namespace Deal.Ai.Tests.Ai;
|
||||
|
||||
// Общий харнесс in-proc gRPC-тестов ai-service (план Task 8): поднимает хост (AiServiceHost.Create)
|
||||
// в процессе теста на эфемерном порту и через configureServices-хук подменяет LLM-фасад фейком
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
using Deal.Ai.Llm;
|
||||
using Deal.Ai.Tests.Support;
|
||||
|
||||
namespace Deal.Ai.Tests;
|
||||
namespace Deal.Ai.Tests.Ai;
|
||||
|
||||
// Зафиксированный вызов фейк-провайдера (для проверки собранных RPC промптов).
|
||||
// SystemPrompt: Системный промпт вызова.
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Ai.Llm;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Ai.Tests.Support;
|
||||
|
||||
namespace Deal.Ai.Tests;
|
||||
namespace Deal.Ai.Tests.Ai;
|
||||
|
||||
/// <summary>
|
||||
/// Unit-тесты оркестратора вызовов модели (план Task 7; ProviderCaller, 1:1 chat_json ai.py L80–117):
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
using Deal.Ai.Llm;
|
||||
using Deal.Ai.Tests.Support;
|
||||
|
||||
namespace Deal.Ai.Tests;
|
||||
namespace Deal.Ai.Tests.Ai;
|
||||
|
||||
/// <summary>
|
||||
/// Unit-тесты оценки токенов (план Task 7; TokenEstimator, Ruling 5): usage API-ответа провайдера
|
||||
+2
-1
@@ -7,8 +7,9 @@ using Grpc.Net.Client;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using Xunit;
|
||||
using Deal.Ai.Tests.Support;
|
||||
|
||||
namespace Deal.Ai.Tests;
|
||||
namespace Deal.Ai.Tests.Grpc;
|
||||
|
||||
/// <summary>
|
||||
/// Интеграционные тесты хоста ai-service (каркас Task 4 + логика Task 8).
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using System.Text.Json.Nodes;
|
||||
using Deal.Ai.Llm;
|
||||
|
||||
namespace Deal.Ai.Tests;
|
||||
namespace Deal.Ai.Tests.Support;
|
||||
|
||||
/// <summary>
|
||||
/// Unit-тесты извлечения JSON из ответа модели (план Task 7; JsonExtractor, 1:1 extract_json
|
||||
+1
-1
@@ -2,7 +2,7 @@ using System.Net;
|
||||
using System.Text.Json.Nodes;
|
||||
using Deal.Ai.Llm;
|
||||
|
||||
namespace Deal.Ai.Tests;
|
||||
namespace Deal.Ai.Tests.Support;
|
||||
|
||||
/// <summary>
|
||||
/// HTTP-тесты LlmHttpClient на заглушке HttpMessageHandler (план Task 7 Acceptance; без сети):
|
||||
+1
-1
@@ -3,7 +3,7 @@ using System.Text;
|
||||
using System.Text.Json.Nodes;
|
||||
using Deal.Ai.Llm;
|
||||
|
||||
namespace Deal.Ai.Tests;
|
||||
namespace Deal.Ai.Tests.Support;
|
||||
|
||||
// Снимок HTTP-запроса, записанный заглушкой обработчика (для проверок wire-контракта).
|
||||
// Url: Полный URL запроса.
|
||||
+3
-1
@@ -7,8 +7,10 @@ using Deal.Modules.Tenants.Application.Registrars;
|
||||
using Deal.Modules.Tenants.Application.Services;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты логики прохода <see cref="DataRetentionScheduler"/> (этап 12, пакет B): авто-очистка
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
using Deal.Api.Endpoints;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты чистых хелперов эндпоинтов /api/discovery (план Task 19, Ruling 11): очистка ключей
|
||||
+6
-1
@@ -21,8 +21,13 @@ using Deal.SharedKernel.Tenants.Abstractions;
|
||||
using Deal.SharedKernel.Tenants.Models;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
using Deal.Tests.Unit.Modules.Discovery;
|
||||
using Deal.Tests.Unit.Contracts;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты DiscoveryWorkerScheduler — фоновый цикл воркера Discovery (план Task 18, Ruling 10; эталон
|
||||
+4
-1
@@ -14,8 +14,11 @@ using Grpc.Core;
|
||||
using Grpc.Health.V1;
|
||||
using Grpc.Net.Client;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
using Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// In-proc gRPC-тесты IngressRateLimitInterceptor (план Task 11, Ruling 5): фиксированное окно
|
||||
+3
-1
@@ -2,8 +2,10 @@ using Deal.Api.Configuration;
|
||||
using Deal.Api.Extensions;
|
||||
using Deal.Api.Models;
|
||||
using Deal.Api.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Unit-тесты LoginAttemptGuard (план Task 11, Ruling 5; этап 12, пакет B — хранилище Postgres):
|
||||
+6
-1
@@ -26,8 +26,13 @@ using Deal.SharedKernel.Tenants.Abstractions;
|
||||
using Deal.SharedKernel.Tenants.Models;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Kanban;
|
||||
using Deal.Tests.Unit.Grpc;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты MlOutboxFlushScheduler — логика прохода цикла выгрузки обучения ML (план Task 16, Ruling 6;
|
||||
+2
-1
@@ -4,8 +4,9 @@ using Deal.Modules.Tenants.Application.Extensions;
|
||||
using Deal.Modules.Tenants.Application.Models;
|
||||
using Deal.Modules.Tenants.Application.Registrars;
|
||||
using Deal.Modules.Tenants.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты хелпера фильтров эндпоинта GET /api/operator/audit (Task 4, Ruling 4): нормализация limit.
|
||||
+3
-1
@@ -9,8 +9,10 @@ using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты hosted-шага bootstrap оператора (Task 3, Ruling 1): env DEAL_OPERATOR_* → EnsureOperatorAsync
|
||||
+2
-1
@@ -4,8 +4,9 @@ using Deal.Modules.Tenants.Application.Extensions;
|
||||
using Deal.Modules.Tenants.Application.Models;
|
||||
using Deal.Modules.Tenants.Application.Registrars;
|
||||
using Deal.Modules.Tenants.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Юнит-тесты <see cref="OperatorCookieOptions"/>: имя операторской куки не пересекается с тенантной
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
using Deal.Api.Endpoints;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты хелперов операторских ручек лимитов (план Task 10): процент расхода бюджета (0..100).
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
using Deal.Api;
|
||||
using Deal.Api.Dtos;
|
||||
using Deal.Api.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты PipelinePumpGate — общий воркер-гейт pump тенанта (план Task 11, Ruling 8; аналог
|
||||
+5
-1
@@ -20,8 +20,12 @@ using Deal.SharedKernel.Tenants.Abstractions;
|
||||
using Deal.SharedKernel.Tenants.Models;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Kanban;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
using Deal.Tests.Unit.Contracts;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты сборщика глубин очередей/сессий (§10.2): агрегат по тенантам через существующие сервисы.
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Api.Endpoints;
|
||||
using Grpc.Core;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты чистых хелперов эндпоинтов /api/tg (план Task 14): RU-маппинг типа диалога на границе
|
||||
+3
-1
@@ -3,8 +3,10 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты сервиса глобальных ключей Telegram (ТЗ §4.1/§8.1): шифрование/маскирование, валидация,
|
||||
+4
-1
@@ -8,8 +8,11 @@ using Deal.Modules.Telegram.Application;
|
||||
using Deal.Modules.Telegram.Application.Models;
|
||||
using Grpc.Core;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Contracts;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Api;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты сборки статуса вкладки Telegram — GET /api/tg/status (Ruling 8, api-map §4.9; план Task 14).
|
||||
+4
-1
@@ -20,8 +20,11 @@ using Deal.Modules.Tenants.Application.Services;
|
||||
using Deal.SharedKernel.Tenants.Abstractions;
|
||||
using Deal.SharedKernel.Tenants.Models;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты декоратора бюджетного гейта <see cref="BudgetedAiClassifier"/> (план Task 9, Ruling 3): перед
|
||||
+3
-1
@@ -15,8 +15,10 @@ using Deal.Modules.Tenants.Application.Services;
|
||||
using Deal.SharedKernel.Tenants.Abstractions;
|
||||
using Deal.SharedKernel.Tenants.Models;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты декоратора бюджетного гейта <see cref="BudgetedAiTools"/> (план Task 9, Ruling 3): при запрете
|
||||
+4
-1
@@ -12,8 +12,11 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Cards;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты композитора карточки CardComposer (план Task 7 L403–406, Ruling 4; python _store_lead L433–514).
|
||||
+4
-1
@@ -5,8 +5,11 @@ using Deal.Modules.Kanban.Application.Models;
|
||||
using Deal.Modules.Kanban.Application.Registrars;
|
||||
using Deal.Modules.Kanban.Application.Services;
|
||||
using Deal.Modules.Kanban.Application.ColumnRules;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Cards;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты CardsService — карточки: чтение, переносы, архив/корзина, комментарии, counts, поиск
|
||||
+3
-1
@@ -8,8 +8,10 @@ using Deal.Modules.Telegram.Application;
|
||||
using Deal.Modules.Telegram.Application.Models;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты DialogsService — каталог диалогов/каналов и зеркало мониторинга ядра (Ruling 7, план Task 13).
|
||||
+3
-1
@@ -9,8 +9,10 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты DiscoveryEvaluator — каскад оценки сообщения и агрегаты выборки (план Task 18, 1:1
|
||||
+4
-1
@@ -10,8 +10,11 @@ using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Grpc.Core;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Discovery;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты DiscoveryWorkerService — один шаг за тик (план Task 18, 1:1 discovery_worker.py целиком,
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Contracts.Integrations.Abstractions;
|
||||
using Deal.Contracts.Integrations.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="IAiClassifier"/> для unit-тестов воркера pump (план Task 8 L423:
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Contracts.Integrations.Abstractions;
|
||||
using Deal.Contracts.Integrations.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Фейковая реализация <see cref="IAiTools"/> для тестов Discovery-воркера/оценки (план Task 18).
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Contracts.Integrations.Abstractions;
|
||||
using Deal.Contracts.Integrations.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Фейковый <see cref="ITelegramGateway"/> для тестов Discovery-воркера (план Task 18): поиск/инфо/чтение
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Contracts.Integrations.Abstractions;
|
||||
using Deal.Contracts.Integrations.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="IFileStorage"/> для unit-тестов файлов карточки (CardsService.Files).
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Contracts.Integrations.Abstractions;
|
||||
using Deal.Contracts.Integrations.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="IMlClient"/> для unit-тестов CardsService (план Task 7) и воркера pump
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
using Deal.Contracts.Integrations.Abstractions;
|
||||
using Deal.Contracts.Integrations.Models;
|
||||
using Grpc.Core;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="ITelegramGateway"/> для юнит-тестов модуля Telegram/ингресса (Task 13/14).
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
using Deal.Contracts.Integrations.Models;
|
||||
using Deal.Modules.Telegram.Application;
|
||||
using Deal.Modules.Telegram.Application.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="ITelegramStore"/> для юнит-тестов DialogsService/ингресса (Task 13).
|
||||
+5
-1
@@ -20,8 +20,12 @@ using Deal.Modules.Tenants.Application.Services;
|
||||
using Deal.SharedKernel.Tenants.Abstractions;
|
||||
using Deal.SharedKernel.Tenants.Models;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
using Deal.Tests.Unit.Grpc;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты gRPC-адаптера IAiTools к ai-service (Ruling 9, план Task 15): маппинг GenerateKeywords/
|
||||
+6
-1
@@ -20,8 +20,13 @@ using Deal.Modules.Tenants.Application.Services;
|
||||
using Deal.SharedKernel.Tenants.Abstractions;
|
||||
using Deal.SharedKernel.Tenants.Models;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
using Deal.Tests.Unit.Modules.Kanban;
|
||||
using Deal.Tests.Unit.Grpc;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты gRPC-адаптера IMlClient/IMlTrainClient к ml-service (план Task 16, Ruling 6; Acceptance L449).
|
||||
+3
-1
@@ -12,8 +12,10 @@ using Deal.SharedKernel.Tenants.Abstractions;
|
||||
using Deal.SharedKernel.Tenants.Models;
|
||||
using Grpc.Core;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Grpc;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// In-proc тесты gRPC-адаптера гейта GrpcTelegramClient «по проводу» (план Task 14, Ruling 1/2/7).
|
||||
+6
-1
@@ -30,8 +30,13 @@ using Deal.Modules.Tenants.Application.Services;
|
||||
using Deal.SharedKernel.Tenants.Abstractions;
|
||||
using Deal.SharedKernel.Tenants.Models;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
using Deal.Tests.Unit.Modules.Cards;
|
||||
using Deal.Tests.Unit.Modules.Kanban;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты выбора реализации портов интеграций по флагам Services:Ml|Ai|Telegram:UseLocal (Ruling 6, планы Task
|
||||
+3
-1
@@ -11,8 +11,10 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты детерминированного ИИ-классификатора <see cref="LocalAiClassifier"/> (Ruling 5, план Task 6 L382–384).
|
||||
+2
-1
@@ -6,8 +6,9 @@ using Deal.Infrastructure.Integrations.Extensions;
|
||||
using Deal.Infrastructure.Integrations.Models;
|
||||
using Deal.Infrastructure.Integrations.Options;
|
||||
using Deal.Infrastructure.Integrations.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты Local-реализации порта ИИ-инструментов <see cref="LocalAiTools"/> (Ruling 9, план Task 15):
|
||||
+5
-1
@@ -8,8 +8,12 @@ using Deal.Modules.Pipeline.Application.Abstractions;
|
||||
using Deal.Modules.Pipeline.Application.Models;
|
||||
using Deal.Modules.Pipeline.Application.Registrars;
|
||||
using Deal.Modules.Pipeline.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Cards;
|
||||
using Deal.Tests.Unit.Modules.Kanban;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты обёртки создания карточки PipelineCardWriter (план Task 7 L400–402, Ruling 3/4;
|
||||
+7
-1
@@ -30,8 +30,14 @@ using Deal.Modules.Tenants.Application.Services;
|
||||
using Deal.SharedKernel.Tenants.Abstractions;
|
||||
using Deal.SharedKernel.Tenants.Models;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
using Deal.Tests.Unit.Modules.Kanban;
|
||||
using Deal.Tests.Unit.Modules.Cards;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
using Deal.Tests.Unit.Grpc;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Сквозной тест воркера pump с gRPC-классификатором ai-service (план Task 15, Acceptance L433–434:
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Contracts.Integrations.Abstractions;
|
||||
using Deal.Contracts.Integrations.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Порт-контракт гейта telegram-service: набор методов 1:1 со списком Ruling 7 (план Task 13).
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Grpc.Ai;
|
||||
using Grpc.Core;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Grpc;
|
||||
|
||||
/// <summary>
|
||||
/// In-proc фейк ai-service для тестов gRPC-адаптеров ядра (план Task 15): Recording-сервер AiService.
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Grpc.Ml;
|
||||
using Grpc.Core;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Grpc;
|
||||
|
||||
/// <summary>
|
||||
/// In-proc фейк ml-service для тестов gRPC-клиента ядра (план Task 16): Recording-сервер MlService.
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Grpc.Telegram;
|
||||
using Grpc.Core;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Grpc;
|
||||
|
||||
/// <summary>
|
||||
/// Фейк-сервер TelegramService (telegram.proto) для in-proc тестов GrpcTelegramClient (план Task 14).
|
||||
+2
-1
@@ -7,8 +7,9 @@ using Deal.Modules.Tenants.Application.Models;
|
||||
using Deal.Modules.Tenants.Application.Registrars;
|
||||
using Deal.Modules.Tenants.Application.Services;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Юнит-тесты EF-адаптера <see cref="AuditLogStore"/> на InMemory-провайдере: маппинг DTO↔сущности,
|
||||
+2
-1
@@ -7,8 +7,9 @@ using Deal.Modules.Tenants.Application.Models;
|
||||
using Deal.Modules.Tenants.Application.Registrars;
|
||||
using Deal.Modules.Tenants.Application.Services;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Юнит-тесты EF-адаптера <see cref="AuthStore"/> на InMemory-провайдере: список пользователей тенанта
|
||||
+5
-1
@@ -7,8 +7,12 @@ using Deal.Modules.Kanban.Application.Extensions;
|
||||
using Deal.Modules.Kanban.Application.Models;
|
||||
using Deal.Modules.Kanban.Application.Registrars;
|
||||
using Deal.Modules.Kanban.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Cards;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
using Deal.Tests.Unit.Contracts;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты единой точки перехода карточки <see cref="CardMover"/> (R4 этапа 9): маршрутизация цели
|
||||
+2
-1
@@ -6,8 +6,9 @@ using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Юнит-тесты EF-адаптера <see cref="GlobalSettingsStore"/> на InMemory-провайдере (ТЗ §4.1/§8.1):
|
||||
+2
-1
@@ -7,8 +7,9 @@ using Deal.Modules.Tenants.Application.Models;
|
||||
using Deal.Modules.Tenants.Application.Registrars;
|
||||
using Deal.Modules.Tenants.Application.Services;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Юнит-тесты EF-адаптера <see cref="InviteStore"/> на InMemory-провайдере: маппинг DTO↔сущности и статусные операции.
|
||||
+2
-1
@@ -5,8 +5,9 @@ using Deal.Infrastructure.Integrations.Models;
|
||||
using Deal.Infrastructure.Integrations.Options;
|
||||
using Deal.Infrastructure.Integrations.Services;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты конфиг-парсинга mTLS (план Task 13, Ruling 6): env DEAL_MTLS_* — флаг и пути/пароли;
|
||||
+2
-1
@@ -3,8 +3,9 @@ using Deal.Infrastructure.Persistence.Configurations;
|
||||
using Deal.Infrastructure.Persistence.Repositories;
|
||||
using Deal.Modules.Tenants.Application.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Юнит-тесты EF-адаптера <see cref="OperatorAuthStore"/> на InMemory-провайдере: маппинг DTO↔сущности (минимально).
|
||||
+2
-1
@@ -2,8 +2,9 @@ using Deal.Infrastructure.Persistence;
|
||||
using Deal.Infrastructure.Persistence.Configurations;
|
||||
using Deal.Infrastructure.Persistence.Repositories;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Юнит-тесты EF-адаптера <see cref="RateLimitCounterStore"/> на InMemory-провайдере (этап 12,
|
||||
+2
-1
@@ -3,8 +3,9 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты AES-256-GCM-шифра секретов: roundtrip, nonce, устойчивость к повреждению (Task 1, Ruling 2).
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
using Deal.Infrastructure.Persistence.Entities;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
public sealed class TenantEntityTests
|
||||
{
|
||||
+2
-1
@@ -8,8 +8,9 @@ using Deal.Modules.Tenants.Application.Models;
|
||||
using Deal.Modules.Tenants.Application.Registrars;
|
||||
using Deal.Modules.Tenants.Application.Services;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Юнит-тесты EF-адаптера <see cref="TenantLimitStore"/> на InMemory-провайдере (Task 8, Ruling 3 этапа 7):
|
||||
+2
-1
@@ -7,8 +7,9 @@ using Deal.Modules.Tenants.Application.Models;
|
||||
using Deal.Modules.Tenants.Application.Registrars;
|
||||
using Deal.Modules.Tenants.Application.Services;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Юнит-тесты EF-адаптера <see cref="TenantRepository"/> на InMemory-провайдере: смена статуса (Task 7).
|
||||
+3
-1
@@ -5,8 +5,10 @@ using Deal.Modules.Tenants.Application.Models;
|
||||
using Deal.Modules.Tenants.Application.Registrars;
|
||||
using Deal.Modules.Tenants.Application.Services;
|
||||
using Microsoft.Extensions.Logging.Abstractions;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Tenants;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты пакетной миграции схем тенантов (этап 12, пакет C): провижининг всех схем реестра, отказ одной
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
using Deal.Infrastructure.Migrations;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
public sealed class TenantSchemaMigratorTests
|
||||
{
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
using Deal.Infrastructure.Persistence.Entities;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Infrastructure;
|
||||
|
||||
/// <summary>
|
||||
/// Лёгкий тест сущности настройки тенанта (EF-адаптер SettingsStore работает с TenantSettingEntity).
|
||||
+2
-1
@@ -2,8 +2,9 @@ using Deal.Modules.Cards;
|
||||
using Deal.Modules.Cards.Application.Abstractions;
|
||||
using Deal.Modules.Cards.Application.Dtos;
|
||||
using Deal.Modules.Cards.Application.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Cards;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты каркаса единой карточки (T1): маркер модуля, реестры id/контейнеров, агрегат Card.
|
||||
+2
-1
@@ -6,8 +6,9 @@ using Deal.Modules.Kanban.Application.Extensions;
|
||||
using Deal.Modules.Kanban.Application.Models;
|
||||
using Deal.Modules.Kanban.Application.Registrars;
|
||||
using Deal.Modules.Kanban.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Cards;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="ICardStore"/> для unit-тестов сервисов единого домена карточки.
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
using Deal.Modules.Cards.Application.Abstractions;
|
||||
using Deal.Modules.Cards.Application.Dtos;
|
||||
using Deal.Modules.Cards.Application.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Cards;
|
||||
|
||||
// Тестовая реализация локального источника (каркас T1; боевая — в T2/T3).
|
||||
internal sealed class LocalSourceStub(string authorId) : ILocalSource
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
using Deal.Modules.Cards.Application.Abstractions;
|
||||
using Deal.Modules.Cards.Application.Dtos;
|
||||
using Deal.Modules.Cards.Application.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Cards;
|
||||
|
||||
// Тестовая реализация Telegram-источника (каркас T1; боевая — в T2/T3).
|
||||
internal sealed class TelegramSourceStub(string dialogId, long messageId, string? peerHandle, string peerName, string? topicId)
|
||||
+3
-1
@@ -8,8 +8,10 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Discovery;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты DiscoveryBanGuard — суточный лимит авто-вступлений, flood-день, стоп-кран (план Task 18,
|
||||
+2
-1
@@ -4,8 +4,9 @@ using Deal.Modules.Discovery.Application.Extensions;
|
||||
using Deal.Modules.Discovery.Application.Models;
|
||||
using Deal.Modules.Discovery.Application.Registrars;
|
||||
using Deal.Modules.Discovery.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Discovery;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты DiscoveryBlacklistService — добавление с upsert-перезаписью, снятие, список (план Task 17, 1:1 L568–589).
|
||||
+2
-1
@@ -4,8 +4,9 @@ using Deal.Modules.Discovery.Application.Extensions;
|
||||
using Deal.Modules.Discovery.Application.Models;
|
||||
using Deal.Modules.Discovery.Application.Registrars;
|
||||
using Deal.Modules.Discovery.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Discovery;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты DiscoveryCandidatesService — add с исключениями, set_candidate, review, mark_joined/rejected (план Task 17, 1:1 discovery.py L385–563).
|
||||
+2
-1
@@ -4,8 +4,9 @@ using Deal.Modules.Discovery.Application.Extensions;
|
||||
using Deal.Modules.Discovery.Application.Models;
|
||||
using Deal.Modules.Discovery.Application.Registrars;
|
||||
using Deal.Modules.Discovery.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Discovery;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты DiscoveryLangDetector — доля кириллицы в выборке (1:1 discovery_eval.detect_lang_ru L62–83,
|
||||
+2
-1
@@ -4,8 +4,9 @@ using Deal.Modules.Discovery.Application.Extensions;
|
||||
using Deal.Modules.Discovery.Application.Models;
|
||||
using Deal.Modules.Discovery.Application.Registrars;
|
||||
using Deal.Modules.Discovery.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Discovery;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты DiscoveryLogService — запись событий и чтение истории (план Task 17, 1:1 add_log/task_log L594–608).
|
||||
+2
-1
@@ -4,8 +4,9 @@ using Deal.Modules.Discovery.Application.Extensions;
|
||||
using Deal.Modules.Discovery.Application.Models;
|
||||
using Deal.Modules.Discovery.Application.Registrars;
|
||||
using Deal.Modules.Discovery.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Discovery;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты <see cref="DiscoverySearchErrorCounter"/> — инкремент/сброс ошибок ключа поиска и TTL-эвикция
|
||||
+3
-1
@@ -4,8 +4,10 @@ using Deal.Modules.Discovery.Application.Extensions;
|
||||
using Deal.Modules.Discovery.Application.Models;
|
||||
using Deal.Modules.Discovery.Application.Registrars;
|
||||
using Deal.Modules.Discovery.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Discovery;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты DiscoveryTasksService — создание/патч/удаление/start/pause и план-бюджет (план Task 17, 1:1 discovery.py L234–381).
|
||||
+2
-1
@@ -4,8 +4,9 @@ using Deal.Modules.Discovery.Application.Extensions;
|
||||
using Deal.Modules.Discovery.Application.Models;
|
||||
using Deal.Modules.Discovery.Application.Registrars;
|
||||
using Deal.Modules.Discovery.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Discovery;
|
||||
|
||||
/// <summary>
|
||||
/// Фейковый <see cref="IDiscoveryPacer"/> для тестов воркера Discovery (план Task 18): паузы мгновенные,
|
||||
+2
-1
@@ -4,8 +4,9 @@ using Deal.Modules.Discovery.Application.Extensions;
|
||||
using Deal.Modules.Discovery.Application.Models;
|
||||
using Deal.Modules.Discovery.Application.Registrars;
|
||||
using Deal.Modules.Discovery.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Discovery;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="IDiscoveryStore"/> для unit-тестов Discovery (план Task 17).
|
||||
+4
-1
@@ -7,8 +7,11 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Cards;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты контекст-билдера ИИ-классификации <see cref="AiClassifyContextBuilder"/> (план Task 15, Ruling 5;
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
using Deal.Modules.Kanban.Application.ColumnRules;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты парсера сумм — AmountParser (план Task 3 L234–235, L244–246; rules.py extract_amounts L93–144).
|
||||
+2
-1
@@ -3,8 +3,9 @@ using Deal.Modules.Kanban.Application.Extensions;
|
||||
using Deal.Modules.Kanban.Application.Models;
|
||||
using Deal.Modules.Kanban.Application.Registrars;
|
||||
using Deal.Modules.Kanban.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты нормализации бюджета — BudgetNormalizer (план Task 3 L241–246, Ruling 7; ai.py clean_budget L316–326,
|
||||
+5
-1
@@ -7,8 +7,12 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Cards;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
using Deal.Tests.Unit.Contracts;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты напоминаний «Отложено» — <see cref="CardsService"/> (единый домен карточки, этап 9): set
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Modules.Kanban.Application.ColumnRules;
|
||||
using Deal.Modules.Kanban.Application.Models;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты чистых правил колонок — ColumnRules (план Task 3 L231–250, Ruling 2; rules.py match_text L176–209,
|
||||
+2
-1
@@ -3,8 +3,9 @@ using Deal.Modules.Kanban.Application.Extensions;
|
||||
using Deal.Modules.Kanban.Application.Models;
|
||||
using Deal.Modules.Kanban.Application.Registrars;
|
||||
using Deal.Modules.Kanban.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="IMlLearningStore"/> для unit-тестов ML-интеграции (Tasks 5/16).
|
||||
+2
-1
@@ -7,8 +7,9 @@ using Deal.Modules.Pipeline.Application.Abstractions;
|
||||
using Deal.Modules.Pipeline.Application.Models;
|
||||
using Deal.Modules.Pipeline.Application.Registrars;
|
||||
using Deal.Modules.Pipeline.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="IPipelineStore"/> для unit-тестов PipelineIngestService/PipelineProcessingService (план Task 5).
|
||||
+2
-1
@@ -3,8 +3,9 @@ using Deal.Modules.Kanban.Application.Extensions;
|
||||
using Deal.Modules.Kanban.Application.Models;
|
||||
using Deal.Modules.Kanban.Application.Registrars;
|
||||
using Deal.Modules.Kanban.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты FileKindDetector — категории вложений по MIME/расширению (план Task 6 L333–334; files.py KIND_BY_EXT/KIND_LABELS L13–28, detect L31–45; Ruling 4).
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
using Deal.Modules.Kanban;
|
||||
using Deal.Modules.Pipeline;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
public sealed class MarkerTests
|
||||
{
|
||||
+5
-1
@@ -7,8 +7,12 @@ using Deal.Modules.Pipeline.Application.Abstractions;
|
||||
using Deal.Modules.Pipeline.Application.Models;
|
||||
using Deal.Modules.Pipeline.Application.Registrars;
|
||||
using Deal.Modules.Pipeline.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Cards;
|
||||
using Deal.Tests.Unit.Contracts;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты ручной проверки/разметки ML (§8): кандидаты канала/выборки и применение решения.
|
||||
+4
-1
@@ -7,8 +7,11 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Cards;
|
||||
using Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты StorageTickService — тик правил хранения (Ruling 8, план Task 10 L395; leads.py tick_storage L454–493).
|
||||
+2
-1
@@ -3,8 +3,9 @@ using Deal.Modules.Kanban.Application.Extensions;
|
||||
using Deal.Modules.Kanban.Application.Models;
|
||||
using Deal.Modules.Kanban.Application.Registrars;
|
||||
using Deal.Modules.Kanban.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты чистого ядра ИИ-предложений <see cref="SuggestHeuristics"/> (Ruling 3, план Task 14 L467–471).
|
||||
+2
-1
@@ -2,8 +2,9 @@ using Deal.Modules.Pipeline.Application.Abstractions;
|
||||
using Deal.Modules.Pipeline.Application.Models;
|
||||
using Deal.Modules.Pipeline.Application.Registrars;
|
||||
using Deal.Modules.Pipeline.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Pipeline;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты глобальных исключений (§5.14): слова/локации/типы/бюджет — чистая проверка до ML/ИИ.
|
||||
+3
-1
@@ -2,8 +2,10 @@ using Deal.Modules.Pipeline.Application.Abstractions;
|
||||
using Deal.Modules.Pipeline.Application.Models;
|
||||
using Deal.Modules.Pipeline.Application.Registrars;
|
||||
using Deal.Modules.Pipeline.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Kanban;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Pipeline;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты приёма входящих сообщений — PipelineIngestService (план Task 5 L353–354, Ruling 2; pipeline.py enqueue L53–85).
|
||||
+4
-1
@@ -2,8 +2,11 @@ using Deal.Modules.Pipeline.Application.Abstractions;
|
||||
using Deal.Modules.Pipeline.Application.Models;
|
||||
using Deal.Modules.Pipeline.Application.Registrars;
|
||||
using Deal.Modules.Pipeline.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
using Deal.Tests.Unit.Modules.Kanban;
|
||||
using Deal.Tests.Unit.Contracts;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Pipeline;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты обслуживания пайплайна — PipelineProcessingService (план Task 5 L355–361, Ruling 8/10;
|
||||
+2
-1
@@ -2,8 +2,9 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="IGlobalSettingsStore"/> для юнит-тестов глобальных настроек.
|
||||
+2
-1
@@ -2,8 +2,9 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="IRatesChangedListener"/> для тестов триггеров пересчёта (Task 12).
|
||||
+2
-1
@@ -2,8 +2,9 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
/// <summary>
|
||||
/// Фейковый источник курсов для тестов RatesService (Task 8, Ruling 6).
|
||||
+2
-1
@@ -2,8 +2,9 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
/// <summary>
|
||||
/// In-memory реализация <see cref="ISettingsStore"/> для юнит-тестов SettingsService (Task 3).
|
||||
+2
-1
@@ -2,8 +2,9 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты границы промптов с фронтом: дефолтные тексты 1:1 с ресурсами фронта и подстановка PromptFiller (Task 7).
|
||||
+2
-1
@@ -2,8 +2,9 @@ using Deal.Modules.Settings.Application.Abstractions;
|
||||
using Deal.Modules.Settings.Application.Models;
|
||||
using Deal.Modules.Settings.Application.Registrars;
|
||||
using Deal.Modules.Settings.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Settings;
|
||||
|
||||
/// <summary>
|
||||
/// Тесты каталога ключей настроек, дефолтов и провайдеров (Task 2, Ruling 1/3).
|
||||
+2
-1
@@ -3,8 +3,9 @@ using Deal.Modules.Tenants.Application.Extensions;
|
||||
using Deal.Modules.Tenants.Application.Models;
|
||||
using Deal.Modules.Tenants.Application.Registrars;
|
||||
using Deal.Modules.Tenants.Application.Services;
|
||||
using Deal.Tests.Unit.Support;
|
||||
|
||||
namespace Deal.Tests.Unit;
|
||||
namespace Deal.Tests.Unit.Modules.Tenants;
|
||||
|
||||
/// <summary>
|
||||
/// Стабильность каталога типов событий аудита (Ruling 4 этапа 7; расширение этапа 10, T1).
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user