|
@@ -2,8 +2,11 @@
|
|
|
using Hotline.Application.Snapshot.Contracts;
|
|
|
using Hotline.Identity.Accounts;
|
|
|
using Hotline.Identity.Roles;
|
|
|
+using Hotline.Orders;
|
|
|
using Hotline.Settings;
|
|
|
using Hotline.Share.Dtos.Snapshot;
|
|
|
+using Hotline.Share.Tools;
|
|
|
+using Hotline.Snapshot.IRepository;
|
|
|
using Hotline.ThirdAccountDomainServices;
|
|
|
using Hotline.ThirdAccountDomainServices.Interfaces;
|
|
|
using Hotline.Users;
|
|
@@ -15,6 +18,7 @@ using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
+using XF.Domain.Authentications;
|
|
|
using XF.Domain.Cache;
|
|
|
using XF.Domain.Repository;
|
|
|
|
|
@@ -24,10 +28,17 @@ public class PointsRecordApplicationTest : TestBase
|
|
|
{
|
|
|
private readonly ISnapshotPointsApplication _pointsRecordApplication;
|
|
|
private readonly ISnapshotApplication _snapshotApplication;
|
|
|
- public PointsRecordApplicationTest(IAccountRepository accountRepository, IRepository<Role> roleRepository, UserController userController, IServiceScopeFactory scopeFactory, IRepository<User> userRepository, IHttpContextAccessor httpContextAccessor, IThirdIdentiyService thirdIdentiyService, IThirdAccountRepository thirdAccountRepository, ITypedCache<SystemSetting> cacheSettingData, ThirdAccounSupplierFactory thirdAccountDomainFactory, ISnapshotPointsApplication pointsRecordApplication, ISnapshotApplication snapshotApplication, IServiceProvider serviceProvider) : base(accountRepository, roleRepository, userController, scopeFactory, userRepository, httpContextAccessor, thirdIdentiyService, thirdAccountRepository, cacheSettingData, thirdAccountDomainFactory, serviceProvider)
|
|
|
+ private readonly ISessionContext _sessionContext;
|
|
|
+ private readonly ICitizenRepository _citizenRepository;
|
|
|
+ private readonly ISafetyTypeRepository _safetyTypeRepository;
|
|
|
+
|
|
|
+ public PointsRecordApplicationTest(IAccountRepository accountRepository, IRepository<Role> roleRepository, UserController userController, IServiceScopeFactory scopeFactory, IRepository<User> userRepository, IHttpContextAccessor httpContextAccessor, IThirdIdentiyService thirdIdentiyService, IThirdAccountRepository thirdAccountRepository, ITypedCache<SystemSetting> cacheSettingData, ThirdAccounSupplierFactory thirdAccountDomainFactory, ISnapshotPointsApplication pointsRecordApplication, ISnapshotApplication snapshotApplication, IServiceProvider serviceProvider, ISessionContext sessionContext, ICitizenRepository citizenRepository, ISafetyTypeRepository safetyTypeRepository) : base(accountRepository, roleRepository, userController, scopeFactory, userRepository, httpContextAccessor, thirdIdentiyService, thirdAccountRepository, cacheSettingData, thirdAccountDomainFactory, serviceProvider)
|
|
|
{
|
|
|
_pointsRecordApplication = pointsRecordApplication;
|
|
|
_snapshotApplication = snapshotApplication;
|
|
|
+ _sessionContext = sessionContext;
|
|
|
+ _citizenRepository = citizenRepository;
|
|
|
+ _safetyTypeRepository = safetyTypeRepository;
|
|
|
}
|
|
|
|
|
|
[Fact]
|
|
@@ -42,15 +53,39 @@ public class PointsRecordApplicationTest : TestBase
|
|
|
items.ShouldNotBeNull();
|
|
|
}
|
|
|
|
|
|
+ [Fact]
|
|
|
+ public async Task UpdateIsSecurityMax_Test()
|
|
|
+ {
|
|
|
+ SetWeiXin();
|
|
|
+ var inDto = new UpdateIsSecurityMaxAsync
|
|
|
+ {
|
|
|
+ UserId = _sessionContext.UserId,
|
|
|
+ IsSecurityMax = false
|
|
|
+ };
|
|
|
+ await _pointsRecordApplication.UpdateIsSecurityMaxAsync(inDto, CancellationToken.None);
|
|
|
+ var citizen = await _citizenRepository.Queryable()
|
|
|
+ .Where(m => m.Id == inDto.UserId)
|
|
|
+ .Includes(m => m.SafetyTypes)
|
|
|
+ .FirstAsync();
|
|
|
+ citizen.SafetyTypes.Any(m => m.Name == "安全卫士").ShouldBeFalse();
|
|
|
+
|
|
|
+ inDto.IsSecurityMax = true;
|
|
|
+ await _pointsRecordApplication.UpdateIsSecurityMaxAsync(inDto, CancellationToken.None);
|
|
|
+ citizen = await _citizenRepository.Queryable()
|
|
|
+ .Where(m => m.Id == inDto.UserId)
|
|
|
+ .Includes(m => m.SafetyTypes)
|
|
|
+ .FirstAsync();
|
|
|
+ citizen.SafetyTypes.Any(m => m.Name == "安全卫士").ShouldBeTrue();
|
|
|
+ }
|
|
|
+
|
|
|
[Fact]
|
|
|
public async Task GetPointsRank_Test()
|
|
|
{
|
|
|
SetWeiXin();
|
|
|
var item = await _snapshotApplication.GetPointsRankAsync();
|
|
|
item.ShouldNotBeNull();
|
|
|
- foreach (var a in item.Ranks)
|
|
|
- {
|
|
|
- var s = a.PhoneNumber;
|
|
|
- }
|
|
|
+ item.Bulletins.Items.Any(m => m.Title.IsNullOrEmpty()).ShouldBeFalse();
|
|
|
+ item.Bulletins.Items.Any(m => m.BulletinId.IsNullOrEmpty()).ShouldBeFalse();
|
|
|
+ item.VideoBulletin.ShouldNotBeNull();
|
|
|
}
|
|
|
}
|