public async Task TestPostSetItineraryParticipantsAsync() { 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); var model = new ItineraryStopParticipantsBindingModel(); var projectId = 1; var itineraryId = 2; var itineraryStopId = 3; Action <ItineraryStopParticipants> callback = (itineraryStopParicipants) => { Assert.AreEqual(projectId, itineraryStopParicipants.ProjectId); Assert.AreEqual(itineraryId, itineraryStopParicipants.ItineraryId); Assert.AreEqual(itineraryStopId, itineraryStopParicipants.ItineraryStopId); Assert.IsNotNull(itineraryStopParicipants.Audit.User); }; service.Setup(x => x.SetParticipantsAsync(It.IsAny <ItineraryStopParticipants>())).Returns(Task.FromResult <object>(null)).Callback(callback); var response = await controller.PostSetItineraryParticipantsAsync(itineraryId, projectId, itineraryStopId, model); Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(OkResult)); userProvider.Verify(x => x.GetCurrentUser(), Times.Once()); userProvider.Verify(x => x.GetBusinessUser(It.IsAny <IWebApiUser>()), Times.Once()); service.Verify(x => x.SetParticipantsAsync(It.IsAny <ItineraryStopParticipants>()), Times.Once()); service.Verify(x => x.SaveChangesAsync(), Times.Once()); }
public async Task TestTestPostSetItineraryParticipantsAsync_InvalidModel() { controller.ModelState.AddModelError("key", "error"); var model = new ItineraryStopParticipantsBindingModel(); var projectId = 1; var itineraryId = 2; var itineraryStopId = 3; var response = await controller.PostSetItineraryParticipantsAsync(itineraryId, projectId, itineraryStopId, model); Assert.IsNotNull(response); Assert.IsInstanceOfType(response, typeof(InvalidModelStateResult)); }
public void TestToItineraryStopParticipants() { var user = new User(1); var projectId = 1; var itineraryId = 2; var itineraryStopId = 3; var participantIds = new List <int> { 1, 2 }; var model = new ItineraryStopParticipantsBindingModel(); model.ParticipantIds = participantIds; var instance = model.ToItineraryStopParticipants(user, projectId, itineraryId, itineraryStopId); Assert.AreEqual(projectId, instance.ProjectId); Assert.AreEqual(itineraryId, instance.ItineraryId); Assert.AreEqual(itineraryStopId, instance.ItineraryStopId); CollectionAssert.AreEqual(instance.ParticipantIds.ToList(), participantIds.ToList()); }
public async Task <IHttpActionResult> PostSetItineraryParticipantsAsync(int itineraryId, int projectId, int itineraryStopId, [FromBody] ItineraryStopParticipantsBindingModel model) { if (ModelState.IsValid) { var user = this.userProvider.GetCurrentUser(); var businessUser = this.userProvider.GetBusinessUser(user); await this.itineraryStopService.SetParticipantsAsync(model.ToItineraryStopParticipants(businessUser, projectId, itineraryId, itineraryStopId)); await this.itineraryStopService.SaveChangesAsync(); return(Ok()); } else { return(BadRequest(ModelState)); } }