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.

123 lines
4.5 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. using Shentun.WebPeis.Asbitems;
  2. using Shentun.WebPeis.Models;
  3. using Shentun.WebPeis.Persons;
  4. using Shentun.WebPeis.QuestionRegisters;
  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.Modularity;
  12. using Volo.Abp.Uow;
  13. using Xunit;
  14. using Xunit.Abstractions;
  15. namespace Shentun.WebPeis
  16. {
  17. public class QuestionRegisterAppServiceTest<TStartupModule> : WebPeisApplicationTestBase<TStartupModule>
  18. where TStartupModule : IAbpModule
  19. {
  20. private readonly IRepository<QuestionRegister> _repository;
  21. private readonly QuestionRegisterAppService _appService;
  22. private readonly ITestOutputHelper _output;
  23. private readonly IUnitOfWorkManager _unitOfWorkManager;
  24. public QuestionRegisterAppServiceTest(ITestOutputHelper output)
  25. {
  26. _unitOfWorkManager = GetRequiredService<IUnitOfWorkManager>();
  27. _repository = GetRequiredService<IRepository<QuestionRegister>>();
  28. _appService = GetRequiredService<QuestionRegisterAppService>();
  29. _output = output;
  30. }
  31. [Fact]
  32. public async Task GetByPersonId()
  33. {
  34. using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true))
  35. {
  36. var entity = await _appService.GetByPersonIdAsync(new PersonIdInputDto()
  37. {
  38. PersonId = new Guid("3a12d72c-19d9-e8b2-71f6-cf283103e191") // 3a12d7fa-63f1-d549-c2f8-01123e5b7a8a
  39. });
  40. foreach (var item in entity.QuestionRegisterItems)
  41. {
  42. _output.WriteLine("-----------" + item.QuestionName + "-" + item.AnswerType );
  43. foreach (var answer in item.QuestionRegisterAnswers)
  44. {
  45. _output.WriteLine(answer.QuestionAnswerName + "-" + answer.ChildAnswerType + answer.IsSelected);
  46. //answer.IsSelected = 'Y';
  47. foreach(var childAnswer in answer.Childs)
  48. {
  49. _output.WriteLine("----"+childAnswer.QuestionAnswerName + childAnswer.IsSelected);
  50. //childAnswer.IsSelected = 'Y';
  51. }
  52. }
  53. }
  54. //var questionRegister = await _repository.FindAsync(o=>o.QuestionRegisterId == entity.QuestionRegisterId);
  55. //if(questionRegister == null)
  56. //{
  57. // await _appService.CreateAsync(entity);
  58. //}
  59. //else
  60. //{
  61. // await _appService.UpdateAsync(entity);
  62. //}
  63. await unitOfWork.CompleteAsync();
  64. }
  65. }
  66. [Fact]
  67. public async Task GetSubjectTypeListByPersonIdAsync()
  68. {
  69. using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true))
  70. {
  71. var entity = await _appService.GetSubjectTypeListByPersonIdAsync(new PersonIdInputDto()
  72. {
  73. PersonId = new Guid("3a12d72c-19d9-e8b2-71f6-cf283103e191") // 3a12d7fa-63f1-d549-c2f8-01123e5b7a8a
  74. });
  75. foreach (var item in entity)
  76. {
  77. _output.WriteLine("-----------" + item.QuestionSubjectTypeName );
  78. foreach (var answer in item.Answers)
  79. {
  80. _output.WriteLine(answer.QuestionAnswerName );
  81. }
  82. }
  83. await unitOfWork.CompleteAsync();
  84. }
  85. }
  86. [Fact]
  87. public async Task GetQuestionRegisterListByPersonIdAsync()
  88. {
  89. using (var unitOfWork = _unitOfWorkManager.Begin(isTransactional: true))
  90. {
  91. var entity = await _appService.GetQuestionRegisterListByPersonIdAsync(new PersonIdInputDto()
  92. {
  93. PersonId = new Guid("3a12d72c-19d9-e8b2-71f6-cf283103e191") // 3a12d7fa-63f1-d549-c2f8-01123e5b7a8a
  94. });
  95. foreach (var item in entity)
  96. {
  97. _output.WriteLine("-----------" + item.QuestionName);
  98. foreach (var answer in item.Answers)
  99. {
  100. _output.WriteLine(answer.Answer);
  101. }
  102. }
  103. await unitOfWork.CompleteAsync();
  104. }
  105. }
  106. }
  107. }