Browse Source

项目测试

bjmzak
wxd 2 years ago
parent
commit
33b3be8e5b
  1. 31
      src/Shentun.Peis.Domain/Items/ItemManager.cs
  2. 63
      test/Shentun.Peis.Domain.Tests/ItemManagerTest.cs

31
src/Shentun.Peis.Domain/Items/ItemManager.cs

@ -29,6 +29,7 @@ namespace Shentun.Peis.Items
private readonly IRepository<ItemResultMatch, Guid> _itemResultMatchRepository;
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
private readonly IRepository<RegisterAsbitem, Guid> _registerAsbitemRepository;
private readonly IRepository<RegisterCheck> _registerCheckRepository;
public ItemManager(
IRepository<Item, Guid> repository,
@ -38,8 +39,7 @@ namespace Shentun.Peis.Items
IRepository<AsbitemDetail> asbtiemDetailRepository,
IRepository<ItemTemplateDetail> itemTemplateDetailRepository,
IRepository<RegisterCheckItem> registerCheckItemRepository,
IRepository<SexHormoneReferenceRange, Guid> sexHormoneReferenceRangeRepository
,
IRepository<SexHormoneReferenceRange, Guid> sexHormoneReferenceRangeRepository,
IRepository<PatientRegister, Guid> patientRegisterRepository,
IRepository<RegisterAsbitem, Guid> registerAsbitemRepository,
IRepository<RegisterCheck, Guid> registerCheckRepository)
@ -48,6 +48,7 @@ namespace Shentun.Peis.Items
this._asbtiemDetailRepository = asbtiemDetailRepository;
this._itemTemplateDetailRepository = itemTemplateDetailRepository;
this._registerCheckItemRepository = registerCheckItemRepository;
this._registerCheckRepository = registerCheckRepository;
this._referenceRangeRepository = referenceRangeRepository;
this._itemResultTemplateRepository = itemResultTemplateRepository;
this._itemResultMatchRepository = itemResultMatchRepository;
@ -214,20 +215,20 @@ namespace Shentun.Peis.Items
var itemEnt = await _repository.FindAsync(m => m.Id == id);
if (itemEnt != null)
{
var registerCheckItemEntity = await _registerCheckItemRepository.FirstOrDefaultAsync(m => m.ItemId == id);
if (registerCheckItemEntity != null)
{
string PatientName = "";
var query = (from a in await _patientRegisterRepository.GetQueryableAsync()
var IsRegister = from a in await _patientRegisterRepository.GetQueryableAsync()
join b in await _registerAsbitemRepository.GetQueryableAsync() on a.Id equals b.PatientRegisterId
where b.RegisterCheckId == registerCheckItemEntity.RegisterCheckId
select a).ToList();
if (query.Count > 0)
{
PatientName = query.First().PatientName;
}
throw new UserFriendlyException($"该项目已被{PatientName}登记,无法删除");
join c in await _registerCheckRepository.GetQueryableAsync() on b.RegisterCheckId equals c.Id
join d in await _registerCheckItemRepository.GetQueryableAsync() on c.Id equals d.RegisterCheckId
where d.ItemId == id
select new
{
PatientName = a.PatientName
};
if (IsRegister.Count() > 0)
{
throw new UserFriendlyException($"该项目已被{IsRegister.ToList().FirstOrDefault().PatientName}登记,无法删除");
}

63
test/Shentun.Peis.Domain.Tests/ItemManagerTest.cs

@ -0,0 +1,63 @@
using Shentun.Peis.CardRegisters;
using Shentun.Peis.Enums;
using Shentun.Peis.IncludeDetails;
using Shentun.Peis.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Uow;
using Xunit.Abstractions;
using Xunit;
using Shentun.Peis.Items;
using Shentun.Utilities;
namespace Shentun.Peis
{
public class ItemManagerTest : PeisDomainTestBase
{
private readonly ItemManager _itemManager;
private readonly ITestOutputHelper _output;
private readonly IUnitOfWorkManager _unitOfWorkManager;
public ItemManagerTest(ITestOutputHelper output)
{
_output = output;
_itemManager = GetRequiredService<ItemManager>();
_unitOfWorkManager = GetRequiredService<IUnitOfWorkManager>();
}
[Fact]
[UnitOfWork]
public async void CheckAndDeleteAsyncTest()
{
var id = new Guid("3a0e8292-6c97-0866-4047-de7c8390a94c");
using (IUnitOfWork unitOfWork = _unitOfWorkManager.Begin())
{
await _itemManager.CheckAndDeleteAsync(id);
_output.WriteLine("123");
}
}
//[Fact]
//public async void CreateAsyncTest()
//{
// var entity = new Item();
// var newentity = await _itemManager.CreateAsync(entity);
// _output.WriteLine(newentity.Id.ToString());
//}
}
}
Loading…
Cancel
Save