ZiGongCallReportApplicationTest.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using Hotline.Application.StatisticalReport.CallReport;
  2. using Hotline.Share.Dtos.CallCenter;
  3. using Hotline.Share.Enums.CallCenter;
  4. using Hotline.Share.Requests;
  5. using Hotline.Share.Tools;
  6. using Shouldly;
  7. using SqlSugar.Extensions;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. namespace Hotline.Application.Tests.Application;
  14. public class ZiGongCallReportApplicationTest
  15. {
  16. private readonly ZiGongCallReportApplication _ziGongCallReportApplication;
  17. private CancellationToken cancellation;
  18. public ZiGongCallReportApplicationTest(ZiGongCallReportApplication ziGongCallReportApplication)
  19. {
  20. _ziGongCallReportApplication = ziGongCallReportApplication;
  21. cancellation = new CancellationToken();
  22. }
  23. [Fact]
  24. public async Task QueryCallsDetailInTotal_Test()
  25. {
  26. var inDto = new BiQueryCallsDto
  27. {
  28. StartTime = "2024-10-30".ObjToDate(),
  29. EndTime = "2024-10-30 23:59:59".ObjToDate()
  30. };
  31. var (total, items) = await _ziGongCallReportApplication.QueryCallsDetailInTotalAsync(inDto, false);
  32. total.ShouldNotBe(0);
  33. }
  34. [Fact]
  35. public async Task QuerySeatCall_Test()
  36. {
  37. var inDto = new ReportRequiredPagedRequest
  38. {
  39. StartTime = "2024-06-01".ObjToDate(),
  40. EndTime = DateTime.Now
  41. };
  42. var result = await _ziGongCallReportApplication.QuerySeatCallAsync(inDto, cancellation);
  43. result.ShouldNotBeNull();
  44. }
  45. [Theory]
  46. [InlineData(null, null, null, null)]
  47. [InlineData(null, "19136073037", null, null)]
  48. [InlineData(null, null, "67387546", null)]
  49. [InlineData("20240805000001", null, null, null)]
  50. [InlineData(null, null, null, "From")]
  51. public async Task QueryCallsStatisticsDetail_Test(string? orderNo, string? fromNo, string? toNo, string? endBy)
  52. {
  53. return;
  54. var inDto = new QueryCallsStatisticsDetailInDto
  55. {
  56. StartTime = "2024-10-30".ObjToDate(),
  57. EndTime = "2024-10-30 23:59:59".ObjToDate(),
  58. OrderNo = orderNo,
  59. FromNo = fromNo,
  60. ToNo = toNo,
  61. EndBy = endBy?.ToEnum<EEndBy>()
  62. };
  63. var (total, items) = await _ziGongCallReportApplication.QueryCallsStatisticsDetailAsync(inDto, cancellation);
  64. total.ShouldNotBe(0);
  65. items.Any(m => m.OrderNo.NotNullOrEmpty()).ShouldBeTrue();
  66. items.Any(m => m.OrderTitle.NotNullOrEmpty()).ShouldBeTrue();
  67. if (fromNo != null)
  68. items.Any(m => m.FromNo != fromNo).ShouldBeFalse();
  69. if (toNo != null)
  70. items.Any(m => m.ToNo != toNo).ShouldBeFalse();
  71. if (orderNo != null)
  72. items.Any(m => m.OrderNo != orderNo).ShouldBeFalse();
  73. if (endBy != null)
  74. items.Any(m => m.EndBy != inDto.EndBy).ShouldBeFalse();
  75. }
  76. [Theory]
  77. [InlineData()]
  78. public async Task QueryCallsDetailStatistics_Test()
  79. {
  80. var inDto = new StartEndTimeDto
  81. {
  82. StartTime = "2024-07-29".ObjToDate(),
  83. EndTime = "2024-07-29 23:59:59".ObjToDate(),
  84. };
  85. var result = await _ziGongCallReportApplication.QueryCallsDetailStatisticsAsync(inDto, cancellation);
  86. result.Any(m => m.InConnectionRate.IsNullOrEmpty()).ShouldBeFalse();
  87. result.ShouldNotBeNull();
  88. }
  89. }