public async Task CreateInstructor_ReturnsCreatedInstructor()
        {
            var instructor = new InstructorInputViewModel
            {
                FirstName = "Stu",
                LastName  = "Steiner"
            };

            var service = new Mock <IInstructorService>();

            service.Setup(x => x.AddInstructor(It.Is <Instructor>(g => g.FirstName == instructor.FirstName)))
            .Returns(Task.FromResult(new Instructor
            {
                Id        = 2,
                FirstName = instructor.FirstName,
                LastName  = instructor.LastName
            }))
            .Verifiable();

            var controller = new InstructorsController(service.Object, Mapper.Instance);

            var        result      = (await controller.AddInstructor(instructor)).Result as OkObjectResult;
            Instructor resultValue = (Instructor)result.Value;

            Assert.IsNotNull(resultValue);
            Assert.AreEqual(2, resultValue.Id);
            Assert.AreEqual("Stu", resultValue.FirstName);
            Assert.AreEqual("Steiner", resultValue.LastName);
            service.VerifyAll();
        }
Example #2
0
        public async Task <ActionResult <InstructorViewModel> > AddInstructor(InstructorInputViewModel viewModel)
        {
            if (viewModel == null)
            {
                return(BadRequest());
            }

            Instructor createdInstructor = await InstructorService.AddInstructor(Mapper.Map <Instructor>(viewModel)).ConfigureAwait(false);

            return(Ok(createdInstructor));
        }
        public async Task UpdateInstructor_ReturnsUpdatedInstructor()
        {
            var instructor = new InstructorInputViewModel
            {
                FirstName = "Stu",
                LastName  = "Steiner"
            };
            var service = new Mock <IInstructorService>();
            //service.Setup(x => x.GetById(2))
            //    .Returns(Task.FromResult(new Instructor
            //    {
            //        Id = 2,
            //        Name = instructor.Name
            //    }))
            //    .Verifiable();

            var controller = new InstructorsController(service.Object, Mapper.Instance);

            var result = (await controller.UpdateInstructor(2, instructor));

            Assert.IsNotNull(result);
            service.VerifyAll();
        }
Example #4
0
        public async Task <IActionResult> Add(InstructorInputViewModel viewModel)
        {
            IActionResult result = View();

            if (ModelState.IsValid)
            {
                using (var httpClient = ClientFactory.CreateClient("GeorestApi"))
                {
                    try
                    {
                        var georestClient = new GeorestClient(httpClient.BaseAddress.ToString(), httpClient);
                        await georestClient.AddInstructorAsync(viewModel);

                        result = RedirectToAction(nameof(Index));
                    }
                    catch (SwaggerException se)
                    {
                        ModelState.AddModelError("", se.Message);
                    }
                }
            }

            return(result);
        }
Example #5
0
        public async Task <ActionResult <InstructorViewModel> > UpdateInstructor(int id, InstructorInputViewModel viewModel)
        {
            if (viewModel == null)
            {
                return(BadRequest());
            }
            Instructor fetchedInstructor = await InstructorService.GetById(id).ConfigureAwait(false);

            if (fetchedInstructor == null)
            {
                return(NotFound());
            }

            Mapper.Map(viewModel, fetchedInstructor);
            await InstructorService.UpdateInstructor(fetchedInstructor).ConfigureAwait(false);

            return(NoContent());
        }