/
softailor
/
gridient
Обзор
Документация
Войти
/
softailor
/
gridient
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/Gridient.Core.Tests/Extensions/ServiceCollectionExtensionsTests.cs
67 строк
5 KB
Jenkins
Auto add
18 фев 2026, 10:19
18 фев 2026, 10:19
1e6c4f8
Код
Авторство
О чём код?
using FluentAssertions; using Gridient.Core.Extensions; using Gridient.Core.Features; using Gridient.Core.Repositories; using Gridient.Core.Services.Interfaces; using Microsoft.Extensions.DependencyInjection; using Xunit; namespace Gridient.Core.Tests.Extensions { public class ServiceCollectionExtensionsTests { #region AddGridientCoreServices /// <summary> /// Проверяет, что AddGridientCoreServices регистрирует ключевые core-сервисы в DI и они резолвятся из ServiceProvider. /// </summary> [Fact] public void AddGridientCoreServices_ShouldRegisterExpectedCoreServices() { var services = new ServiceCollection(); // Minimal dependencies required by Core services // Repositories factory deps services.AddSingleton<Gridient.Core.Repositories.IFieldsRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IFieldsRepository>()); services.AddSingleton<Gridient.Core.Repositories.IFieldGroupsRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IFieldGroupsRepository>()); services.AddSingleton<Gridient.Core.Repositories.IFieldValuesRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IFieldValuesRepository>()); services.AddSingleton<Gridient.Core.Repositories.IAttachmentRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IAttachmentRepository>()); services.AddSingleton<Gridient.Core.Repositories.IListsRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IListsRepository>()); services.AddSingleton<Gridient.Core.Services.Interfaces.IUserRepository>(Moq.Mock.Of<Gridient.Core.Services.Interfaces.IUserRepository>()); services.AddSingleton<Gridient.Core.Repositories.IListItemsSysInfoRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IListItemsSysInfoRepository>()); services.AddSingleton<Gridient.Core.Repositories.IListItemVersionsRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IListItemVersionsRepository>()); services.AddSingleton<Gridient.Core.Repositories.IUserFiltersRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IUserFiltersRepository>()); services.AddSingleton<Gridient.Core.Repositories.IUserReportFieldsRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IUserReportFieldsRepository>()); services.AddSingleton<Gridient.Core.Repositories.IViewsRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IViewsRepository>()); services.AddSingleton<Gridient.Core.Repositories.IRecycleBinRepository>(Moq.Mock.Of<Gridient.Core.Repositories.IRecycleBinRepository>()); services.AddSingleton<Gridient.Core.Repositories.IUnitOfWork>(Moq.Mock.Of<Gridient.Core.Repositories.IUnitOfWork>()); // Services dependencies services.AddSingleton<Microsoft.Extensions.Logging.ILogger<Gridient.Core.Services.UserService>>(Moq.Mock.Of<Microsoft.Extensions.Logging.ILogger<Gridient.Core.Services.UserService>>()); services.AddSingleton<Microsoft.Extensions.Logging.ILogger<Gridient.Core.Services.ListsService>>(Moq.Mock.Of<Microsoft.Extensions.Logging.ILogger<Gridient.Core.Services.ListsService>>()); services.AddSingleton<Microsoft.Extensions.Logging.ILogger<Gridient.Core.Services.FieldsService>>(Moq.Mock.Of<Microsoft.Extensions.Logging.ILogger<Gridient.Core.Services.FieldsService>>()); services.AddSingleton<Microsoft.Extensions.Logging.ILogger<Gridient.Core.Services.ViewsService>>(Moq.Mock.Of<Microsoft.Extensions.Logging.ILogger<Gridient.Core.Services.ViewsService>>()); services.AddSingleton<Microsoft.Extensions.Logging.ILogger<Gridient.Core.Services.FieldValuesService>>(Moq.Mock.Of<Microsoft.Extensions.Logging.ILogger<Gridient.Core.Services.FieldValuesService>>()); // Authorization facade deps services.AddSingleton<Gridient.Core.Authorization.ICoreAuthorization>(Moq.Mock.Of<Gridient.Core.Authorization.ICoreAuthorization>()); services.AddSingleton<Gridient.Core.Authorization.IPolicyEvaluator>(Moq.Mock.Of<Gridient.Core.Authorization.IPolicyEvaluator>()); // Feature providers (for ClientFeatureRegistry) services.AddSingleton<IClientFeatureProvider>(Moq.Mock.Of<IClientFeatureProvider>()); // Needed for services resolution (services depend on ListsRepositoryFactory) services.AddSingleton<ListsRepositoryFactory>(); services.AddGridientCoreServices(); var sp = services.BuildServiceProvider(); sp.GetService<IClientFeatureRegistry>().Should().NotBeNull(); sp.GetService<ICurrentUserContext>().Should().NotBeNull(); sp.GetService<IUserService>().Should().NotBeNull(); sp.GetService<IListsService>().Should().NotBeNull(); } #endregion } }