public void Test_AddRecipie_AddsRecipieToTag() { //Arrange Tag testTag = new Tag("Name"); testTag.Save(); Recipie testRecipie = new Recipie("Object name"); testRecipie.Save(); Recipie testRecipie2 = new Recipie("Other object name"); testRecipie2.Save(); //Act testTag.AddRecipie(testRecipie); testTag.AddRecipie(testRecipie2); List <Recipie> result = testTag.GetRecipies(); List <Recipie> testList = new List <Recipie> { testRecipie, testRecipie2 }; //Assert Assert.Equal(testList, result); }
public void Dispose() { Instruction.DeleteAll(); Recipie.DeleteAll(); Tag.DeleteAll(); Ingredient.DeleteAll(); }
public void Test_GetRecipies_ReturnsAllTagRecipies() { //Arrange Tag testTag = new Tag("Name"); testTag.Save(); Recipie testRecipie1 = new Recipie("Object name"); testRecipie1.Save(); Recipie testRecipie2 = new Recipie("Other object name"); testRecipie2.Save(); //Act testTag.AddRecipie(testRecipie1); List <Recipie> savedRecipies = testTag.GetRecipies(); List <Recipie> testList = new List <Recipie> { testRecipie1 }; //Assert Assert.Equal(testList, savedRecipies); }
public void AddRecipie(Recipie newRecipie) { SqlConnection conn = DB.Connection(); conn.Open(); SqlCommand cmd = new SqlCommand("INSERT INTO recipies_tags (tag_id, recipie_id) VALUES (@TagId, @RecipieId);", conn); SqlParameter tagIdParameter = new SqlParameter(); tagIdParameter.ParameterName = "@TagId"; tagIdParameter.Value = this.GetId(); cmd.Parameters.Add(tagIdParameter); SqlParameter recipieIdParameter = new SqlParameter(); recipieIdParameter.ParameterName = "@RecipieId"; recipieIdParameter.Value = newRecipie.GetId(); cmd.Parameters.Add(recipieIdParameter); cmd.ExecuteNonQuery(); if (conn != null) { conn.Close(); } }
public static List <Recipie> GetAll() { List <Recipie> AllRecipies = new List <Recipie> { }; SqlConnection conn = DB.Connection(); conn.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM recipies ORDER BY rating DESC;", conn); SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { int recipieId = rdr.GetInt32(0); string recipieName = rdr.GetString(1); int rating = rdr.GetInt32(2); Recipie newRecipie = new Recipie(recipieName, rating, recipieId); AllRecipies.Add(newRecipie); } if (rdr != null) { rdr.Close(); } if (conn != null) { conn.Close(); } return(AllRecipies); }
public void Test_GetTags_ReturnsAllRecipieTags() { //Arrange Recipie testRecipie = new Recipie("Name"); testRecipie.Save(); Tag testTag1 = new Tag("Other object name"); testTag1.Save(); Tag testTag2 = new Tag("Another object name"); testTag2.Save(); //Act testRecipie.AddTag(testTag1); List <Tag> result = testRecipie.GetTags(); List <Tag> testList = new List <Tag> { testTag1 }; //Assert Assert.Equal(testList, result); }
public void Test_EmptyAtFirst() { //Arrange, Act int result = Recipie.GetAll().Count; //Assert Assert.Equal(0, result); }
public void Test_EqualOverrideTrueForSameName() { //Arrange, Act Recipie firstRecipie = new Recipie("Name"); Recipie secondRecipie = new Recipie("Name"); //Assert Assert.Equal(firstRecipie, secondRecipie); }
public void Test_Update_UpdatesInDb() { Recipie testRecipie = new Recipie("Name", 0); testRecipie.Save(); testRecipie.Update("Other name", 0); Recipie newRecipie = new Recipie("Other name", 0, testRecipie.GetId()); Assert.Equal(testRecipie, newRecipie); }
public void Test_FindFindsRecipieInDatabase() { //Arrange Recipie testRecipie = new Recipie("Name"); testRecipie.Save(); //Act Recipie result = Recipie.Find(testRecipie.GetId()); //Assert Assert.Equal(testRecipie, result); }
public override bool Equals(System.Object otherRecipie) { if (!(otherRecipie is Recipie)) { return(false); } else { Recipie newRecipie = (Recipie)otherRecipie; bool idEquality = this.GetId() == newRecipie.GetId(); bool nameEquality = this.GetName() == newRecipie.GetName(); bool ratingEquality = this.GetRating() == newRecipie.GetRating(); return(idEquality && nameEquality && ratingEquality); } }
public void Test_SaveAssignsIdToObject() { //Arrange Recipie testRecipie = new Recipie("Name"); testRecipie.Save(); //Act Recipie savedRecipie = Recipie.GetAll()[0]; int result = savedRecipie.GetId(); int testId = testRecipie.GetId(); //Assert Assert.Equal(testId, result); }
public void Test_Save() { //Arrange Recipie testRecipie = new Recipie("Name"); testRecipie.Save(); //Act List <Recipie> result = Recipie.GetAll(); List <Recipie> testList = new List <Recipie> { testRecipie }; //Assert Assert.Equal(testList, result); }
public void Test_AddTag_AddsTagToRecipie() { //Arrange Recipie testRecipie = new Recipie("Name"); testRecipie.Save(); Tag testTag = new Tag("Other object name"); testTag.Save(); //Act testRecipie.AddTag(testTag); List <Tag> result = testRecipie.GetTags(); List <Tag> testList = new List <Tag> { testTag }; //Assert Assert.Equal(testList, result); }
public void Test_Delete_DeletesRecipieAssociationsFromDatabase() { //Arrange Tag testTag = new Tag("Other object name"); testTag.Save(); string testName = "Name"; Recipie testRecipie = new Recipie(testName); testRecipie.Save(); //Act testRecipie.AddTag(testTag); testRecipie.Delete(); List <Recipie> resultTagRecipies = testTag.GetRecipies(); List <Recipie> testTagRecipies = new List <Recipie> { }; //Assert Assert.Equal(testTagRecipies, resultTagRecipies); }
public void Test_Delete_DeletesTagAssociationsFromDatabase() { //Arrange Recipie testRecipie = new Recipie("Object name"); testRecipie.Save(); string testName = "Name"; Tag testTag = new Tag(testName); testTag.Save(); //Act testTag.AddRecipie(testRecipie); testTag.Delete(); List <Tag> resultRecipieTags = testRecipie.GetTags(); List <Tag> testRecipieTags = new List <Tag> { }; //Assert Assert.Equal(testRecipieTags, resultRecipieTags); }
public List <Recipie> GetRecipies() { SqlConnection conn = DB.Connection(); conn.Open(); SqlCommand cmd = new SqlCommand("SELECT recipies.* FROM tags JOIN recipies_tags ON (tags.id = recipies_tags.tag_id) JOIN recipies ON (recipies_tags.recipie_id = recipies.id) WHERE tags.id = @TagId;", conn); SqlParameter tagIdParameter = new SqlParameter(); tagIdParameter.ParameterName = "@TagId"; tagIdParameter.Value = this.GetId(); cmd.Parameters.Add(tagIdParameter); SqlDataReader rdr = cmd.ExecuteReader(); List <Recipie> recipies = new List <Recipie> { }; while (rdr.Read()) { int thisRecipieId = rdr.GetInt32(0); string recipieDescription = rdr.GetString(1); int recipieRating = rdr.GetInt32(2); Recipie foundRecipie = new Recipie(recipieDescription, recipieRating, thisRecipieId); recipies.Add(foundRecipie); } if (rdr != null) { rdr.Close(); } if (conn != null) { conn.Close(); } return(recipies); }
public void Test_GetInstructions_ReturnsAllRecipieInstructions() { //Arrange Recipie testRecipie = new Recipie("Pizza"); testRecipie.Save(); Instruction testInstruction1 = new Instruction("Cheese", testRecipie.GetId()); testInstruction1.Save(); Instruction testInstruction2 = new Instruction("Tomato", testRecipie.GetId()); testInstruction2.Save(); //Act List <Instruction> result = testRecipie.GetInstructions(); List <Instruction> testList = new List <Instruction> { testInstruction1, testInstruction2 }; //Assert Assert.Equal(testList, result); }
public void Test_GetIngredients_ReturnsAllRecipieIngredients() { //Arrange Recipie testRecipie = new Recipie("Pizza"); testRecipie.Save(); Ingredient testIngredient1 = new Ingredient("Cheese", testRecipie.GetId()); testIngredient1.Save(); Ingredient testIngredient2 = new Ingredient("Tomato", testRecipie.GetId()); testIngredient2.Save(); //Act List <Ingredient> result = testRecipie.GetIngredients(); List <Ingredient> testList = new List <Ingredient> { testIngredient1, testIngredient2 }; //Assert Assert.Equal(testList, result); }
public static Recipie Find(int id) { SqlConnection conn = DB.Connection(); conn.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM recipies WHERE id = @RecipieId", conn); SqlParameter recipieIdParameter = new SqlParameter(); recipieIdParameter.ParameterName = "@RecipieId"; recipieIdParameter.Value = id.ToString(); cmd.Parameters.Add(recipieIdParameter); SqlDataReader rdr = cmd.ExecuteReader(); int foundRecipieId = 0; string foundRecipieName = null; int foundRecipieRating = 0; while (rdr.Read()) { foundRecipieId = rdr.GetInt32(0); foundRecipieName = rdr.GetString(1); foundRecipieRating = rdr.GetInt32(2); } Recipie foundRecipie = new Recipie(foundRecipieName, foundRecipieRating, foundRecipieId); if (rdr != null) { rdr.Close(); } if (conn != null) { conn.Close(); } return(foundRecipie); }
public HomeModule() { Get["/"] = _ => { return(View["index.cshtml"]); }; Get["/recipies"] = _ => { List <Recipie> AllRecipies = Recipie.GetAll(); return(View["recipies.cshtml", AllRecipies]); }; Get["/tags"] = _ => { List <Tag> AllTags = Tag.GetAll(); return(View["tags.cshtml", AllTags]); }; Get["/recipies/new"] = _ => { return(View["recipies_form.cshtml"]); }; Post["/recipies/new"] = _ => { Recipie newRecipie = new Recipie(Request.Form["recipie-description"]); newRecipie.Save(); return(View["success.cshtml"]); }; Get["/tags/new"] = _ => { return(View["tags_form.cshtml"]); }; Post["/tags/new"] = _ => { Tag newTag = new Tag(Request.Form["tag-name"]); newTag.Save(); return(View["success.cshtml"]); }; Get["recipies/{id}"] = parameters => { Dictionary <string, object> model = new Dictionary <string, object>(); Recipie SelectedRecipie = Recipie.Find(parameters.id); List <Tag> RecipieTags = SelectedRecipie.GetTags(); List <Tag> AllTags = Tag.GetAll(); List <Ingredient> RecipieIngredients = SelectedRecipie.GetIngredients(); List <Instruction> RecipieInstructions = SelectedRecipie.GetInstructions(); model.Add("recipie", SelectedRecipie); model.Add("recipieTags", RecipieTags); model.Add("allTags", AllTags); model.Add("recipieIngredients", RecipieIngredients); model.Add("recipieInstructions", RecipieInstructions); return(View["recipie.cshtml", model]); }; Get["tags/{id}"] = parameters => { Dictionary <string, object> model = new Dictionary <string, object>(); Tag SelectedTag = Tag.Find(parameters.id); List <Recipie> TagRecipies = SelectedTag.GetRecipies(); List <Recipie> AllRecipies = Recipie.GetAll(); model.Add("tag", SelectedTag); model.Add("tagRecipies", TagRecipies); model.Add("allRecipies", AllRecipies); return(View["tag.cshtml", model]); }; Post["recipie/add_tag"] = _ => { Tag tag = Tag.Find(Request.Form["tag-id"]); Recipie recipie = Recipie.Find(Request.Form["recipie-id"]); recipie.AddTag(tag); return(View["success.cshtml"]); }; Post["tag/add_recipie"] = _ => { Tag tag = Tag.Find(Request.Form["tag-id"]); Recipie recipie = Recipie.Find(Request.Form["recipie-id"]); tag.AddRecipie(recipie); return(View["success.cshtml"]); }; Get["recipies/update/{id}"] = parameters => { Recipie foundRecipie = Recipie.Find(parameters.id); return(View["recipie_update.cshtml", foundRecipie]); }; Patch["recipies/update/{id}"] = parameters => { Recipie foundRecipie = Recipie.Find(parameters.id); foundRecipie.Update(Request.Form["new-description"], Request.Form["new-rating"]); return(View["success.cshtml"]); }; Get["tags/update/{id}"] = parameters => { Tag foundTag = Tag.Find(parameters.id); return(View["tag_update.cshtml", foundTag]); }; Patch["tags/update/{id}"] = parameters => { Tag foundTag = Tag.Find(parameters.id); foundTag.Update(Request.Form["new-description"]); return(View["success.cshtml"]); }; Delete["tag/delete/{id}"] = parameters => { Tag foundTag = Tag.Find(parameters.id); foundTag.Delete(); return(View["success.cshtml"]); }; Delete["recipie/delete/{id}"] = parameters => { Recipie foundRecipie = Recipie.Find(parameters.id); foundRecipie.Delete(); return(View["success.cshtml"]); }; Get["recipie/add_ingredient"] = _ => { Recipie selectedRecipie = Recipie.Find(Request.Query["recipie-id"]); return(View["ingredients_form.cshtml", selectedRecipie]); }; Post["ingredients/new"] = _ => { Recipie selectedRecipie = Recipie.Find(Request.Form["recipie-id"]); Ingredient newIngredient = new Ingredient(Request.Form["ingredient-description"], Request.Form["recipie-id"], Request.Form["ingredient-quantity"], Request.Form["ingredient-unit"]); newIngredient.Save(); return(View["success.cshtml"]); }; Get["recipie/add_instruction"] = _ => { Recipie selectedRecipie = Recipie.Find(Request.Query["recipie-id"]); return(View["instructions_form.cshtml", selectedRecipie]); }; Post["instructions/new"] = _ => { Recipie selectedRecipie = Recipie.Find(Request.Form["recipie-id"]); Instruction newInstruction = new Instruction(Request.Form["instruction-description"], Request.Form["recipie-id"], Request.Form["instruction-step-number"]); newInstruction.Save(); return(View["success.cshtml"]); }; Get["ingredients/update/{id}"] = parameters => { Ingredient foundIngredient = Ingredient.Find(parameters.id); return(View["ingredient_update.cshtml", foundIngredient]); }; Patch["ingredients/update/{id}"] = parameters => { Ingredient foundIngredient = Ingredient.Find(parameters.id); foundIngredient.Update(Request.Form["new-description"], Request.Form["new-quantity"], Request.Form["new-unit"]); return(View["success.cshtml"]); }; Get["instructions/update/{id}"] = parameters => { Instruction foundInstruction = Instruction.Find(parameters.id); return(View["instruction_update.cshtml", foundInstruction]); }; Patch["instructions/update/{id}"] = parameters => { Instruction foundInstruction = Instruction.Find(parameters.id); foundInstruction.Update(Request.Form["new-description"], Request.Form["new-step-number"]); return(View["success.cshtml"]); }; Delete["ingredients/delete/{id}"] = parameters => { Ingredient foundIngredient = Ingredient.Find(parameters.id); foundIngredient.Delete(); return(View["success.cshtml"]); }; Delete["instructions/delete/{id}"] = parameters => { Instruction foundInstruction = Instruction.Find(parameters.id); foundInstruction.Delete(); return(View["success.cshtml"]); }; }