예제 #1
0
        public async Task DeleteAsync_ShouldReturnTrueIfSucceded()
        {
            //Arrange
            var options = InMemory.GetOptions("DeleteAsync_ShouldReturnTrueIfSucceded");

            using (var context = new BOContext(options))
            {
                var country = new Country()
                {
                    Name = "Bulgaria"
                };
                context.Countries.Add(country);
                await context.SaveChangesAsync();
            }

            using (var context = new BOContext(options))
            {
                //Act
                var sut    = new CountriesService(context);
                var result = await sut.DeleteAsync(1);

                //Assert
                Assert.AreEqual(result, true);
            }
        }
예제 #2
0
        public async Task DeleteAsync_ShouldDeleteCountryIfExist()
        {
            //Arrange
            var options = InMemory.GetOptions("DeleteAsync_ShouldDeleteCountryIfExist");

            using (var context = new BOContext(options))
            {
                var country = new Country()
                {
                    Name = "Bulgaria"
                };
                context.Countries.Add(country);
                await context.SaveChangesAsync();
            }

            using (var context = new BOContext(options))
            {
                //Act
                var sut = new CountriesService(context);
                await sut.DeleteAsync(1);

                var dbresult = await context.Countries.FirstOrDefaultAsync(c => c.Name == "Bulgaria");

                //Assert
                Assert.AreEqual(dbresult.Name, "Bulgaria");
                Assert.AreEqual(dbresult.DeletedOn, dbresult.ModifiedOn);
                Assert.AreEqual(dbresult.IsDeleted, true);
            }
        }
예제 #3
0
        public async Task DeleteAsyncWorksCorrectlyWhenCountryExists()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;
            var dbContext = new ApplicationDbContext(options);

            var addressesServiceMock = new Mock <IAddressesService>();
            var citiesRepository     = new EfDeletableEntityRepository <City>(dbContext);

            var repository        = new EfDeletableEntityRepository <Country>(dbContext);
            var citiesServiceMock = new Mock <CitiesService>(citiesRepository, addressesServiceMock.Object);

            var service = new CountriesService(repository, citiesServiceMock.Object);
            var country = new Country()
            {
                Id = 1,
            };

            dbContext.Add(country);
            await dbContext.SaveChangesAsync();

            await service.DeleteAsync(1);

            var result = dbContext.Countries.Count();

            Assert.Equal(0, result);
        }
        public async Task DeleteAsync_RemovesEntity()
        {
            //Assert

            //Act
            await testedService.DeleteAsync(singleEntity.Id);

            //Assert
            Mock.Verify(c => c.Remove(anyEntity), Times.Once());
            Mock.Verify(c => c.SaveChangesAsync(It.IsAny <CancellationToken>()), Times.Once());
        }
예제 #5
0
        public async Task DeleteAsync_ShouldReturnFalseIfCountryDoesntExistAsync()
        {
            //Arrange
            var options = InMemory.GetOptions("DeleteAsync_ShouldReturnFalseIfCountryDoesntExistAsync");

            using (var context = new BOContext(options))
            {
            }

            using (var context = new BOContext(options))
            {
                //Act
                var sut    = new CountriesService(context);
                var result = await sut.DeleteAsync(1);

                //Assert
                Assert.AreEqual(result, false);
            }
        }
예제 #6
0
        public async Task DeleteAsync_ShouldDeleteRecordBreweriesIfExist()
        {
            //Arrange
            var options = InMemory.GetOptions("DeleteAsync_ShouldDeleteRecordBreweriesIfExist");

            using (var context = new BOContext(options))
            {
                var country = new Country()
                {
                    Name      = "Bulgaria",
                    Breweries = new List <Brewery>()
                    {
                        new Brewery()
                        {
                            Name  = "Brewery",
                            Beers = new List <Beer>()
                        }
                    }
                };
                context.Countries.Add(country);
                await context.SaveChangesAsync();
            }

            using (var context = new BOContext(options))
            {
                //Act
                var sut = new CountriesService(context);
                await sut.DeleteAsync(1);

                var dbresult = await context.Countries.FirstOrDefaultAsync(c => c.Name == "Bulgaria");

                var dbBreweryResult = await context.Breweries.Include(b => b.Beers).FirstOrDefaultAsync(b => b.Name == "Brewery");

                //Assert
                Assert.AreEqual(dbresult.Name, "Bulgaria");
                Assert.AreEqual(dbresult.DeletedOn, dbresult.ModifiedOn);
                Assert.AreEqual(dbresult.IsDeleted, true);
                Assert.AreEqual(dbBreweryResult.Name, "Brewery");
                Assert.AreEqual(dbBreweryResult.DeletedOn, dbBreweryResult.ModifiedOn);
                Assert.AreEqual(dbBreweryResult.IsDeleted, true);
            }
        }