private InventoryApiContext SetUpContext(IEnumerable <Items> items) { //set up the mock context for new tests var dbCOB = new DbContextOptionsBuilder <InventoryApiContext>(); //use a different database for testing than the default in memory database dbCOB.UseInMemoryDatabase("ItemControllerTestDB"); var mockContext = new InventoryApiContext(dbCOB.Options); //delete any existing test items mockContext.Items.RemoveRange(mockContext.Items); mockContext.SaveChanges(); //if items were sent as a parameter, add them to the database if (!Object.ReferenceEquals(items, null)) { mockContext.Items.AddRange(items); } mockContext.SaveChanges(); return(mockContext); }
// The optional parameter for the injection of a writer dependency is for the // testing of console output. public ItemsController(InventoryApiContext context, IItemMonitor ItemMonitor, ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger <ItemsController>(); _context = context; _itemMonitor = ItemMonitor; }
private ItemMonitor SetUpMonitor(InventoryApiContext context, ILoggerFactory loggerFactory) { return(new ItemMonitor(context, new TestTimerFactory(), loggerFactory)); }