コード例 #1
0
        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");
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public HomeController(WeddingPlannerDbContext context)
 {
     _dbContext = context;
 }
コード例 #4
0
 public WeddingController(WeddingPlannerDbContext context)
 {
     dbContext = context;
 }
コード例 #5
0
 public GuestRepository(WeddingPlannerDbContext context)
     : base(context)
 {
 }
コード例 #6
0
 public OutfitRepository(WeddingPlannerDbContext context)
     : base(context)
 {
 }
コード例 #7
0
 public BaseRepository(WeddingPlannerDbContext context)
 {
     Context = context;
 }
コード例 #8
0
 public WeddingHallRepository(WeddingPlannerDbContext context)
     : base(context)
 {
 }
コード例 #9
0
 public GuestController(WeddingPlannerDbContext context)
 {
     this.dbContext = context;
 }