public async Task CreateAsync_ShouldRecordBreweryIfNotOnRecordAsync() { //Arrange var options = InMemory.GetOptions("CreateAsync_ShouldRecordBreweryIfNotOnRecordAsync"); 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)) { var breweryDTO = new BreweryDTO() { Name = "Brewery", Country = "Bulgaria" }; //Act var sut = new BreweryServices(context); await sut.CreateAsync(breweryDTO); var dbresult = await context.Breweries.Include(b => b.Country).FirstOrDefaultAsync(c => c.Name == "Brewery"); //Assert Assert.AreEqual(dbresult.Name, "Brewery"); } }
public async Task CreateAsync_ShouldUndeleteRecordBreweryIfExist() { //Arrange var options = InMemory.GetOptions("CreateAsync_ShouldUndeleteRecordIfExist"); using (var context = new BOContext(options)) { var country = new Country() { Name = "Bulgaria" }; context.Countries.Add(country); await context.SaveChangesAsync(); var brewery = new Brewery() { Name = "Brewery", Country = await context.Countries.FirstOrDefaultAsync(c => c.Name == "Bulgaria"), DeletedOn = DateTime.UtcNow, IsDeleted = true }; context.Breweries.Add(brewery); await context.SaveChangesAsync(); } using (var context = new BOContext(options)) { var breweryDTO = new BreweryDTO() { Name = "Brewery", Country = "Bulgaria" }; //Act var sut = new BreweryServices(context); await sut.CreateAsync(breweryDTO); var dbresult = await context.Breweries.FirstOrDefaultAsync(c => c.Name == "Brewery"); //Assert Assert.AreEqual(dbresult.Name, "Brewery"); Assert.AreEqual(dbresult.DeletedOn, null); Assert.AreEqual(dbresult.IsDeleted, false); } }
public async Task CreateAsync_ShouldReturnNullIfBreweryInputNullAsync() { //Arrange var options = InMemory.GetOptions("CreateAsync_ShouldReturnNullIfBreweryInputNullAsync"); using (var context = new BOContext(options)) { } using (var context = new BOContext(options)) { //Act var sut = new BreweryServices(context); var result = await sut.CreateAsync(null); //Assert Assert.AreEqual(result, null); } }
public async Task CreateAsync_ShouldReturnModifiedBreweryDTOAsync() { //Arrange var options = InMemory.GetOptions("CreateAsync_ShouldReturnModifiedBreweryDTOAsync"); using (var context = new BOContext(options)) { var country = new Country() { Name = "Bulgaria", Breweries = new List <Brewery>() { new Brewery() { Name = "Brewery" } } }; context.Countries.Add(country); await context.SaveChangesAsync(); } using (var context = new BOContext(options)) { var breweryDTO = new BreweryDTO() { Name = "Brewery", Country = "Bulgaria" }; //Act var sut = new BreweryServices(context); var result = await sut.CreateAsync(breweryDTO); var dbresult = await context.Breweries.FirstOrDefaultAsync(c => c.Name == "Brewery"); //Assert Assert.AreEqual(result.ID, dbresult.ID); Assert.AreEqual(result.Name, dbresult.Name); } }
public async Task CreateAsync_ShouldReturnBreweryDTOAsync() { //Arrange var options = InMemory.GetOptions("CreateAsync_ShouldReturnBreweryDTOAsync"); using (var context = new BOContext(options)) { var country = new Country() { Name = "Bulgaria", Breweries = new List <Brewery>() { new Brewery() { Name = "Brewery" } } }; context.Countries.Add(country); await context.SaveChangesAsync(); } using (var context = new BOContext(options)) { var breweryDTO = new BreweryDTO() { Name = "Brewery", Country = "Bulgaria" }; //Act var sut = new BreweryServices(context); var result = await sut.CreateAsync(breweryDTO); //Assert Assert.IsInstanceOfType(result, typeof(BreweryDTO)); } }
public async Task CreateAsync_ShouldUndeleteRecordBeersIfExist() { //Arrange var options = InMemory.GetOptions("CreateAsync_ShouldUndeleteRecordBeersIfExist"); using (var context = new BOContext(options)) { var country = new Country() { Name = "Bulgaria", DeletedOn = DateTime.UtcNow, IsDeleted = true, Breweries = new List <Brewery>() { new Brewery() { Name = "Brewery", DeletedOn = DateTime.UtcNow, IsDeleted = true, } } }; context.Countries.Add(country); await context.SaveChangesAsync(); var beer = new Beer() { Name = "Carlsberg", ABV = 5, Country = await context.Countries.FirstOrDefaultAsync(c => c.Name == "Bulgaria"), Brewery = await context.Breweries.FirstOrDefaultAsync(b => b.Name == "Brewery"), DeletedOn = DateTime.UtcNow, IsDeleted = true, Style = new BeerStyle() { Name = "Ale", Description = "Some description" }, Rating = 5 }; context.Beers.Add(beer); await context.SaveChangesAsync(); } using (var context = new BOContext(options)) { var breweryDTO = new BreweryDTO() { Name = "Brewery", Country = "Bulgaria" }; //Act var sut = new BreweryServices(context); await sut.CreateAsync(breweryDTO); var dbresult = await context.Breweries.FirstOrDefaultAsync(c => c.Name == "Brewery"); var dbBeerResult = await context.Beers .Include(b => b.Style) .Include(b => b.Reviews) .Include(b => b.Country) .Include(b => b.WishLists) .Include(b => b.DrankLists) .FirstOrDefaultAsync(b => b.Name == "Carlsberg"); //Assert Assert.AreEqual(dbresult.Name, "Brewery"); Assert.AreEqual(dbresult.DeletedOn, null); Assert.AreEqual(dbresult.IsDeleted, false); Assert.AreEqual(dbBeerResult.Name, "Carlsberg"); Assert.AreEqual(dbBeerResult.DeletedOn, null); Assert.AreEqual(dbBeerResult.IsDeleted, false); } }