|
@@ -2,8 +2,10 @@
|
|
|
using Castle.DynamicProxy;
|
|
|
using Hotline.Api.Controllers;
|
|
|
using Hotline.Application.CallCenter;
|
|
|
+using Hotline.Application.Tests.Dto;
|
|
|
using Hotline.Application.Tests.Infrastructure;
|
|
|
using Hotline.Application.Tests.Mock;
|
|
|
+using Hotline.Application.Tests.SqlSuger;
|
|
|
using Hotline.Caching.Interfaces;
|
|
|
using Hotline.Caching.Services;
|
|
|
using Hotline.CallCenter.Calls;
|
|
@@ -12,12 +14,14 @@ using Hotline.FlowEngine.WorkflowModules;
|
|
|
using Hotline.Identity.Accounts;
|
|
|
using Hotline.Identity.Roles;
|
|
|
using Hotline.Orders;
|
|
|
+using Hotline.Repository.SqlSugar;
|
|
|
using Hotline.Settings;
|
|
|
using Hotline.Settings.Hotspots;
|
|
|
using Hotline.Share.Dtos.File;
|
|
|
using Hotline.Share.Dtos.FlowEngine;
|
|
|
using Hotline.Share.Dtos.Order;
|
|
|
using Hotline.Share.Dtos.Order.Publish;
|
|
|
+using Hotline.Share.Dtos.TrCallCenter;
|
|
|
using Hotline.Share.Dtos.Users;
|
|
|
using Hotline.Share.Enums.CallCenter;
|
|
|
using Hotline.Share.Enums.FlowEngine;
|
|
@@ -32,6 +36,7 @@ using Microsoft.AspNetCore.Mvc.Testing;
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
using Moq;
|
|
|
using Shouldly;
|
|
|
+using SqlSugar;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
@@ -57,8 +62,9 @@ public class OrderControllerTest : TestBase
|
|
|
private readonly IRepository<CallNative> _callNativeRepository;
|
|
|
private readonly IRepository<CallidRelation> _callIdRelationRepository;
|
|
|
private readonly XingTangCallApplication _defaultCallApplication;
|
|
|
+ private readonly ISqlSugarClient _capSqlClient;
|
|
|
|
|
|
- public OrderControllerTest(IAccountRepository accountRepository, IRepository<Role> roleRepository, UserController userController, IRepository<Hotspot> hotspotRepository, OrderController orderController, IOrderRepository orderRepository, IServiceScopeFactory scopeFactory, IRepository<User> userRepository, OrderServiceMock orderServiceMock, IRepository<OrderPublish> orderPublishRepository, INotificationHandler<EndWorkflowNotify> orderPublishEndWorkflowHandler, IOrderVisitRepository orderVisitRepository, IRepository<SystemSetting> systemSettingRepository, ISystemSettingCacheManager systemSettingCacheManager, IRepository<CallNative> callNativeRepository, IRepository<CallidRelation> callIdRelationRepository, XingTangCallApplication defaultCallApplication) : base(accountRepository, roleRepository, userController, scopeFactory, userRepository)
|
|
|
+ public OrderControllerTest(IAccountRepository accountRepository, IRepository<Role> roleRepository, UserController userController, IRepository<Hotspot> hotspotRepository, OrderController orderController, IOrderRepository orderRepository, IServiceScopeFactory scopeFactory, IRepository<User> userRepository, OrderServiceMock orderServiceMock, IRepository<OrderPublish> orderPublishRepository, INotificationHandler<EndWorkflowNotify> orderPublishEndWorkflowHandler, IOrderVisitRepository orderVisitRepository, IRepository<SystemSetting> systemSettingRepository, ISystemSettingCacheManager systemSettingCacheManager, IRepository<CallNative> callNativeRepository, IRepository<CallidRelation> callIdRelationRepository, XingTangCallApplication defaultCallApplication, ISugarUnitOfWork<CapDbContext> capDbContext) : base(accountRepository, roleRepository, userController, scopeFactory, userRepository)
|
|
|
{
|
|
|
_hotspotRepository = hotspotRepository;
|
|
|
_orderController = orderController;
|
|
@@ -76,11 +82,14 @@ public class OrderControllerTest : TestBase
|
|
|
_callNativeRepository = callNativeRepository;
|
|
|
_callIdRelationRepository = callIdRelationRepository;
|
|
|
_defaultCallApplication = defaultCallApplication;
|
|
|
+ _capSqlClient = capDbContext.Db;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
- /// 创建工单时传入一个错误callId,
|
|
|
+ /// 创建工单时传入一个错误callId
|
|
|
+ /// 验证:
|
|
|
/// 测试在延迟消息后会不会把工单测CallId修复成正确的CallId
|
|
|
+ /// 推送的省上数据是否正确
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
[Fact]
|
|
@@ -116,6 +125,16 @@ public class OrderControllerTest : TestBase
|
|
|
var orderEntity = await _orderRepository.GetAsync(order.Id);
|
|
|
orderEntity.ShouldNotBeNull();
|
|
|
orderEntity.CallId.ShouldBe(inDto.Id);
|
|
|
+ var query = _capSqlClient.Queryable<PublishedEntity>()
|
|
|
+ .Where(m => m.Name == "hotline.call.connect.order" && m.Content.Contains(order.Id));
|
|
|
+ var sql = query.ToSqlString();
|
|
|
+ sql.Contains("id").ShouldBeFalse("字段大小写错误" + sql);
|
|
|
+ var published = await query.FirstAsync();
|
|
|
+ published.ShouldNotBeNull("推送数据不存在");
|
|
|
+ var message = published.Content.FromJson<Message<PublishCallRecrodDto>>();
|
|
|
+ message.Value.Order.ShouldNotBeNull("推送的工单信息为空");
|
|
|
+ message.Value.Order.ProvinceNo.ShouldNotBeNull("省工单编号不能为空");
|
|
|
+ message.Value.Order.No.ShouldBe(order.No, "推送的工单编号错误");
|
|
|
}
|
|
|
|
|
|
/// <summary>
|