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.

98 lines
3.1 KiB

using Shentun.Sms.SmsSends;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Guids;
using Volo.Abp.Uow;
using Xunit.Abstractions;
using Xunit;
namespace Shentun.Sms.SmsSends
{
public class SmsSendManagerTest : SmsDomainTestBase
{
private readonly IRepository<SmsSend, Guid> _smsSendRepository;
private readonly SmsSendManager _smsSendManager;
private readonly IGuidGenerator _guidGenerator;
private readonly IUnitOfWorkManager _unitOfWorkManager;
private readonly ITestOutputHelper _output;
public SmsSendManagerTest(
ITestOutputHelper output
)
{
_output = output;
_smsSendManager = GetRequiredService<SmsSendManager>();
_guidGenerator = GetRequiredService<IGuidGenerator>();
_smsSendRepository = GetRequiredService<IRepository<SmsSend, Guid>>();
_unitOfWorkManager = GetRequiredService<IUnitOfWorkManager>();
}
[Fact]
public async Task CreateAsyncTest()
{
using (IUnitOfWork unitOfWork = _unitOfWorkManager.Begin())
{
var entity = new SmsSend(_guidGenerator.Create())
{
IsActive = 'N',
IsComplete = 'N',
SmsInterfaceId = "001",
SmsTaskId = Guid.Parse("3a118c1d-b8d2-898a-b135-d75f50135e62"),
PlanSendTime = DateTime.Now,
Content = "短信内容"
};
entity = _smsSendManager.CreateAsync(entity);
await _smsSendRepository.InsertAsync(entity);
await unitOfWork.CompleteAsync();
_output.WriteLine(entity.Id.ToString());
}
}
[Fact]
public async Task UpdateAsyncTest()
{
using (IUnitOfWork unitOfWork = _unitOfWorkManager.Begin())
{
var Id = Guid.Parse("3a118c1d-b8d2-898a-b135-d75f50135e62");
var entity = await _smsSendRepository.GetAsync(Id);
var newEntity = new SmsSend(_guidGenerator.Create())
{
Content = "短信内容2",
SmsTaskId = entity.SmsTaskId,
SmsInterfaceId = entity.SmsInterfaceId,
IsComplete = entity.IsComplete,
IsActive = entity.IsActive,
PlanSendTime = entity.PlanSendTime
};
_smsSendManager.UpdateAsync(newEntity, entity);
await _smsSendRepository.UpdateAsync(entity);
await unitOfWork.CompleteAsync();
}
}
[Fact]
public async Task DeleteAsyncTest()
{
using (IUnitOfWork unitOfWork = _unitOfWorkManager.Begin())
{
var Id = Guid.Parse("3a118c1d-b8d2-898a-b135-d75f50135e62");
await _smsSendManager.CheckIsDeleteAsync(Id);
await unitOfWork.CompleteAsync();
}
}
}
}