using TeleWave.Application.Common.Interfaces; using TeleWave.Application.Programming.Groups; using TeleWave.Application.Programming.Templates; namespace TeleWave.Application.Tests.Support; /// /// Сборка сервисов группы для тестов: их четыре и они цепляются друг за друга, а в тестах нужен /// каждый раз один и тот же набор. В приложении это делает контейнер. /// internal static class GroupServices { public static DynamicGroupResolver Dynamic(IAppDbContext db) => new(new GroupFilterMatcher(db), new GroupElementResolver(db)); public static GroupStatsService Stats(IAppDbContext db) => new(db, new GroupElementResolver(db), Dynamic(db)); /// Писатель слотов: ему нужен ещё и признак «группа роликов» — их в слот не пускают. public static InterstitialGroups Interstitials(IAppDbContext db) => new(db); public static SlotWriter Slots(IAppDbContext db) => new(db, Interstitials(db)); }