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.
		
		
		
	
	
		
		
			
	
    
		
			
				
					
						                                                                                                | 
						 | 
						using Shentun.Peis.CardRegisters;using Shentun.Peis.Enums;using Shentun.Peis.IncludeDetails;using Shentun.Peis.Models;using Shentun.Peis.Patients;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 PatientManagerTest : PeisDomainTestBase    {        private readonly IRepository<Patient, Guid> _repository;        private readonly PatientManager _manager;        private readonly ITestOutputHelper _output;        private readonly IUnitOfWorkManager _unitOfWorkManager;        public PatientManagerTest(ITestOutputHelper output)        {            _output = output;            _repository = GetRequiredService<IRepository<Patient, Guid>>();            _manager = GetRequiredService<PatientManager>();
            _unitOfWorkManager = GetRequiredService<IUnitOfWorkManager>();        }
        [Fact]        public async Task CreateAsync()        {            using(var unitOfWork = _unitOfWorkManager.Begin())            {                var patient = new Patient()                {                    MedicalCenterId = new Guid("68f2d834-2bf0-4978-ad54-d2133c12a333"),                    DisplayName = "Test",                    SexId = SexFlag.UnKnown,                    MaritalStatusId = MaritalStatusFlag.UnKnown,                    IdNo = "43062419790909931X"                };                var newPatient = await _manager.CreateAsync(patient);                await _repository.InsertAsync(newPatient);                await unitOfWork.CompleteAsync();            }        }        /// <summary>
        /// 测试事务回滚
        /// </summary>
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        [Fact]        public async Task CreateFaildAsync()        {            using (var unitOfWork = _unitOfWorkManager.Begin())            {                var patient = new Patient()                {                    MedicalCenterId = new Guid("68f2d834-2bf0-4978-ad54-d2133c12a333"),                    DisplayName = "Test",                    SexId = SexFlag.UnKnown,                    MaritalStatusId = MaritalStatusFlag.UnKnown,                    IdNo = "43062419790909920X"                };                var newPatient = await _manager.CreateAsync(patient);                throw new Exception("中断");                await _repository.InsertAsync(newPatient);                await unitOfWork.CompleteAsync();            }        }
        [Fact]        public async Task UpdateAsync()        {            using (var unitOfWork = _unitOfWorkManager.Begin())            {                var sourcePatient = new Patient()                {                    MedicalCenterId = new Guid("68f2d834-2bf0-4978-ad54-d2133c12a333"),                    DisplayName = "Test2",                    SexId = SexFlag.Female,                    MaritalStatusId = MaritalStatusFlag.Married,                    IdNo = "43062419790909920X"                };                var targetPatient = await _repository.GetAsync(new Guid("3a119be6-d9aa-2e13-a764-0b363c60169d"));                await _manager.UpdateAsync(sourcePatient,targetPatient);                await _repository.UpdateAsync(targetPatient);                await unitOfWork.CompleteAsync();            }        }    }}
  |