Esempio n. 1
0
        public async void TestCreatePostMethod_SaveThroughRepository_WhenModelStateIsValid()
        {
            // Arrange
            var mockRepo = new Mock <IDanceRepository>();

            mockRepo.Setup(repo => repo.SaveDanceCourseType(It.IsAny <DanceCourseType>()))
            .Returns(Task.CompletedTask)
            .Verifiable();
            var controller      = new DanceCourseTypesController(mockRepo.Object);
            DanceCourseTypeVM s = new DanceCourseTypeVM()
            {
                Title       = "Hiphop",
                Description = "A description"
            };

            // Act
            var result = await controller.Create(s);

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

            Assert.Null(redirectToActionResult.ControllerName);
            Assert.Equal("Index", redirectToActionResult.ActionName);
            mockRepo.Verify();
        }
        public async Task <IActionResult> Create([Bind("Id,Title,Description,Visible,PhotoUrl")] DanceCourseTypeVM danceCourseTypeVM)
        {
            if (ModelState.IsValid)
            {
                Photo photo = null;

                if (danceCourseTypeVM.PhotoUrl != null)
                {
                    photo = new Photo()
                    {
                        Url = danceCourseTypeVM.PhotoUrl, DateAdded = DateTime.Now
                    };
                }

                DanceCourseType danceCourse = new DanceCourseType()
                {
                    Title       = danceCourseTypeVM.Title,
                    Description = danceCourseTypeVM.Description,
                    Visible     = danceCourseTypeVM.Visible,
                    Photo       = photo
                };

                await _repo.SaveDanceCourseType(danceCourse);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(danceCourseTypeVM));
        }
Esempio n. 3
0
        public async void TestCreatePostMethod_ReturnsViewWithObjects_WhenModelStateIsInvalid()
        {
            // Arrange
            var mockRepo   = new Mock <IDanceRepository>();
            var controller = new DanceCourseTypesController(mockRepo.Object);

            controller.ModelState.AddModelError("Title", "Required");
            var courseTypeVM = new DanceCourseTypeVM()
            {
                Title = "", Description = "CourseType Description"
            };

            // Act
            var result = await controller.Create(courseTypeVM);

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

            Assert.IsType <DanceCourseTypeVM>(model);
        }