public void TestListOfRecipeByName() { var ingredients = new List <Recipe>(); ingredients.Add(new Recipe() { RecipeId = 32, RecipeAuthor = "Anis", RecipeName = "Tacos" }); ingredients.Add(new Recipe() { RecipeId = 329, RecipeAuthor = "Nour", RecipeName = "TacoBurrito" }); ingredients.Add(new Recipe() { RecipeId = 320, RecipeAuthor = "Beau", RecipeName = "Tacos" }); var result1 = new List <Recipe>(); var result2 = new List <Recipe>(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeletedAsync(); context.Database.EnsureCreatedAsync(); var msr = new KitchenLogic(context); result1 = msr.getAllRecipeByRecipeName("Tacos"); } using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureCreatedAsync(); result2 = context.Recipes.Where(r => r.RecipeName == "Tacos").ToList(); } Assert.Equal(result1, result2); }
public async Task TestSingleTag() { { var tag = new Tag() { TagId = 4, TagName = "Chee", TagDescription = "SomeSTuff", RecipeTags = new List <RecipeTag>() { } }; var result1 = new Tag(); var result2 = new Tag(); await using (var context = new InTheKitchenDBContext(testOptions)) { await context.Database.EnsureDeletedAsync(); await context.Database.EnsureCreatedAsync(); var msr = new KitchenLogic(context); result1 = await msr.getOneTag(tag.TagName); } await using (var context2 = new InTheKitchenDBContext(testOptions)) { await context2.Database.EnsureCreatedAsync(); result2 = await context2.Tags.FirstOrDefaultAsync(t => t.TagName == tag.TagName); } Assert.Equal(result1, result2); } }
public async Task TestRecipe() { var recipeResult = new Recipe() { RecipeId = 2377, RecipeName = "Cheese", RecipeAuthor = "Anis" }; var result1 = new Recipe(); var result2 = new Recipe(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeletedAsync(); context.Database.EnsureCreatedAsync(); var msr = new KitchenLogic(context); result1 = await msr.addNewRecipe(recipeResult); } using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureCreatedAsync(); context.Recipes.AddAsync(recipeResult); context.SaveChangesAsync(); result2 = await context.Recipes.Where(r => r.RecipeName == recipeResult.RecipeName).FirstOrDefaultAsync(); } Assert.Equal(result1, result2); }
public async Task TestListRecipeByTag() { var tag = new Tag() { TagId = 3, TagName = "Healthy" }; var recipe = new Recipe() { RecipeId = 21, RecipeName = "Deli" }; ICollection <RecipeTag> tags = new List <RecipeTag>(); tags.Add(new RecipeTag() { Recipe = recipe, Tag = tag }); tags.Add(new RecipeTag() { Recipe = recipe, Tag = tag }); var ingredients = new List <Recipe>(); ingredients.Add(new Recipe() { RecipeId = 32, RecipeAuthor = "Anis", RecipeName = "Tacos", RecipeTags = tags }); ingredients.Add(new Recipe() { RecipeId = 329, RecipeAuthor = "Nour", RecipeName = "TacoBurrito", RecipeTags = tags }); ingredients.Add(new Recipe() { RecipeId = 320, RecipeAuthor = "Beau", RecipeName = "Tacos", RecipeTags = tags }); var result1 = new List <Recipe>(); var result2 = new List <Recipe>(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeletedAsync(); context.Database.EnsureCreatedAsync(); var msr = new KitchenLogic(context); result1 = await msr.getAllRecipeByTags("Spicy"); } using (var context = new InTheKitchenDBContext(testOptions)) { await context.Database.EnsureCreatedAsync(); result2 = await context.Recipes.FromSqlRaw("$SELECT * FROM Recipes WHERE RecipeId IN (SELECT RecipeId FROM RecipeTags WHERE TagId = 3)").ToListAsync(); } Assert.Equal(result1, result2); }
public async Task TestListTagByTagName() { var tag = new Tag() { TagId = 123, TagName = "Cheese" }; bool result; using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeletedAsync(); context.Database.EnsureCreatedAsync(); var msr = new KitchenLogic(context); result = await msr.existTag(tag.TagName); } Assert.False(result); }
public void TestRecipeExist() { var recipe = new Recipe() { RecipeId = 13123, RecipeName = "Cheese" }; using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeletedAsync(); context.Database.EnsureCreatedAsync(); var msr = new KitchenLogic(context); bool result = msr.existRecipeName(recipe.RecipeName); Assert.False(result); } }
public async Task TestRecipeSaving() { // var tag = new Recipe() { TagId = 123, TagName = "Cheese" }; var sentrecipe = new SentRecipe(); var date = DateTime.Now; sentrecipe.DateCreated = date; sentrecipe.DateLastPrepared = date; Tag t = new Tag() { TagName = "tag name 2" }; Ingredient i = new Ingredient() { IngredientName = "ing name 2" }; Step s = new Step() { StepDescription = "new description", RecipeStepNo = 1 }; sentrecipe.ingredients = new List <Ingredient>() { new Ingredient() { IngredientName = "ingredient name" } }; sentrecipe.tags = new List <Tag>() { new Tag() { TagName = "tag name" } }; Step s1 = new Step() { StepDescription = "step description" }; sentrecipe.Steps = new List <Step>() { s1 }; User user = new User() { Auth0 = "authcode", Firstname = "fname", Lastname = "lname", DateCreated = date, Email = "email", ImageUrl = "picture" }; AuthModel model = new AuthModel() { Sub = "authcode", FirstName = "fname", LastName = "lname", Email = "email", ProfileImage = "picture", Username = "******" }; Dictionary <string, string> userDictionary = new Dictionary <string, string>(); userDictionary["email"] = "email"; userDictionary["picture"] = "picture"; userDictionary["sub"] = "authcode"; bool result; Recipe recipe = null; using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeletedAsync(); context.Database.EnsureCreatedAsync(); var repo = new KitchenRepository(context); var msr = new KitchenLogic(context, repo); var reviewlogic = new ReviewStepTagLogic(context, repo); var userlogic = new UserLogic(context, repo); userlogic.UpdateUser(model, userDictionary); userlogic.UpdateUser(model, userDictionary); var sr = await msr.saveRecipe(sentrecipe, model.Sub); sentrecipe.tags.Add(t); sentrecipe.ingredients.Add(i); sentrecipe.Steps.Add(s); sentrecipe.Steps.Remove(s1); sr = await msr.saveRecipe(sentrecipe, model.Sub); recipe = repo.GetRecipeById(sr.RecipeId); repo.UpdateUserAuth0Data(user); var rev = new Review() { Recipe = recipe, ReviewDate = date, ReviewDescription = "review description", RecipeId = recipe.RecipeId, }; reviewlogic.addReview(userDictionary["sub"], rev); HistoryModel hmodel = new HistoryModel() { recipeId = recipe.RecipeId, sub = model.Sub }; msr.SaveRecipePrepare(hmodel); } Assert.Equal(recipe.RecipeTags.ToArray()[0].Tag.TagName, "tag name"); }