public async Task CreateGuestAsync_CreatesGuest_IfGuestDtoCorrect() { // Arrange var mapperConfig = new MapperConfiguration(cfg => cfg.AddProfile <MappingProfile>()); var mapper = mapperConfig.CreateMapper(); var options = await SetupTestDatabaseAsync(_guests); var httpContextAccessor = new Mock <IHttpContextAccessor>(); var guestRepository = new GuestRepository(new WeddingPlannerDbContext(options, httpContextAccessor.Object)); var guestService = new GuestService(mapper, guestRepository); // Act var guestDto = new GuestDto { FirstName = "John", LastName = "Doe" }; await guestService.CreateAsync(guestDto); // Assert using var context = new WeddingPlannerDbContext(options, httpContextAccessor.Object); var guests = await context.Guests.ToListAsync(); var guest = await context.Guests.SingleAsync(x => x.Id == 4); guest.Should().NotBeNull(); guest.Id.Should().Be(4); guest.FirstName.Should().Be("John"); guest.LastName.Should().Be("Doe"); }
private async Task <DbContextOptions <WeddingPlannerDbContext> > SetupTestDatabaseAsync(IEnumerable <Guest> items) { // Setup Test Database var dbName = Guid.NewGuid().ToString(); var options = new DbContextOptionsBuilder <WeddingPlannerDbContext>() .UseInMemoryDatabase(databaseName: dbName).Options; // Seed var httpContextAccessor = new Mock <IHttpContextAccessor>(); using (var context = new WeddingPlannerDbContext(options, httpContextAccessor.Object)) { foreach (var item in items) { await context.Guests.AddAsync(item); } await context.SaveChangesAsync(); } return(options); }
public HomeController(WeddingPlannerDbContext context) { _dbContext = context; }
public WeddingController(WeddingPlannerDbContext context) { dbContext = context; }
public GuestRepository(WeddingPlannerDbContext context) : base(context) { }
public OutfitRepository(WeddingPlannerDbContext context) : base(context) { }
public BaseRepository(WeddingPlannerDbContext context) { Context = context; }
public WeddingHallRepository(WeddingPlannerDbContext context) : base(context) { }
public GuestController(WeddingPlannerDbContext context) { this.dbContext = context; }