public static IAppDbContextFactory SetupContextFactory(ITeachersQuery teachersQuery) { var options = new DbContextOptionsBuilder <AppDbContext>().Options; QueryExtensions.TeachersQueryFactory = context => teachersQuery; var mockDbContextFactory = new AppDbContextFactory(options); return(mockDbContextFactory); }
private static Mock <IAppDbContextFactory> SetupContextFactory(ITeachersQuery teachersQuery) { var options = new DbContextOptionsBuilder <AppDbContext>() .Options; var mockDbContext = new AppDbContext(options); QueryExtensions.TeachersQueryFactory = context => teachersQuery; var mockDbContextFactory = new Mock <IAppDbContextFactory>(); mockDbContextFactory.Setup(cf => cf.Create()).Returns(mockDbContext); return(mockDbContextFactory); }
private static Mock <IAppDbContextFactory> SetupContextFactory(IMessagesQuery messagesQuery, IMessageFileQuery messageFileQuery, ITeachersQuery teachersQuery) { var options = new DbContextOptionsBuilder <AppDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) // don't raise the error warning us that the in memory db doesn't support transactions .ConfigureWarnings(x => x.Ignore(InMemoryEventId.TransactionIgnoredWarning)) .Options; var dbContext = new AppDbContext(options); dbContext.FileTypes.AddRange(GetTestFileTypes()); dbContext.MessageFiles.AddRange(GetTestMessageFiles()); dbContext.Messages.AddRange(GetTestMessages()); dbContext.SaveChanges(); QueryExtensions.MessagesQueryFactory = context => messagesQuery; QueryExtensions.MessageFileQueryFactory = context => messageFileQuery; QueryExtensions.TeachersQueryFactory = context => teachersQuery; var mockDbContextFactory = new Mock <IAppDbContextFactory>(); mockDbContextFactory.Setup(cf => cf.Create()).Returns(dbContext); return(mockDbContextFactory); }