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(); }
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(); }
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); }
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()); }