コード例 #1
0
 public void TestSetup()
 {
     controller = new ProductCategoriesController();
     controller.Task = new MainTask();
     controller.Task.Navigator = new StubNavigator();
     controller.Task.Navigator.Task = controller.Task;
 }
コード例 #2
0
        public async System.Threading.Tasks.Task TestEditAsync()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "TestEdit")
                          .Options;
            var context = new ApplicationDbContext(options);

            var controller = new ProductCategoriesController(context);



            using (var context2 = new ApplicationDbContext(options))
            {
                context2.ProductCategory.Add(new ProductCategory
                {
                    CategoryName = "Shampoo"
                });
                context2.SaveChanges();
            }

            var result = await controller.Edit(1, new ProductCategory
            {
                CategoryId   = 1,
                CategoryName = "Hair Wax"
            });

            Assert.IsType <RedirectToActionResult>(result);
            using (var context2 = new ApplicationDbContext(options))
            {
                var cat = context2.ProductCategory.FirstOrDefault();
                Assert.Equal("Hair Wax", cat.CategoryName);
                context2.SaveChanges();
            }
        }
コード例 #3
0
        public async System.Threading.Tasks.Task TestDeleteAsync()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "TestDelete")
                          .Options;
            var context = new ApplicationDbContext(options);

            var controller = new ProductCategoriesController(context);



            using (var context2 = new ApplicationDbContext(options))
            {
                context2.ProductCategory.Add(new ProductCategory
                {
                    CategoryName = "Shampoo"
                });
                context2.SaveChanges();
            }

            var result = await controller.DeleteConfirmed(1);

            Assert.IsType <RedirectToActionResult>(result);
            using (var context2 = new ApplicationDbContext(options))
            {
                Assert.Equal(0, context2.ProductCategory.Count());
                context2.SaveChanges();
            }
        }
コード例 #4
0
 public ProductCategoriesControllerTests()
 {
     _mockProductCategoriesService = new Mock <IProductCategoriesService>();
     _mockClaimsGetter             = new Mock <IClaimsGetter>();
     _mockUserService             = new Mock <IUsersService>();
     _productCategoriesController = new ProductCategoriesController(_mockProductCategoriesService.Object, _mockClaimsGetter.Object, _mockUserService.Object);
 }
コード例 #5
0
        internal static ProductCategoryDto GetValidProductCategoryDto(ProductCategoriesController controller, bool first = true)
        {
            var result     = controller.GetProductCategories();
            var listResult = result.ValidateResponseAndCastTo <List <ProductCategoryDto>, OkObjectResult>((int)HttpStatusCodes.Ok);

            listResult.Any().Should().BeTrue();
            return(first ? listResult.First() : listResult.Last());
        }
コード例 #6
0
        public void When_updating_a_product_category_as_a_null_value_it_should_return_a_bad_request_code()
        {
            // Arrange
            var controller = new ProductCategoriesController(null, null);

            // Act
            var result = controller.Update(0, null);

            // Assert
            result.Should().BeOfType <BadRequestResult>();
        }
コード例 #7
0
        public void When_getting_a_product_category_with_an_invalid_id_it_should_return_a_not_found_code()
        {
            // Arrange
            var controller = new ProductCategoriesController(_logger, _repository);

            // Act
            var result = controller.GetProductCategory(-1);

            // Assert
            result.Should().BeOfType <NotFoundResult>();
        }
コード例 #8
0
        public void When_deleting_an_invalid_product_category_a_not_found_code_should_be_returned()
        {
            // Arrange
            var controller = new ProductCategoriesController(_logger, _repository);

            // Act
            var result = controller.Delete(-1);

            // Assert
            result.Should().BeOfType <NotFoundResult>();
        }
コード例 #9
0
        public void When_updating_a_product_category_the_model_state_should_be_validated()
        {
            // Arrange
            var controller = new ProductCategoriesController(null, null);

            // Act
            controller.ModelState.AddModelError("", "Error");
            var result = controller.Update(0, new ProductCategoryForPostDto());

            // Assert
            result.Should().BeOfType <BadRequestObjectResult>();
        }
コード例 #10
0
        public void When_getting_all_product_categories_it_should_return_a_list_with_elements()
        {
            // Arrange
            var controller = new ProductCategoriesController(_logger, _repository);

            // Act
            var result     = controller.GetProductCategories();
            var listResult = result.ValidateResponseAndCastTo <List <ProductCategoryDto>, OkObjectResult>((int)HttpStatusCodes.Ok);

            // Assert
            listResult.Any().Should().BeTrue();
        }
コード例 #11
0
        public void When_getting_a_product_category_with_a_valid_id_it_should_return_a_valid_element()
        {
            // Arrange
            var controller      = new ProductCategoriesController(_logger, _repository);
            var originalElement = ValidDataHelper.GetValidProductCategoryDto(controller);

            // Act
            var result           = controller.GetProductCategory(originalElement.Id);
            var retrievedElement = result.ValidateResponseAndCastTo <ProductCategoryDto, OkObjectResult>((int)HttpStatusCodes.Ok);

            // Assert
            retrievedElement.ShouldBeEquivalentTo(originalElement);
        }
コード例 #12
0
        public void When_deleting_a_product_category_the_query_for_that_id_should_return_a_not_found_code()
        {
            // Arrange
            var controller      = new ProductCategoriesController(_logger, _repository);
            var originalElement = ValidDataHelper.GetValidProductCategoryDto(controller);

            // Act
            var result    = controller.Delete(originalElement.Id);
            var getResult = controller.GetProductCategory(originalElement.Id);

            // Asset
            result.Should().BeOfType <NoContentResult>();
            getResult.Should().BeOfType <NotFoundResult>();
        }
コード例 #13
0
        public void When_adding_a_new_valid_product_category_the_new_element_should_be_returned_with_valid_values()
        {
            // Arrange
            var controller = new ProductCategoriesController(_logger, _repository);

            // Act
            var productCategory  = A.New <ProductCategoryForPostDto>();
            var result           = controller.Add(productCategory);
            var retrievedElement = result.ValidateResponseAndCastTo <ProductCategoryDto, CreatedAtRouteResult>
                                       ((int)HttpStatusCodes.Created);

            retrievedElement.Name.Should().Be(productCategory.Name);
            retrievedElement.Id.Should().NotBe(0);
        }
コード例 #14
0
        public async Task PostProductCategory_Success()
        {
            var dbContext       = _fixture.Context;
            var productcategory = new ProductCategoryCreateRequest {
                Name = "Test product category"
            };

            var controller = new ProductCategoriesController(dbContext);
            var result     = await controller.PostProductCategory(productcategory);

            var createdActionResult = Assert.IsType <CreatedAtActionResult>(result.Result);
            var returnValue         = Assert.IsType <ProductCategoryVm>(createdActionResult.Value);

            Assert.Equal("Tests product category", returnValue.Name);
        }
コード例 #15
0
        public async Task GetProductCategory_Success()
        {
            var dbContext = _fixture.Context;

            dbContext.ProductCategories.Add(new ProductCategory {
                Name = "Test product category"
            });
            await dbContext.SaveChangesAsync();

            var controller = new ProductCategoriesController(dbContext);
            var result     = await controller.GetProductCategories();

            var actionResult = Assert.IsType <ActionResult <IEnumerable <ProductCategoryVm> > >(result);

            Assert.NotEmpty(actionResult.Value);
        }
コード例 #16
0
        public async void Delete_ReturnNotFound(int?id)
        {
            // Arrange

            var mockRepo = new Mock <IAsyncRepository <ProductCategory> >();

            mockRepo.Setup(repo => repo.GetByIdAsync(id)).ReturnsAsync(GetCategories().Find(i => i.CategId == id));

            var controller = new ProductCategoriesController(mockRepo.Object);

            // Act

            var result = await controller.Delete(id);

            // Assert

            Assert.IsType <NotFoundResult>(result);
        }
コード例 #17
0
        public async Task GetProductCategoriesReturnsAResponseWithAListOfProductCategories()
        {
            var dbContext  = GetDbContext();
            var controller = new ProductCategoriesController(dbContext);

            var result = await controller.GetProductCategories();

            var resultArray = result.ToArray();

            resultArray.Should().NotBeNull();
            resultArray.Should().HaveCount(1);

            var resultModel = resultArray.First();
            var entity      = dbContext.ProductCategories.Find(1);

            resultModel.Id.Should().Be(entity.Id);
            resultModel.Name.Should().Be(entity.Name);
            resultModel.Description.Should().Be(entity.Description);
        }
コード例 #18
0
        public async System.Threading.Tasks.Task TestCreateAsync()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "TestCreate")
                          .Options;

            var context    = new ApplicationDbContext(options);
            var controller = new ProductCategoriesController(context);
            var result     = await controller.Create(
                new ProductCategory {
                CategoryName = "Shampoo"
            });


            Assert.IsType <RedirectToActionResult>(result);
            using (var context2 = new ApplicationDbContext(options))
            {
                Assert.Equal(1, context2.ProductCategory.Count());
                Assert.Equal("Shampoo", context2.ProductCategory.FirstOrDefault().CategoryName);
            }
        }
コード例 #19
0
        public async void Edit_GetCurrentItem(int?id)
        {
            // Arrange

            var mockRepo = new Mock <IAsyncRepository <ProductCategory> >();

            mockRepo.Setup(repo => repo.GetByIdAsync(id)).ReturnsAsync(GetCategories().Find(i => i.CategId == id));

            var controller = new ProductCategoriesController(mockRepo.Object);

            // Act

            var result = await controller.Edit(id);

            // Assert

            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsAssignableFrom <ProductCategory>(viewResult.Model);

            Assert.Equal(id, model.CategId);
        }
コード例 #20
0
        public async System.Threading.Tasks.Task TestIndexAsync()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "TestIndex")
                          .Options;

            var context    = new ApplicationDbContext(options);
            var controller = new ProductCategoriesController(context);


            using (var context2 = new ApplicationDbContext(options))
            {
                var cats = new List <ProductCategory>();
                cats.Add(new ProductCategory
                {
                    CategoryName = "Hair Wax"
                });
                cats.Add(new ProductCategory
                {
                    CategoryName = "Shapoo"
                });
                cats.Add(new ProductCategory
                {
                    CategoryName = "Thickening Paste"
                });
                context2.ProductCategory.AddRange(cats);
                context2.SaveChanges();
            }


            var result = await controller.Index();


            Assert.IsType <ViewResult>(result);
            using (var context3 = new ApplicationDbContext(options))
            {
                Assert.Equal(3, context3.ProductCategory.Count());
            }
        }
コード例 #21
0
        public async Task UpdateProductCategory_Success()
        {
            var             dbContext          = _fixture.Context;
            ProductCategory oldProductCategory = new ProductCategory {
                Name = "Test product category"
            };
            await dbContext.ProductCategories.AddAsync(oldProductCategory);

            await dbContext.SaveChangesAsync();

            ProductCategoryUpdateRequest newProductCategory = new ProductCategoryUpdateRequest {
                Name = "Test1 product category"
            };
            var controller = new ProductCategoriesController(dbContext);
            var result     = await controller.PutProductCategory(1, newProductCategory);

            var updatAtActionResult = Assert.IsType <OkObjectResult>(result.Result);
            var resultValue         = Assert.IsType <ProductCategoryUpdateRequest>(updatAtActionResult.Value);

            Assert.Equal(oldProductCategory.Name, resultValue.Name);
            Assert.Equal(oldProductCategory.Name, newProductCategory.Name);
        }
コード例 #22
0
        public void When_updating_a_product_category_the_query_for_that_id_should_return_the_updated_element()
        {
            // Arrange
            var controller      = new ProductCategoriesController(_logger, _repository);
            var originalElement = ValidDataHelper.GetValidProductCategoryDto(controller);

            originalElement.Name = $"UpdatedValue for Id={originalElement.Id}";
            var updatedValue = new ProductCategoryForPostDto()
            {
                Name = originalElement.Name
            };

            // Act
            var result         = controller.Update(originalElement.Id, updatedValue);
            var getResult      = controller.GetProductCategory(originalElement.Id);
            var retrievedValue = getResult.ValidateResponseAndCastTo <ProductCategoryDto, OkObjectResult>
                                     ((int)HttpStatusCodes.Ok);

            // Asset
            result.Should().BeOfType <NoContentResult>();
            retrievedValue.ShouldBeEquivalentTo(originalElement);
        }
コード例 #23
0
        public void When_updating_a_product_the_query_for_that_id_should_return_the_updated_element()
        {
            // Arrange
            var controller         = new ProductsController(_logger, _repository);
            var originalElement    = ValidDataHelper.GetValidProductDto(controller);
            var categoryController = new ProductCategoriesController(_categoryLogger, _productCategoryRepository);
            var category           = ValidDataHelper.GetValidProductCategoryDto(categoryController, false);
            var updatedValue       = A.New <ProductForPostDto>();

            updatedValue.ProductCategoryId = category.Id;
            AutoMapper.Mapper.Map(updatedValue, originalElement);

            // Act
            var result         = controller.Update(originalElement.Id, updatedValue);
            var getResult      = controller.GetProduct(originalElement.Id);
            var retrievedValue = getResult.ValidateResponseAndCastTo <ProductDto, OkObjectResult>
                                     ((int)HttpStatusCodes.Ok);

            // Asset
            result.Should().BeOfType <NoContentResult>();
            retrievedValue.ShouldBeEquivalentTo(originalElement);
        }
コード例 #24
0
        public async Task DeleteProductCategory_Success()
        {
            var dbContext = _fixture.Context;

            ProductCategory productCategory = new ProductCategory {
                Name = "Test product category"
            };
            await dbContext.ProductCategories.AddAsync(productCategory);

            await dbContext.SaveChangesAsync();

            var productcategoriesController = new ProductCategoriesController(dbContext);
            // Act
            var result = await productcategoriesController.DeleteProductCategory(productCategory.ID);

            // Assert
            var deleteAtActionResult = Assert.IsType <NoContentResult>(result.Result);

            await Assert.ThrowsAsync <Exception>(async() =>
            {
                await productcategoriesController.GetProductCategory(productCategory.ID);
            });
        }
コード例 #25
0
        public async System.Threading.Tasks.Task TestDetailsAsync()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "TestDetails")
                          .Options;
            var context = new ApplicationDbContext(options);

            var controller = new ProductCategoriesController(context);


            using (var context2 = new ApplicationDbContext(options))
            {
                context2.ProductCategory.Add(new ProductCategory {
                    CategoryName = "Shampoo"
                });
                context2.SaveChanges();
            }

            var result = await controller.Details(1);

            var vr = Assert.IsType <ViewResult>(result);

            Assert.IsAssignableFrom <ProductCategory>(vr.ViewData.Model);
        }
コード例 #26
0
ファイル: Everything.cs プロジェクト: stantoxt/DryIoc
        public MegaClass(
            UserLicensesController a2,
            TimeEntrySuggestedRowsController a3,
            WorkHourSuggestedRowsController a4,
            KpiFormulasController a5,
            UserSettingsController a6,
            SecurityController a7,
            SoapApiKeysController a8,
            NotificationSettingsController a9,
            FlextimeAdjustmentsController a10,
            AuthorizedIpAddressesController a11,
            BankAccountsController a12,
            ApiClientsController a13,
            OrganizationSettingsController a14,
            LogosController a15,
            ProjectMemberCostExceptionsController a16,
            OrganizationDetailsController a17,
            AddonsController a18,
            TravelExpenseCountrySettingsController a19,
            ProductCountrySettingsController a20,
            CustomerCountrySettingsController a21,
            KpiComparisonController a22,
            TravelExpenseReceiptsController a23,
            TravelReimbursementStatusController a24,
            TravelReimbursementsController a25,
            ResourcingOverviewController a26,
            TermsOfServiceApprovalsController a27,
            FinancialsController a28,
            CalendarGroupMembersController a29,
            ActivityParticipantsController a30,
            ActivitiesController a31,
            PermissionProfilesController a32,
            CalendarGroupsController a33,
            ResourcesController a34,
            DemoDataController a35,
            LinksController a36,
            ReimbursedWorkHoursController a37,
            ReimbursedProjectTravelExpensesController a38,
            ReimbursedProjectFeesController a39,
            ProjectsOverviewController a40,
            ContactRolesController a41,
            CustomerMarketSegmentsController a42,
            ProjectTotalFeesController a43,
            BillingInformationUpdateController a44,
            KeywordsController a45,
            FlatRatesController a46,
            BusinessOverviewController a47,
            SpecialUserOptionsController a48,
            UninvoicedProjectsController a49,
            TeamProductivityController a50,
            ProjectBillingCustomersController a51,
            MarketSegmentsController a52,
            ProjectProductsController a53,
            ScheduleOverviewController a54,
            SharedDashboardAccessRightProfilesController a55,
            SharedDashboardsController a56,
            InvoicesOverviewController a57,
            ProposalBillingPlanController a58,
            SalesOverviewController a59,
            CustomersOverviewController a60,
            ProposalProjectPlanController a61,
            TimeEntryTypesController a62,
            CommunicationTypesController a63,
            ContactCommunicationsController a64,
            FlextimeController a65,
            ProjectForecastsController a66,
            ResourceAllocationsController a67,
            TemporaryProjectFeesController a68,
            InvoiceTemplateSettingsController a69,
            TemporaryProjectTravelExpensesController a70,
            TemporaryWorkHoursController a71,
            InvoiceTemplatesController a72,
            WorkdaysController a73,
            InvoiceSettingsController a74,
            OrganizationsController a75,
            ProjectTaskStatusesController a76,
            ActivityTypesController a77,
            AddressesController a78,
            DashboardPartsController a79,
            DashboardWithPartsController a80,
            DashboardsController a81,
            InvoiceRowsController a82,
            InvoicesController a83,
            HolidaysController a84,
            PermissionsController a85,
            QuickSearchController a86,
            ProposalTemplatesController a87,
            InvoiceTotalsController a88,
            ProposalTotalsController a89,
            ProposalWorkhoursController a90,
            ProposalSubtotalsController a91,
            ProposalFeesController a92,
            ReportsController a93,
            ProposalStatusesController a94,
            InvoiceStatusesController a95,
            ProposalsController a96,
            StatusHistoryController a97,
            PhaseStatusTypesController a98,
            CostCentersController a99,
            ProjectWorktypesController a100,
            PricelistVersionsController a101,
            OvertimePricesController a102,
            AllUsersController a103,
            TimeEntriesController a104,
            WorkTypesController a105,
            WorkHoursController a106,
            ProjectWorkHourPricesController a107,
            TravelPricesController a108,
            WorkHourPricesController a109,
            ProductPricesController a110,
            ProjectRecurringFeeRulesController a111,
            ProjectTravelExpensesController a112,
            TravelExpensesController a113,
            ProjectFeesController a114,
            SalesReceivableAccountsController a115,
            ValueAddedTaxesController a116,
            ProductsController a117,
            BusinessUnitsController a118,
            CollaborationNotesController a119,
            ContactsController a120,
            CurrencyBasesController a121,
            CurrenciesController a122,
            CountriesController a123,
            CustomersController a124,
            FileDataController a125,
            FilesController a126,
            FormattingCulturesController a127,
            IndustriesController a128,
            LanguagesController a129,
            LeadSourcesController a130,
            MenuController a131,
            PersonalSettingsController a132,
            PhaseMembersController a133,
            PhasesController a134,
            PricelistsController a135,
            OvertimesController a136,
            ProjectsController a137,
            ProjectStatusTypesController a138,
            SalesAccountsController a139,
            SalesNotesController a140,
            ProductCategoriesController a141,
            WorkContractsController a142,
            SalesStatusController a143,
            SalesStatusTypeController a144,
            TimeZonesController a145,
            UsersController a146,
            ScheduledWorkJobsController a147,
            PasswordChangeController a148,
            UserInactivationInformationController a149,
            EmailAddressChangeController a150,
            EmailController a151,
            PdfController a152,
            BearerAuthenticationController a153,
            ExternalAuthenticationController a154,
            HeartBeatController a155

            )
        {
            _a2   = _a2;
            _a3   = _a3;
            _a4   = _a4;
            _a5   = _a5;
            _a6   = _a6;
            _a7   = _a7;
            _a8   = _a8;
            _a9   = _a9;
            _a10  = _a10;
            _a11  = _a11;
            _a12  = _a12;
            _a13  = _a13;
            _a14  = _a14;
            _a15  = _a15;
            _a16  = _a16;
            _a17  = _a17;
            _a18  = _a18;
            _a19  = _a19;
            _a20  = _a20;
            _a21  = _a21;
            _a22  = _a22;
            _a23  = _a23;
            _a24  = _a24;
            _a25  = _a25;
            _a26  = _a26;
            _a27  = _a27;
            _a28  = _a28;
            _a29  = _a29;
            _a30  = _a30;
            _a31  = _a31;
            _a32  = _a32;
            _a33  = _a33;
            _a34  = _a34;
            _a35  = _a35;
            _a36  = _a36;
            _a37  = _a37;
            _a38  = _a38;
            _a39  = _a39;
            _a40  = _a40;
            _a41  = _a41;
            _a42  = _a42;
            _a43  = _a43;
            _a44  = _a44;
            _a45  = _a45;
            _a46  = _a46;
            _a47  = _a47;
            _a48  = _a48;
            _a49  = _a49;
            _a50  = _a50;
            _a51  = _a51;
            _a52  = _a52;
            _a53  = _a53;
            _a54  = _a54;
            _a55  = _a55;
            _a56  = _a56;
            _a57  = _a57;
            _a58  = _a58;
            _a59  = _a59;
            _a60  = _a60;
            _a61  = _a61;
            _a62  = _a62;
            _a63  = _a63;
            _a64  = _a64;
            _a65  = _a65;
            _a66  = _a66;
            _a67  = _a67;
            _a68  = _a68;
            _a69  = _a69;
            _a70  = _a70;
            _a71  = _a71;
            _a72  = _a72;
            _a73  = _a73;
            _a74  = _a74;
            _a75  = _a75;
            _a76  = _a76;
            _a77  = _a77;
            _a78  = _a78;
            _a79  = _a79;
            _a80  = _a80;
            _a81  = _a81;
            _a82  = _a82;
            _a83  = _a83;
            _a84  = _a84;
            _a85  = _a85;
            _a86  = _a86;
            _a87  = _a87;
            _a88  = _a88;
            _a89  = _a89;
            _a90  = _a90;
            _a91  = _a91;
            _a92  = _a92;
            _a93  = _a93;
            _a94  = _a94;
            _a95  = _a95;
            _a96  = _a96;
            _a97  = _a97;
            _a98  = _a98;
            _a99  = _a99;
            _a100 = _a100;
            _a101 = _a101;
            _a102 = _a102;
            _a103 = _a103;
            _a104 = _a104;
            _a105 = _a105;
            _a106 = _a106;
            _a107 = _a107;
            _a108 = _a108;
            _a109 = _a109;
            _a110 = _a110;
            _a111 = _a111;
            _a112 = _a112;
            _a113 = _a113;
            _a114 = _a114;
            _a115 = _a115;
            _a116 = _a116;
            _a117 = _a117;
            _a118 = _a118;
            _a119 = _a119;
            _a120 = _a120;
            _a121 = _a121;
            _a122 = _a122;
            _a123 = _a123;
            _a124 = _a124;
            _a125 = _a125;
            _a126 = _a126;
            _a127 = _a127;
            _a128 = _a128;
            _a129 = _a129;
            _a130 = _a130;
            _a131 = _a131;
            _a132 = _a132;
            _a133 = _a133;
            _a134 = _a134;
            _a135 = _a135;
            _a136 = _a136;
            _a137 = _a137;
            _a138 = _a138;
            _a139 = _a139;
            _a140 = _a140;
            _a141 = _a141;
            _a142 = _a142;
            _a143 = _a143;
            _a144 = _a144;
            _a145 = _a145;
            _a146 = _a146;
            _a147 = _a147;
            _a148 = _a148;
            _a149 = _a149;
            _a150 = _a150;
            _a151 = _a151;
            _a152 = _a152;
            _a153 = _a153;
            _a154 = _a154;
            _a155 = _a155;
        }
 public void Setup()
 {
     controller = new ProductCategoriesController(_Service);
 }