Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class TestUtil
- {
- public static AppointmentSchedulerContext CreateMockContext()
- {
- var servicesList = new List<Service>
- {
- new Service {ServiceId = Guid.NewGuid(), Name = "Full Individual Return"},
- new Service {ServiceId = Guid.NewGuid(), Name = "Partial Individual Return"},
- new Service {ServiceId = Guid.NewGuid(), Name = "Exchange"},
- };
- var mockContext = new Mock<AppointmentSchedulerContext>();
- mockContext.Setup(m => m.Services)
- .Returns(CreateMockDbSet(servicesList).Object);
- return mockContext.Object;
- }
- private static Mock<DbSet<T>> CreateMockDbSet<T>(List<T> backingList) where T : class
- {
- var queryable = backingList.AsQueryable();
- var mockSet = new Mock<DbSet<T>>();
- mockSet.As<IQueryable<T>>().Setup(m => m.Provider).Returns(queryable.Provider);
- mockSet.As<IQueryable<T>>().Setup(m => m.Expression).Returns(queryable.Expression);
- mockSet.As<IQueryable<T>>().Setup(m => m.ElementType).Returns(queryable.ElementType);
- mockSet.As<IQueryable<T>>().Setup(m => m.GetEnumerator()).Returns(queryable.GetEnumerator());
- mockSet.As<IDbSet<T>>()
- .Setup(m => m.Add(It.IsAny<T>()))
- .Returns((T item) => item)
- .Callback((T item) => backingList.Add(item));
- return mockSet;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement