public void WhenTheRequestIsMade_ThenCustomersAreReturnedFromTheRepository() { var fixture = new Fixture(); fixture.Behaviors.Remove(new ThrowingRecursionBehavior()); fixture.Behaviors.Add(new OmitOnRecursionBehavior()); var dummyCustomerEntities = fixture.CreateMany <CustomerEntity>().ToList(); var options = new DbContextOptionsBuilder <TddContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var stubContext = new TddContext(options.Options); stubContext.Customers.AddRange(dummyCustomerEntities); stubContext.SaveChanges(); var dummyApiCustomers = fixture.CreateMany <Customer>().ToList(); var stubMapper = new Mock <IMapper>(); stubMapper .Setup(m => m.Map <IList <Customer> >(It.IsAny <IEnumerable <CustomerEntity> >())) .Returns(dummyApiCustomers); var sut = new EfCustomersHandler(stubContext, stubMapper.Object); var result = sut.GetAll(); result.Should().BeEquivalentTo(dummyApiCustomers); }
public EfCustomersHandler(TddContext dbContext, IMapper mapper) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); }
public void CreateTestDatabase() { _scope = WebApplicationFactory.Server.Host.Services.CreateScope(); var scopedServices = _scope.ServiceProvider; _dbContext = scopedServices.GetRequiredService <TddContext>(); }