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

  1. using Shentun.Peis.Enums;
  2. using Shentun.Peis.GuidTypes;
  3. using Shentun.Peis.Models;
  4. using Shentun.Peis.RegisterAsbitems;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using Volo.Abp.Domain.Repositories;
  11. using Volo.Abp.Uow;
  12. using Xunit;
  13. using Xunit.Abstractions;
  14. namespace Shentun.Peis
  15. {
  16. public class RegisterCheckAsbitemManagerTest : PeisDomainTestBase
  17. {
  18. private readonly IRepository<RegisterCheckAsbitem, Guid> _repository;
  19. private readonly IRepository<PatientRegister, Guid> _patientRegisterRepository;
  20. private readonly IRepository<RegisterCheck, Guid> _registerCheckRepository;
  21. private readonly IRepository<RegisterCheckItem> _registerCheckItemRepository;
  22. private readonly RegisterCheckAsbitemManager _manager;
  23. private readonly ITestOutputHelper _output;
  24. private readonly IUnitOfWorkManager _unitOfWorkManager;
  25. public RegisterCheckAsbitemManagerTest(ITestOutputHelper output)
  26. {
  27. _output = output;
  28. _repository = GetRequiredService<IRepository<RegisterCheckAsbitem, Guid>>();
  29. _patientRegisterRepository = GetRequiredService<IRepository<PatientRegister, Guid>>();
  30. _registerCheckRepository = GetRequiredService<IRepository<RegisterCheck, Guid>>();
  31. _registerCheckItemRepository = GetRequiredService<IRepository<RegisterCheckItem>>();
  32. _manager = GetRequiredService<RegisterCheckAsbitemManager>();
  33. _unitOfWorkManager = GetRequiredService<IUnitOfWorkManager>();
  34. }
  35. [Fact]
  36. public async Task CreateManyAsync()
  37. {
  38. using (var unitOfWork = _unitOfWorkManager.Begin())
  39. {
  40. var patientRegister = await _patientRegisterRepository.GetAsync(new Guid("3a11a1ad-4def-555b-0f6f-dbbadd652d9f"));
  41. List<RegisterCheckAsbitem> registerAsbitems = new List<RegisterCheckAsbitem>();
  42. registerAsbitems.Add(new RegisterCheckAsbitem()
  43. {
  44. AsbitemId = new Guid("3a0c55fa-63b9-1510-3e81-20750c496d44"),
  45. StandardPrice = 10,
  46. ChargePrice = 10,
  47. Amount = 1,
  48. PayTypeFlag = PayTypeFlag.PersonPay,
  49. IsCharge = 'N'
  50. });
  51. registerAsbitems.Add(new RegisterCheckAsbitem()
  52. {
  53. AsbitemId = new Guid("3a0c5600-ae78-9ed4-e3c1-993ef41d3c51"),
  54. StandardPrice = 10,
  55. ChargePrice = 10,
  56. Amount = 1,
  57. PayTypeFlag = PayTypeFlag.PersonPay,
  58. IsCharge = 'N'
  59. });
  60. registerAsbitems.Add(new RegisterCheckAsbitem()
  61. {
  62. AsbitemId = new Guid("3a0c5635-b904-dc9b-593e-93d0dd228576"),
  63. StandardPrice = 10,
  64. ChargePrice = 10,
  65. Amount = 1,
  66. PayTypeFlag = PayTypeFlag.PersonPay,
  67. IsCharge = 'N'
  68. });
  69. registerAsbitems.Add(new RegisterCheckAsbitem()
  70. {
  71. AsbitemId = new Guid("3a11abbc-b19e-3549-e639-acc0e9aa6fbc"),
  72. StandardPrice = 10,
  73. ChargePrice = 10,
  74. Amount = 1,
  75. PayTypeFlag = PayTypeFlag.PersonPay,
  76. IsCharge = 'N'
  77. });
  78. var newEntity = await _manager.CreateManyAsync(patientRegister, registerAsbitems);
  79. await _registerCheckRepository.InsertManyAsync(newEntity.RegisterChecks);
  80. await _repository.InsertManyAsync(newEntity.RegisterCheckAsbitems);
  81. await _registerCheckItemRepository.InsertManyAsync(newEntity.RegisterCheckItems);
  82. await unitOfWork.CompleteAsync();
  83. }
  84. }
  85. }
  86. }