Exemple #1
0
        public async void GetListRecipesModel_FromInitializedDbTables_LogicRecipesModelsEqualExpectedRecipesModels()
        {
            // arrange
            var recipe                = GetRecipes();
            var recipeInheritances    = GetRecipeInheritances();
            var productsCatalog       = GetProductsCatalog();
            var recipeProductsChanges = GetRecipeProductsChanges();

            fixture.db.Recipe.AddRange(recipe);
            fixture.db.RecipeInheritance.AddRange(recipeInheritances);
            fixture.db.ProductCatalog.AddRange(productsCatalog);
            fixture.db.RecipeProductChanges.AddRange(recipeProductsChanges);

            await fixture.db.SaveChangesAsync();

            var expected = new List <RecipesModel>
            {
                new RecipesModel
                {
                    Id                = 44441,
                    Content           = "I am recipe #2",
                    GovApproved       = true,
                    TechApproved      = false,
                    ParentRecipe      = 44440,
                    ChildRecipesCount = 0,
                    ProductCount      = 1,
                    MaterialCount     = 2
                },
                new RecipesModel
                {
                    Id                = 44440,
                    Content           = "I am recipe #1",
                    GovApproved       = true,
                    TechApproved      = true,
                    ParentRecipe      = null,
                    ChildRecipesCount = 1,
                    ProductCount      = 1,
                    MaterialCount     = 2
                },
            };

            // act
            var actual = (await logic.GetAllDataModelAsync()).ToList();

            // assert
            foreach (var expectedItem in expected)
            {
                Assert.Contains(actual, actualItem =>
                                expectedItem.Id == actualItem.Id &&
                                expectedItem.Content == actualItem.Content &&
                                expectedItem.GovApproved == actualItem.GovApproved &&
                                expectedItem.TechApproved == actualItem.TechApproved &&
                                expectedItem.ParentRecipe == actualItem.ParentRecipe &&
                                expectedItem.ChildRecipesCount == actualItem.ChildRecipesCount &&
                                expectedItem.ProductCount == actualItem.ProductCount &&
                                expectedItem.MaterialCount == actualItem.MaterialCount);
            }
        }
Exemple #2
0
        public async Task <IActionResult> Index(int currentPage = 1, int itemsOnPage = 20)
        {
            var model = await logic.GetAllDataModelAsync();

            // form pagenation model
            var pagenationModel = new Pagenation <RecipesModel>(model, itemsOnPage, currentPage);

            return(View(pagenationModel));
        }