using Hotline.Api.Controllers; using Hotline.Application.Snapshot.Contracts; using Hotline.Identity.Accounts; using Hotline.Identity.Roles; using Hotline.Settings; using Hotline.Share.Dtos.Snapshot; using Hotline.ThirdAccountDomainServices; using Hotline.ThirdAccountDomainServices.Interfaces; using Hotline.Users; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Shouldly; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using XF.Domain.Cache; using XF.Domain.Repository; namespace Hotline.Tests.Application; public class PointsRecordApplicationTest : TestBase { private readonly ISnapshotPointsApplication _pointsRecordApplication; private readonly ISnapshotApplication _snapshotApplication; public PointsRecordApplicationTest(IAccountRepository accountRepository, IRepository roleRepository, UserController userController, IServiceScopeFactory scopeFactory, IRepository userRepository, IHttpContextAccessor httpContextAccessor, IThirdIdentiyService thirdIdentiyService, IThirdAccountRepository thirdAccountRepository, ITypedCache cacheSettingData, ThirdAccounSupplierFactory thirdAccountDomainFactory, ISnapshotPointsApplication pointsRecordApplication, ISnapshotApplication snapshotApplication, IServiceProvider serviceProvider) : base(accountRepository, roleRepository, userController, scopeFactory, userRepository, httpContextAccessor, thirdIdentiyService, thirdAccountRepository, cacheSettingData, thirdAccountDomainFactory, serviceProvider) { _pointsRecordApplication = pointsRecordApplication; _snapshotApplication = snapshotApplication; } [Fact] public async Task GetPointsItems_Test() { var inDto = new PointsItemsInDto { StartTime = DateTime.Now.AddDays(-1), EndTime = DateTime.Now }; var items = await _pointsRecordApplication.GetPointsItems(inDto).ToListAsync(); items.ShouldNotBeNull(); } [Fact] public async Task GetPointsRank_Test() { SetWeiXin(); var item = await _snapshotApplication.GetPointsRankAsync(); item.ShouldNotBeNull(); foreach (var a in item.Ranks) { var s = a.PhoneNumber; } } }