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

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

            using (var context = new BOContext(options))
            {
                var countryDTO = new CountryDTO()
                {
                    Name = "Bulgaria"
                };
                //Act
                var sut    = new CountriesService(context);
                var result = await sut.CreateAsync(countryDTO);

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

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

            using (var context = new BOContext(options))
            {
                var country = new Country()
                {
                    Name      = "Bulgaria",
                    DeletedOn = DateTime.UtcNow,
                    IsDeleted = true
                };
                context.Countries.Add(country);
                await context.SaveChangesAsync();
            }

            using (var context = new BOContext(options))
            {
                var countryDTO = new CountryDTO()
                {
                    Name = "Bulgaria"
                };
                //Act
                var sut = new CountriesService(context);
                await sut.CreateAsync(countryDTO);

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

                //Assert
                Assert.AreEqual(dbresult.Name, "Bulgaria");
                Assert.AreEqual(dbresult.DeletedOn, null);
                Assert.AreEqual(dbresult.IsDeleted, false);
            }
        }
예제 #3
0
        public async Task CreateAsync_ShouldReturnNullIfInputNullAsync()
        {
            //Arrange
            var options = InMemory.GetOptions("CreateAsync_ShouldReturnNullIfInputNullAsync");

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

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

                //Assert
                Assert.AreEqual(result, null);
            }
        }
예제 #4
0
        public async Task CreateAsyncWorksCorrectly()
        {
            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);
            await service.CreateAsync("Country");

            var result = dbContext.Countries.FirstOrDefault(c => c.Name == "Country");

            Assert.NotNull(result);
        }
        public async Task CreateAsync_ShouldReturnCorrectResult()
        {
            MapperInitializer.InitializeMapper();
            var context             = ApplicationDbContextInMemoryFactory.InitializeContext();
            var countriesRepository = new EfDeletableEntityRepository <Country>(context);
            var countriesService    = new CountriesService(countriesRepository);
            var country             = new CountryServiceInputModel()
            {
                Name = "Bulgaria"
            };

            var result = await countriesService.CreateAsync(country);

            var actualResult = await countriesRepository.All()
                               .Select(c => c.Name)
                               .FirstOrDefaultAsync();

            var expectedResult = country.Name;

            Assert.True(result == 1, ErrorMessage);
        }
예제 #6
0
        public async Task CreateAsync_ShouldReturnCountryDTOAsync()
        {
            //Arrange
            var options = InMemory.GetOptions("CreateAsync_ShouldReturnCountryDTOAsync");

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

            using (var context = new BOContext(options))
            {
                var countryDTO = new CountryDTO()
                {
                    Name = "Bulgaria"
                };
                //Act
                var sut    = new CountriesService(context);
                var result = await sut.CreateAsync(countryDTO);

                //Assert
                Assert.IsInstanceOfType(result, typeof(CountryDTO));
            }
        }