From 825133bed37c408a7d87208c7c18b0c3c5aa651b Mon Sep 17 00:00:00 2001 From: LivelyPuer Date: Thu, 13 Feb 2025 16:28:13 +0400 Subject: [PATCH] f 2 --- .../DataModels/ProductDataModel.cs | 1 + .../DataModelsTests/ProductDataModelTests.cs | 22 ++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CandyHouseSolution/CandyHouseBase/DataModels/ProductDataModel.cs b/CandyHouseSolution/CandyHouseBase/DataModels/ProductDataModel.cs index f9c5a67..6fa71ac 100644 --- a/CandyHouseSolution/CandyHouseBase/DataModels/ProductDataModel.cs +++ b/CandyHouseSolution/CandyHouseBase/DataModels/ProductDataModel.cs @@ -52,6 +52,7 @@ namespace CandyHouseBase.DataModels if (!Id.IsGuid()) throw new ValidationException("Id must be a GUID"); if (Name.IsEmpty()) throw new ValidationException("Field Name is empty"); if (Description.IsEmpty()) throw new ValidationException("Field Description is empty"); + if (IngredientsItems.Count == 0) throw new ValidationException("Field IngredientsItems is empty"); } } } \ No newline at end of file diff --git a/CandyHouseSolution/CandyHouseTests/DataModelsTests/ProductDataModelTests.cs b/CandyHouseSolution/CandyHouseTests/DataModelsTests/ProductDataModelTests.cs index ebe3356..bfabcf1 100644 --- a/CandyHouseSolution/CandyHouseTests/DataModelsTests/ProductDataModelTests.cs +++ b/CandyHouseSolution/CandyHouseTests/DataModelsTests/ProductDataModelTests.cs @@ -15,7 +15,8 @@ namespace CandyHouseTests.DataModelsTests var id = Guid.NewGuid().ToString(); var name = "Candy"; var description = "Delicious candy"; - var ingredients = new List(); + var ingredients = new List() + { new IngredientDataModel(Guid.NewGuid().ToString(), "sugar", "Sugar", 10) }; var product = new ProductDataModel(id, name, description, ingredients); Assert.AreEqual(id, product.Id); @@ -30,7 +31,8 @@ namespace CandyHouseTests.DataModelsTests var invalidId = ""; var name = "Candy"; var description = "Delicious candy"; - var ingredients = new List(); + var ingredients = new List() + { new IngredientDataModel(Guid.NewGuid().ToString(), "sugar", "Sugar", 10) }; var product = new ProductDataModel(invalidId, name, description, ingredients); Assert.Throws(() => product.Validate()); @@ -42,7 +44,8 @@ namespace CandyHouseTests.DataModelsTests var id = Guid.NewGuid().ToString(); var invalidName = ""; var description = "Delicious candy"; - var ingredients = new List(); + var ingredients = new List() + { new IngredientDataModel(Guid.NewGuid().ToString(), "sugar", "Sugar", 10) }; var product = new ProductDataModel(id, invalidName, description, ingredients); Assert.Throws(() => product.Validate()); @@ -50,6 +53,19 @@ namespace CandyHouseTests.DataModelsTests [Test] public void CreateProductDataModel_InvalidDescription_ShouldThrowArgumentException() + { + var id = Guid.NewGuid().ToString(); + var name = "Candy"; + var invalidDescription = ""; + var ingredients = new List() + { new IngredientDataModel(Guid.NewGuid().ToString(), "sugar", "Sugar", 10) }; + var product = new ProductDataModel(id, name, invalidDescription, ingredients); + + Assert.Throws(() => product.Validate()); + } + + [Test] + public void CreateProductDataModel_InvalidIngredients_ShouldThrowArgumentException() { var id = Guid.NewGuid().ToString(); var name = "Candy";