public void PutWine_AttributesUnchanged_WhenUsingInvalidWineId() { // Arrange // Set up associated object - Varietal. var varietalEntity = new VarietalEntity { Varietal = "Test 4.4 Varietal" }; _dbContext.Varietals.Add(varietalEntity); // Set up associated object - BottleSize. var bottleSizeEntity = new BottleSizeEntity { // Just use default values. }; _dbContext.BottleSizes.Add(bottleSizeEntity); // Set up associated object - Winery. var wineryEntity = new WineryEntity { Name = "Test 4.4 Winery" }; _dbContext.Wineries.Add(wineryEntity); _dbContext.SaveChanges( ); var wineEntity = new WineEntity { Name = "Test 4.4 Wine", WhenPurchased = "Test 4.4 WhenPurchased", //--BottlesDrank = 4, BottlesPurchased = 3, VarietalEntityId = varietalEntity.Id, BottleSizeEntityId = bottleSizeEntity.Id, WineryEntityId = wineryEntity.Id, Vintage = "Test 4.4 Vintage" }; _dbContext.Wines.Add(wineEntity); _dbContext.SaveChanges( ); var wineEntityId = wineEntity.Id; var wine = new Wine { Name = "Test 4.4 Wine UPDATE", WhenPurchased = "Test 4.4 WhenPurchased UPDTED", BottlesDrank = 2, Vintage = "Test 4.4 Vintage UPDATED" }; // Act _controller.PutWine(wineEntity.Id + 1, wine); var result = _dbContext.Wines.Find(wineEntity.Id); // Assert Assert.Equal(wineEntity.Name, result.Name); }
public void GetWine_ReturnsWines_WhenDBHasMultipleWines() { // Arrange var wine1 = new WineEntity { Name = "Wine1 Name", Vintage = "Wine1 Vintage", WhenPurchased = "Wine1 WhenPurchased", BottlesDrank = 1, BottlesPurchased = 8 }; var wine2 = new WineEntity { Name = "Wine2 Name", Vintage = "Wine2 Vintage", WhenPurchased = "Wine2 WhenPurchased", BottlesDrank = 0, BottlesPurchased = 6 }; _dbContext.Wines.Add(wine1); _dbContext.Wines.Add(wine2); _dbContext.SaveChanges( ); // Act var results = _controller.GetWine( ); // Assert Assert.Equal(2, results.Value.Count( )); }
public void PutWine_Returns404NotFound_WhenUsingInvalidIWineId() { // Arrange // Set up associated object - Varietal. var varietalEntity = new VarietalEntity { Varietal = "Test 4.3 Varietal" }; _dbContext.Varietals.Add(varietalEntity); // Set up associated object - BottleSize. var bottleSizeEntity = new BottleSizeEntity { // Just use default values. }; _dbContext.BottleSizes.Add(bottleSizeEntity); // Set up associated object - Winery. var wineryEntity = new WineryEntity { Name = "Test 4.3 Winery" }; _dbContext.Wineries.Add(wineryEntity); _dbContext.SaveChanges( ); var wineEntity = new WineEntity { Name = "Test 4.3 Wine", WhenPurchased = "Test 4.3 WhenPurchased", //--BottlesDrank = 4, BottlesPurchased = 3, VarietalEntityId = varietalEntity.Id, BottleSizeEntityId = bottleSizeEntity.Id, WineryEntityId = wineryEntity.Id, Vintage = "Test 4.3 Vintage" }; _dbContext.Wines.Add(wineEntity); _dbContext.SaveChanges( ); var wineEntityId = wineEntity.Id; var invalidWineId = wineEntityId + 10; var wine = new Wine { Name = "Test 4.3 Wine UPDATE", Vintage = "Test 4.2 Vintage UPDATED" }; // Act var result = _controller.PutWine(invalidWineId, wine); // Assert Assert.IsType <NotFoundResult>(result); }
public void GetWine_ReturnsOneWine_WhenDBHasOneWine() { // Arrange var wineEntity = new WineEntity { Name = "Wine Name", Vintage = "Wine Vintage", WhenPurchased = "Wine WhenPurchased", BottlesDrank = 0, BottlesPurchased = 2 }; _dbContext.Wines.Add(wineEntity); _dbContext.SaveChanges( ); // Act var results = _controller.GetWine( ); // Assert Assert.Single(results.Value); }
public void DeleteWine_Returns200OK_WhenUsingValidWineId() { // Arrange var wineEntity = new WineEntity { Name = "Test 5.2 Wine", WhenPurchased = "Test 5.2 WhenPurchased", //--BottlesDrank = 4, //--BottlesPurchased = 6, Vintage = "Test 5.2 Vintage" }; _dbContext.Wines.Add(wineEntity); _dbContext.SaveChanges( ); var wineId = wineEntity.Id; // Act var result = _controller.DeleteWine(wineId); // Assert Assert.Null(result.Result); }
public void GetWine_ReturnCorrectWine_WhenUsingValidID() { // Arrange var wineEntity = new WineEntity { Name = "Test 2.4 Wine", Vintage = "Test 2.4 Vintage", WhenPurchased = "Test 2.4 WhenPurchased", BottlesDrank = 0, BottlesPurchased = 3 }; _dbContext.Wines.Add(wineEntity); _dbContext.SaveChanges( ); var wineId = wineEntity.Id; // Act var result = _controller.GetWine(wineId); // Assert Assert.Equal(wineId, result.Value.Id); }
public void GetWine_ReturnsItemOfCorrectType_WhenUsingValidID() { // Arrange var wineEntity = new WineEntity { Name = "Test 2.3 Wine", Vintage = "Test 2.3 Vintage", WhenPurchased = "Test 2.3 WhenPurchased", BottlesDrank = 0, BottlesPurchased = 4 }; _dbContext.Wines.Add(wineEntity); _dbContext.SaveChanges( ); var wineEntityId = wineEntity.Id; // Act var result = _controller.GetWine(wineEntityId); // Assert Assert.IsType <ActionResult <Wine> >(result); }
public void DeleteWine_UnchangedObjectCount_WhenUsingInvalidWineId() { // Arrange var wineEntity = new WineEntity { Name = "Test 5.4 Wine", WhenPurchased = "Test 5.4 WhenPurchased", //--BottlesDrank = 4, //--BottlesPurchased = 6, Vintage = "Test 5.4 Vintage" }; _dbContext.Wines.Add(wineEntity); _dbContext.SaveChanges( ); var wineId = wineEntity.Id; var objCount = _dbContext.Wines.Count( ); // Act var result = _controller.DeleteWine(wineId + 1); // Assert Assert.Equal(objCount, _dbContext.Wines.Count( )); }
public void DeleteWine_ObjectCountDecrementedBy1_WhenUsingValidWineId() { // Arrange var wineEntity = new WineEntity { Name = "Test 5.1 Wine", WhenPurchased = "Test 5.1 WhenPurchased", //--BottlesDrank = 4, //--BottlesPurchased = 6, Vintage = "Test 5.1 Vintage" }; _dbContext.Wines.Add(wineEntity); _dbContext.SaveChanges( ); var wineId = wineEntity.Id; var objCount = _dbContext.Wines.Count( ); // Act _controller.DeleteWine(wineId); // Assert Assert.Equal(objCount - 1, _dbContext.Wines.Count( )); }
public void PutWine_LinkedInfoUpdated_WhenUsingValidWineId() { // Arrange // Set up associated object - Varietal. var varietalEntity = new VarietalEntity { Varietal = "Test 4.5 Varietal" }; var varietalEntity2 = new VarietalEntity { Varietal = "Test 4.5 Varietal2" }; _dbContext.Varietals.Add(varietalEntity); _dbContext.Varietals.Add(varietalEntity2); // Set up associated object - BottleSize. var bottleSizeEntity = new BottleSizeEntity { // Just use default values. }; var bottleSizeEntity2 = new BottleSizeEntity { BottleSize = "375" }; _dbContext.BottleSizes.Add(bottleSizeEntity); _dbContext.BottleSizes.Add(bottleSizeEntity2); // Set up associated object - Winery. var wineryEntity = new WineryEntity { Name = "Test 4.1 Winery" }; var wineryEntity2 = new WineryEntity { Name = "Test 4.5 Winery2" }; _dbContext.Wineries.Add(wineryEntity); _dbContext.Wineries.Add(wineryEntity2); _dbContext.SaveChanges( ); var wineEntity = new WineEntity { Name = "Test 4.5 Wine", WhenPurchased = "Test 4.5 WhenPurchased", //--BottlesDrank = 4, BottlesPurchased = 8, VarietalEntityId = varietalEntity.Id, BottleSizeEntityId = bottleSizeEntity.Id, WineryEntityId = wineryEntity.Id, Vintage = "Test 4.5 Vintage" }; _dbContext.Wines.Add(wineEntity); _dbContext.SaveChanges( ); var wineEntityId = wineEntity.Id; var wine = new Wine { // Update Ids of linked records. BottleSizeId = bottleSizeEntity2.Id, VarietalId = varietalEntity2.Id, WineryId = wineryEntity2.Id }; // Act _controller.PutWine(wineEntityId, wine); var result = _dbContext.Wines.Find(wineEntityId); // Assert Assert.Equal(wine.VarietalId, result.VarietalEntityId); Assert.Equal(wine.BottleSizeId, result.BottleSizeEntityId); Assert.Equal(wine.WineryId, result.WineryEntityId); Assert.Equal(bottleSizeEntity2.BottleSize, result.BottleSize.BottleSize); Assert.Equal(varietalEntity2.Varietal, result.Varietal.Varietal); Assert.Equal(wineryEntity2.Name, result.Winery.Name); }