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));
        }
Exemplo n.º 3
0
        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());
        }
Exemplo n.º 4
0
        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));
            }
        }