public void MapDTOToBrewery_ShouldReturnBrewery() { //Arrange var cut = new BreweryDTO() { Name = "Bulgaria" }; //Act var sut = cut.MapDTOToBrewery(); //Assert Assert.IsInstanceOfType(sut, typeof(Brewery)); }
public void MapDTOToBrewery_ShouldReturnCorrectID() { //Arrange var cut = new BreweryDTO { ID = 1, Country = "Bulgaria" }; //Act var sut = cut.MapDTOToBrewery(); //Assert Assert.AreEqual(sut.ID, 1); }
/// <summary> /// Creates a brewery and writes it to the database. /// </summary> /// <param name="model">Input BreweryDTO object</param> /// <returns>Returns the reevaluated input object</returns> public async Task <BreweryDTO> CreateAsync(BreweryDTO model) { var brewery = model.MapDTOToBrewery(); if (brewery.Name == null) { return(null); } brewery.Country = await this._context.Countries.FirstOrDefaultAsync(c => c.Name == model.Country); #region Check if exists var theBrewery = await this._context.Breweries .FirstOrDefaultAsync(b => b.Name == model.Name); if (theBrewery == null) { brewery.CreatedOn = DateTime.UtcNow; await _context.Breweries.AddAsync(brewery); await this._context.SaveChangesAsync(); } else { theBrewery.IsDeleted = false; theBrewery.DeletedOn = null; theBrewery.ModifiedOn = DateTime.UtcNow; _context.Breweries.Update(theBrewery); var beersOfBrewery = await _context.Beers .Include(b => b.Country) .Include(b => b.Brewery) .Include(b => b.Style) .Include(b => b.Reviews) .Where(b => b.BreweryID == theBrewery.ID) .Where(b => b.Style.IsDeleted == false) .ToListAsync(); foreach (var item in beersOfBrewery) { await new BeerService(_context).CreateAsync(item.MapBeerToDTO()); } await this._context.SaveChangesAsync(); } #endregion var returnModel = await this._context.Breweries.Include(b => b.Country) .FirstOrDefaultAsync(b => b.Name == model.Name); model.ID = returnModel.ID; return(model); }
public void MapDTOToBrewery_ShouldReturnCorrectNameAndCountry() { //Arrange var cut = new BreweryDTO { Name = "Brewery", Country = "Bulgaria" }; //Act var sut = cut.MapDTOToBrewery(); //Assert Assert.AreEqual(sut.Name, "Brewery"); //Assert.AreEqual(sut.Country.Name, "Bulgaria"); }