Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save lucaslra/fb39f3afa372d08d8dbd459e269fecb6 to your computer and use it in GitHub Desktop.
Save lucaslra/fb39f3afa372d08d8dbd459e269fecb6 to your computer and use it in GitHub Desktop.
Mocking IDBSet IQueryable with Moq
using System.Data.Entity;
using System.Linq;
using Moq;
namespace Platform.Domain.Tests.Helpers
{
public class QueryableDbSetMock
{
public static IDbSet<T> GetQueryableMockDbSet<T>(params T[] sourceList) where T : class
{
var queryable = sourceList.AsQueryable();
var dbSet = new Mock<IDbSet<T>>();
dbSet.As<IQueryable<T>>().Setup(m => m.Provider).Returns(queryable.Provider);
dbSet.As<IQueryable<T>>().Setup(m => m.Expression).Returns(queryable.Expression);
dbSet.As<IQueryable<T>>().Setup(m => m.ElementType).Returns(queryable.ElementType);
dbSet.As<IQueryable<T>>().Setup(m => m.GetEnumerator()).Returns(queryable.GetEnumerator());
return dbSet.Object;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment