public void Setup() { //Mock the context -- Using InMemoryDatabase for speed purpose var options = new DbContextOptionsBuilder <GestionaryWebsite.DataAccess.GestionaryContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; _context = new GestionaryWebsite.DataAccess.GestionaryContext(options); Seed(); //Mock the ILogger var loggerEmployee = Mock.Of <ILogger <GestionaryWebsite.DataAccess.EmployeeRepository> >(); var loggerStock = Mock.Of <ILogger <GestionaryWebsite.DataAccess.StockRepository> >(); var loggerLogs = Mock.Of <ILogger <GestionaryWebsite.DataAccess.LogRepository> >(); //Create the Automapper -- No need to mock it, we want to create a real AutoMapper with the GestionnaryWebsite's AutomapperProfile var mapperProfile = new GestionaryWebsite.DataAccess.AutomapperProfiles(); var mapperConfig = new MapperConfiguration(cfg => cfg.AddProfile(mapperProfile)); var mapper = new Mapper(mapperConfig); //Create Repositories _employeeRepository = new GestionaryWebsite.DataAccess.EmployeeRepository(_context, loggerEmployee, mapper); _stockRepository = new GestionaryWebsite.DataAccess.StockRepository(_context, loggerStock, mapper); _logRepository = new GestionaryWebsite.DataAccess.LogRepository(_context, loggerLogs, mapper); }
public void Cleanup() { _employeeRepository = null; _stockRepository = null; _logRepository = null; _context.Dispose(); _context = null; }