public async Task TestPostCreateItineraryAsync_InvalidModel() { controller.ModelState.AddModelError("key", "error"); var model = new AddedItineraryBindingModel(); var projectId = 1; var response = await controller.PostCreateItineraryAsync(projectId, model); Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(InvalidModelStateResult)); }
public async Task TestPostCreateItineraryAsync() { var debugUser = new DebugWebApiUser(); var businessUser = new User(1); userProvider.Setup(x => x.GetCurrentUser()).Returns(debugUser); userProvider.Setup(x => x.GetBusinessUser(It.IsAny <IWebApiUser>())).Returns(businessUser); service.Setup(x => x.CreateAsync(It.IsAny <AddedEcaItinerary>())).ReturnsAsync(new Itinerary()); service.Setup(x => x.GetItineraryByIdAsync(It.IsAny <int>(), It.IsAny <int>())).ReturnsAsync(new ItineraryDTO()); var model = new AddedItineraryBindingModel(); var projectId = 1; var response = await controller.PostCreateItineraryAsync(projectId, model); Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(OkNegotiatedContentResult <ItineraryDTO>)); userProvider.Verify(x => x.GetCurrentUser(), Times.Once()); userProvider.Verify(x => x.GetBusinessUser(It.IsAny <IWebApiUser>()), Times.Once()); service.Verify(x => x.CreateAsync(It.IsAny <AddedEcaItinerary>()), Times.Once()); service.Verify(x => x.SaveChangesAsync(), Times.Once()); service.Verify(x => x.GetItineraryByIdAsync(It.IsAny <int>(), It.IsAny <int>()), Times.Once()); }
public void TestToAddedEcaItinerary() { var model = new AddedItineraryBindingModel(); model.ArrivalLocationId = 1; model.DepartureLocationId = 2; model.EndDate = DateTimeOffset.Now.AddDays(1.0); model.Name = "name"; model.StartDate = DateTimeOffset.Now.AddDays(10.0); var projectId = 10; var userId = 20; var user = new User(userId); var instance = model.ToAddedEcaItinerary(projectId, user); Assert.IsTrue(Object.ReferenceEquals(user, instance.Audit.User)); Assert.AreEqual(projectId, instance.ProjectId); Assert.AreEqual(model.ArrivalLocationId, instance.ArrivalLocationId); Assert.AreEqual(model.DepartureLocationId, instance.DepartureLocationId); Assert.AreEqual(model.EndDate, instance.EndDate); Assert.AreEqual(model.Name, instance.Name); Assert.AreEqual(model.StartDate, instance.StartDate); }
public async Task <IHttpActionResult> PostCreateItineraryAsync([FromUri] int id, [FromBody] AddedItineraryBindingModel model) { if (ModelState.IsValid) { var user = this.userProvider.GetCurrentUser(); var businessUser = this.userProvider.GetBusinessUser(user); var itinerary = await this.itineraryService.CreateAsync(model.ToAddedEcaItinerary(id, businessUser)); await this.itineraryService.SaveChangesAsync(); var dto = await this.itineraryService.GetItineraryByIdAsync(id, itinerary.ItineraryId); return(Ok(dto)); } else { return(BadRequest(ModelState)); } }