45 lines
1.5 KiB
C#
45 lines
1.5 KiB
C#
|
using PoweredSoft.DynamicQuery.Core;
|
|||
|
using PoweredSoft.DynamicQuery.Test.Mock;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using Xunit;
|
|||
|
|
|||
|
namespace PoweredSoft.DynamicQuery.Test
|
|||
|
{
|
|||
|
public class QueryProviderTests
|
|||
|
{
|
|||
|
private class FakeInterceptor : IQueryInterceptor
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private class QueryInterceptorProvider : IQueryInterceptorProvider
|
|||
|
{
|
|||
|
public IEnumerable<IQueryInterceptor> GetInterceptors<TSource, TResult>(IQueryCriteria queryCriteria, IQueryable<TSource> queryable)
|
|||
|
{
|
|||
|
yield return new FakeInterceptor();
|
|||
|
yield return new FakeInterceptor();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
[Fact]
|
|||
|
public void Simple()
|
|||
|
{
|
|||
|
MockContextFactory.SeedAndTestContextFor("QueryProviderTests_Simple", TestSeeders.SimpleSeedScenario, ctx =>
|
|||
|
{
|
|||
|
// criteria
|
|||
|
var criteria = new QueryCriteria();
|
|||
|
var queryHandler = new QueryHandler(new List<IQueryInterceptorProvider>{
|
|||
|
new QueryInterceptorProvider()
|
|||
|
});
|
|||
|
queryHandler.AddInterceptor(new FakeInterceptor());
|
|||
|
var interceptors = queryHandler.ResolveInterceptors<Order, Order>(criteria, ctx.Orders);
|
|||
|
Assert.Equal(1, interceptors.Count);
|
|||
|
Assert.True(interceptors[0].GetType() == typeof(FakeInterceptor));
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
}
|