Beispiel #1
0
        public async Task AddEditStatus_ReturnsPartialView_WithSingleCategory()
        {
            // Arrange
            var status = GetListOfStatus().First(x => x.Id == 1);

            mockStatusRepo.Setup(x => x.GetByIdAsync(It.IsAny <int?>())).ReturnsAsync(status);

            mockUOW.Setup(x => x.Repository <Status>()).Returns(mockStatusRepo.Object);

            var controller = new StatusController(mockUOW.Object);

            // Act
            var result = await controller.AddEditStatus(1);

            // Assert
            var viewResult = Assert.IsType <PartialViewResult>(result);
            var model      = Assert.IsAssignableFrom <StatusViewModel>(viewResult.ViewData.Model);

            Assert.Equal(status.Name, model.Name);
        }
Beispiel #2
0
        public async Task AddEditStatusPOST_ReturnsEmptyModelWithError_WhenModelStateInvalid()
        {
            // Arrange
            var status = new StatusViewModel {
            };

            //mockBrandRepo.Setup(x => x.GetByIdAsync(It.IsAny<int?>())).ReturnsAsync(brand);

            mockUOW.Setup(x => x.Repository <Status>()).Returns(mockStatusRepo.Object);

            var controller = new StatusController(mockUOW.Object);

            controller.ModelState.AddModelError("Name", "Required");
            // Act
            var result = await controller.AddEditStatus(0, status);

            // Assert
            var viewResult = Assert.IsType <PartialViewResult>(result);
            var model      = Assert.IsAssignableFrom <StatusViewModel>(viewResult.ViewData.Model);

            Assert.Null(model.Name);
            Assert.False(viewResult.ViewData.ModelState.IsValid);
        }
Beispiel #3
0
        public async Task AddEditStatusPost_ReturnsARedirectAndUpdateBrand_WhenBrandIsValid()
        {
            // Arrange
            var brandId = 1;
            var status  = new StatusViewModel {
                Id = brandId, Name = "Apple"
            };

            mockStatusRepo.Setup(x => x.Update(It.IsAny <Status>())).Verifiable();

            mockUOW.Setup(x => x.Repository <Status>()).Returns(mockStatusRepo.Object);

            var controller = new StatusController(mockUOW.Object);

            // Act
            var result = await controller.AddEditStatus(brandId, status);

            // Assert
            var redirectResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Null(redirectResult.ControllerName);
            Assert.Equal("Index", redirectResult.ActionName);
        }
Beispiel #4
0
        public async Task AddEditStatusPost_ReturnsARedirectAndAddBrand_WhenCategoryIsValid()
        {
            // Arrange
            var status = new StatusViewModel {
                Name = "Apple"
            };

            mockStatusRepo.Setup(x => x.InsertAsync(It.IsAny <Status>())).Returns(Task.FromResult <Status>(new Status())).Verifiable();


            mockUOW.Setup(x => x.Repository <Status>()).Returns(mockStatusRepo.Object);

            var controller = new StatusController(mockUOW.Object);

            // Act
            var result = await controller.AddEditStatus(0, status);

            // Assert
            var redirectResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Null(redirectResult.ControllerName);
            Assert.Equal("Index", redirectResult.ActionName);
            mockStatusRepo.Verify();
        }