using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Threading; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Moq; namespace Ombi.Core.Tests { public static class DbHelper { public static DbSet GetQueryableMockDbSet(params T[] sourceList) where T : class { var queryable = sourceList.AsQueryable(); var dbSet = new Mock>(); dbSet.As>().Setup(m => m.Provider).Returns(queryable.Provider); dbSet.As>().Setup(m => m.Expression).Returns(queryable.Expression); dbSet.As>().Setup(m => m.ElementType).Returns(queryable.ElementType); dbSet.As>().Setup(m => m.GetEnumerator()).Returns(queryable.GetEnumerator()); return dbSet.Object; } public static IQueryable GetQueryable(params T[] sourceList) where T : class { var mock = new Mock>(); mock.As>().Setup(x => x.ToListAsync(It.IsAny())).ReturnsAsync(sourceList.ToList()); return mock.Object; } } }