public async Task TestSingleIngredient() { var ingredient = new Ingredient() { IngredientId = 3, IngredientName = "Cheese", IngredientDescription = "svsvsvs", IngredientImage = "Some Image", RecipeIngredients = new List <RecipeIngredient>(), ThirdPartyApiId = "Google", }; var result2 = new Ingredient(); using (var context = new InTheKitchenDBContext(testOptions)) { await context.Database.EnsureDeletedAsync(); await context.Database.EnsureCreatedAsync(); context.Add(ingredient); context.SaveChangesAsync(); } await using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureCreated(); var msr = new ReviewStepTagLogic(context); result2 = await msr.getOneIngredientById(ingredient.IngredientId); } Assert.Equal(ingredient.IngredientDescription, result2.IngredientDescription); }
public async Task TestIngredient() { var ingredient = new Ingredient() { IngredientId = 34, IngredientName = "Cheese" }; var result1 = new Ingredient(); var result2 = new Ingredient(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeletedAsync(); context.Database.EnsureCreatedAsync(); context.Add(ingredient); context.SaveChanges(); result2 = await context.Ingredients.Where(i => i.IngredientName == ingredient.IngredientName).FirstOrDefaultAsync(); } using (var context = new InTheKitchenDBContext(testOptions)) { await context.Database.EnsureCreatedAsync(); var msr = new ReviewStepTagLogic(context); result1 = await msr.getOneIngredientByName(ingredient.IngredientName); } Assert.Equal(result1.IngredientName, result2.IngredientName); }
public void GetUserBySub() { var user = new User() { UserId = 4, Username = "******", Auth0 = "Stuff" }; var result1 = new User(); var result2 = new User(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); context.Add(user); context.SaveChanges(); result2 = context.Users.FirstOrDefault(u => u.Auth0 == user.Auth0); } using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureCreated(); var msr = new KitchenRepository(context); result1 = msr.GetUserDataBySub(user.Auth0); } Assert.Equal(result1.Username, result2.Username); }
public void GetRecipeByID() { var recipe = new Recipe() { RecipeId = 4, RecipeAuthor = "Anis" }; var result1 = new Recipe(); var result2 = new Recipe(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); context.Add(recipe); context.SaveChanges(); result2 = context.Recipes.Where(r => r.RecipeId == recipe.RecipeId) .Include(r => r.RecipeIngredients) .ThenInclude(ri => ri.Ingredient) .Include(r => r.RecipeTags) .ThenInclude(rt => rt.Tag) .Include(r => r.Steps) .Include(r => r.Reviews) .FirstOrDefault(); } using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureCreated(); var msr = new KitchenRepository(context); result1 = msr.GetRecipeById(recipe.RecipeId); } Assert.Equal(result1.RecipeAuthor, result2.RecipeAuthor); }
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 TestUserLogic() { User user = new User() { Auth0 = "authcode", Firstname = "fname", Lastname = "lname" }; AuthModel model = new AuthModel() { Sub = "authcode", FirstName = "fname", LastName = "lname", Email = "email", ProfileImage = "", Username = "******" }; Dictionary <string, string> userDictionary = new Dictionary <string, string>(); userDictionary["email"] = "email"; userDictionary["picture"] = "picture"; userDictionary["sub"] = "authcode"; bool result; bool isnew = false; using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeletedAsync(); context.Database.EnsureCreatedAsync(); var repo = new KitchenRepository(context); var userlogic = new UserLogic(context, repo); AuthModel outModel = null; isnew = userlogic.CheckIfNewUser(userDictionary, out outModel); userlogic.GetAllUsers(); } Assert.False(isnew); }
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 TestListReviewByName() { var reviews = new List <Review>(); var review1 = new Review() { ReviewId = 12, Recipe = new Recipe() { RecipeName = "Tacos" }, ReviewDescription = "Some description", User = new User() { Firstname = "Anis" } }; var review2 = new Review() { ReviewId = 120, Recipe = new Recipe() { RecipeName = "Tacos" }, ReviewDescription = "Some other description", User = new User() { Firstname = "Anis" } }; reviews.Add(review1); reviews.Add(review2); var result1 = new List <Review>(); var result2 = new List <Review>(); using (var context = new InTheKitchenDBContext(testOptions)) { await context.Database.EnsureDeletedAsync(); await context.Database.EnsureCreatedAsync(); var msr = new ReviewStepTagLogic(context); result1 = await msr.getReviewByUser("Anis"); } await using (var context2 = new InTheKitchenDBContext(testOptions)) { await context2.Database.EnsureCreatedAsync(); result2 = await context2.Reviews.Include(r => r.User).Where(r => r.User.Firstname == "Anis").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 void GetRecipes() { var reviews = new List <Recipe>(); var review1 = new Recipe() { RecipeId = 32, RecipeAuthor = "Anis", RecipeDescription = "Tacos" }; var review2 = new Recipe() { RecipeId = 320, RecipeAuthor = "Anis", RecipeDescription = "Tacos" }; reviews.Add(review1); reviews.Add(review2); var result1 = new List <Recipe>(); var result2 = new List <Recipe>(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeletedAsync(); context.Database.EnsureCreatedAsync(); context.Add(review1); context.Add(review2); context.SaveChanges(); result2 = context.Recipes .Include(r => r.RecipeIngredients) .ThenInclude(ri => ri.Ingredient) .Include(r => r.RecipeTags) .ThenInclude(rt => rt.Tag) .Include(r => r.Steps) .ToList(); } using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureCreatedAsync(); var msr = new KitchenRepository(context); result1 = (List <Recipe>)msr.GetAllRecipes(); } Assert.Equal(result1.Count, result2.Count); }
public void SaveUser() { var user = new User() { UserId = 4, Username = "******", Auth0 = "Stuff" }; var result1 = new User(); var result2 = new User(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); var msr = new KitchenRepository(context); var newUser = msr.SaveNewUser(user, out result1); Assert.True(newUser); } }
public void TestListUser() { List <User> users = new List <User>(); var user1 = (new User() { UserId = 23, Firstname = "Anis" }); var user2 = (new User() { UserId = 234, Firstname = "Nour" }); var user3 = (new User() { UserId = 231, Firstname = "Beau" }); users.Add(user1); users.Add(user2); users.Add(user3); List <User> result1 = new List <User>(); List <User> result2 = new List <User>(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); context.Add(user1); context.Add(user2); context.Add(user3); context.SaveChanges(); result2 = context.Users.ToList(); } using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureCreated(); var msr = new UserLogic(context); result1 = msr.getAllUsers(); } Assert.Equal(result1.Count, result2.Count); }
public async Task TestListReview() { var reviews = new List <Review>(); var review1 = new Review() { ReviewId = 12, Recipe = new Recipe() { RecipeName = "Tacos" }, ReviewDescription = "Some description" }; var review2 = new Review() { ReviewId = 120, Recipe = new Recipe() { RecipeName = "Tacos" }, ReviewDescription = "Some other description" }; reviews.Add(review1); reviews.Add(review2); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); context.Add(review1); context.Add(review2); context.SaveChanges(); } List <Review> result1; using (var context2 = new InTheKitchenDBContext(testOptions)) { context2.Database.EnsureCreated(); var msr = new ReviewStepTagLogic(context2); result1 = await msr.getReviewsByRecipeName("Tacos"); } Assert.Equal(reviews.Count, result1.Count); }
public async Task TestListTag() { var tags = new List <Tag>(); var tag1 = (new Tag() { TagId = 12, TagName = "Cheese", TagDescription = "Some description" }); var tag2 = (new Tag() { TagId = 120, TagName = "Beef", TagDescription = "Some other description" }); tags.Add(tag1); tags.Add(tag2); var result1 = new List <Tag>(); var result2 = new List <Tag>(); await using (var context = new InTheKitchenDBContext(testOptions)) { await context.Database.EnsureDeletedAsync(); await context.Database.EnsureCreatedAsync(); context.Add(tag1); context.Add(tag2); context.SaveChanges(); result2 = await context.Tags.ToListAsync(); } await using (var context = new InTheKitchenDBContext(testOptions)) { await context.Database.EnsureCreatedAsync(); var msr = new ReviewStepTagLogic(context); result1 = await msr.geTags(); } Assert.Equal(result1.Count, result2.Count); }
public async Task GetReviews() { var reviews = new List <Review>(); var review1 = new Review() { RecipeId = 32, ReviewId = 3, ReviewDescription = "Tacos" }; var review2 = new Review() { RecipeId = 329, ReviewId = 3, ReviewDescription = "TacoBurrito" }; var review3 = new Review() { RecipeId = 320, ReviewId = 3, ReviewDescription = "Tacos" }; var result1 = new List <Review>(); var result2 = new List <Review>(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); result2 = await context.Reviews.Where(r => r.RecipeId == 3) .Include(r => r.User) .ToListAsync(); } using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureCreated(); var msr = new KitchenRepository(context); result1 = await msr.GetReviewsByRecipeId(3); } Assert.Equal(result1, result2); }
public async Task TestListIngredient() { var ingredients = new List <Ingredient>(); var ing1 = new Ingredient() { IngredientId = 12, IngredientName = "Cheese", IngredientDescription = "Some description" }; var ing2 = new Ingredient() { IngredientId = 120, IngredientName = "Beef", IngredientDescription = "Some other description" }; ingredients.Add(ing2); ingredients.Add(ing1); var result1 = new List <Ingredient>(); using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureDeletedAsync(); context.Database.EnsureCreatedAsync(); context.Add(ing1); context.Add(ing2); context.SaveChanges(); } using (var context = new InTheKitchenDBContext(testOptions)) { context.Database.EnsureCreatedAsync(); var msr = new ReviewStepTagLogic(context); result1 = await msr.getIngredients(); } Assert.Equal(result1.Count, ingredients.Count); }
// for test purpose public UserLogic(InTheKitchenDBContext _context) { this._context = _context; }
public UserLogic(InTheKitchenDBContext _context, KitchenRepository _repo) { this._context = _context; this._repo = _repo; // this._handler = _handler; }
public KitchenLogic(InTheKitchenDBContext _context, KitchenRepository _repo) { this._context = _context; this._repo = _repo; }
public KitchenRepository(InTheKitchenDBContext context) { _context = context; }
public ReviewStepTagLogic(InTheKitchenDBContext _context) { this._context = _context; }
public ReviewStepTagLogic(InTheKitchenDBContext _context, KitchenRepository _repo) { this._context = _context; this._repo = _repo; }
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"); }