예제 #1
0
        public async void UpdateOptionAsync_ShouldUpdateOption()
        {
            // Arrange
            //create in memory options
            var options = new DbContextOptionsBuilder <DataBaseContext>()
                          .UseInMemoryDatabase(databaseName: "UpdateOptionAsync_ShouldUpdateOption")
                          .Options;

            using (var context = new DataBaseContext(options))
            {
                await context.AddRangeAsync(optionsList);

                await context.SaveChangesAsync();

                Assert.Equal(2, await context.ProductOption.CountAsync());
            }

            firstOption.Name        = "updated name";
            firstOption.Description = "updated des";

            // Act
            using (var context = new DataBaseContext(options))
            {
                var repo = new OptionRepository(context);

                var result = await repo.UpdateOptionAsync(firstOption);

                Assert.Equal(firstOption.Id, result.Id);
            }

            using (var context = new DataBaseContext(options))
            {
                var updatedoption = await context.ProductOption.FirstAsync(o => o.Id == firstOption.Id);

                Assert.Equal(firstOption.Name, updatedoption.Name);
                Assert.Equal(firstOption.Description, updatedoption.Description);
            }
        }