mirror of
https://github.com/dotnetcore/Util.git
synced 2026-10-18 13:11:16 +08:00
54 lines
1.6 KiB
C#
54 lines
1.6 KiB
C#
using System.Threading.Tasks;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Util.Tests.Fakes;
|
|
using Util.Tests.Infrastructure;
|
|
using Util.Tests.Repositories;
|
|
using Util.Tests.UnitOfWorks;
|
|
using Xunit;
|
|
|
|
namespace Util.Data.EntityFrameworkCore.Tests {
|
|
/// <summary>
|
|
/// 贴子仓储测试
|
|
/// 说明:
|
|
/// 1. 测试多对多
|
|
/// </summary>
|
|
public class PostRepositoryTest : TestBase {
|
|
/// <summary>
|
|
/// 仓储
|
|
/// </summary>
|
|
private readonly IPostRepository _repository;
|
|
|
|
/// <summary>
|
|
/// 测试初始化
|
|
/// </summary>
|
|
public PostRepositoryTest(IPostRepository repository, ITestUnitOfWork unitOfWork ) : base(unitOfWork){
|
|
_repository = repository;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 测试添加实体
|
|
/// </summary>
|
|
[Fact]
|
|
public async Task TestAddAsync() {
|
|
//添加实体
|
|
var post = PostFakeService.GetPost();
|
|
post.Init();
|
|
var tag1 = TagFakeService.GetTag();
|
|
tag1.Init();
|
|
post.Tags.Add( tag1 );
|
|
|
|
var tag2 = TagFakeService.GetTag();
|
|
tag2.Init();
|
|
post.Tags.Add( tag2 );
|
|
|
|
await _repository.AddAsync( post );
|
|
await UnitOfWork.CommitAsync();
|
|
UnitOfWork.ClearCache();
|
|
|
|
//验证
|
|
var result = await _repository.SingleAsync( t => t.Id == post.Id, queryable => queryable.Include( t => t.Tags ) );
|
|
Assert.NotNull( result );
|
|
Assert.Equal( 2,result.Tags.Count );
|
|
}
|
|
}
|
|
} |