You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
3.9 KiB

using Shentun.Peis.Enums;
using Shentun.Peis.GuidTypes;
using Shentun.Peis.Models;
using Shentun.Peis.RegisterAsbitems;
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;
using Xunit.Abstractions;
namespace Shentun.Peis
{
public class RegisterCheckAsbitemManagerTest : PeisDomainTestBase
{
private readonly IRepository<RegisterCheckAsbitem, Guid> _repository;
private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
private readonly IRepository<RegisterCheck, Guid> _registerCheckRepository;
private readonly IRepository<RegisterCheckItem> _registerCheckItemRepository;
private readonly RegisterCheckAsbitemManager _manager;
private readonly ITestOutputHelper _output;
private readonly IUnitOfWorkManager _unitOfWorkManager;
public RegisterCheckAsbitemManagerTest(ITestOutputHelper output)
{
_output = output;
_repository = GetRequiredService<IRepository<RegisterCheckAsbitem, Guid>>();
_patientRegisterRepository = GetRequiredService<IRepository<PatientRegister, Guid>>();
_registerCheckRepository = GetRequiredService<IRepository<RegisterCheck, Guid>>();
_registerCheckItemRepository = GetRequiredService<IRepository<RegisterCheckItem>>();
_manager = GetRequiredService<RegisterCheckAsbitemManager>();
_unitOfWorkManager = GetRequiredService<IUnitOfWorkManager>();
}
[Fact]
public async Task CreateManyAsync()
{
using (var unitOfWork = _unitOfWorkManager.Begin())
{
var patientRegister = await _patientRegisterRepository.GetAsync(new Guid("3a11a1ad-4def-555b-0f6f-dbbadd652d9f"));
List<RegisterCheckAsbitem> registerAsbitems = new List<RegisterCheckAsbitem>();
registerAsbitems.Add(new RegisterCheckAsbitem()
{
AsbitemId = new Guid("3a0c55fa-63b9-1510-3e81-20750c496d44"),
StandardPrice = 10,
ChargePrice = 10,
Amount = 1,
PayTypeFlag = PayTypeFlag.PersonPay,
IsCharge = 'N'
});
registerAsbitems.Add(new RegisterCheckAsbitem()
{
AsbitemId = new Guid("3a0c5600-ae78-9ed4-e3c1-993ef41d3c51"),
StandardPrice = 10,
ChargePrice = 10,
Amount = 1,
PayTypeFlag = PayTypeFlag.PersonPay,
IsCharge = 'N'
});
registerAsbitems.Add(new RegisterCheckAsbitem()
{
AsbitemId = new Guid("3a0c5635-b904-dc9b-593e-93d0dd228576"),
StandardPrice = 10,
ChargePrice = 10,
Amount = 1,
PayTypeFlag = PayTypeFlag.PersonPay,
IsCharge = 'N'
});
registerAsbitems.Add(new RegisterCheckAsbitem()
{
AsbitemId = new Guid("3a11abbc-b19e-3549-e639-acc0e9aa6fbc"),
StandardPrice = 10,
ChargePrice = 10,
Amount = 1,
PayTypeFlag = PayTypeFlag.PersonPay,
IsCharge = 'N'
});
var newEntity = await _manager.CreateManyAsync(patientRegister, registerAsbitems);
await _registerCheckRepository.InsertManyAsync(newEntity.RegisterChecks);
await _repository.InsertManyAsync(newEntity.RegisterCheckAsbitems);
await _registerCheckItemRepository.InsertManyAsync(newEntity.RegisterCheckItems);
await unitOfWork.CompleteAsync();
}
}
}
}