示例#1
0
        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);
        }