public async Task TestPutUpdateItineraryStopAsync_InvalidModel()
        {
            var projectId   = 1;
            var itineraryId = 2;
            var model       = new UpdatedEcaItineraryStopBindingModel();

            controller.ModelState.AddModelError("key", "error");
            var response = await controller.PutUpdateItineraryStopAsync(projectId, itineraryId, model);

            Assert.IsNotNull(response);
            Assert.IsInstanceOfType(response, typeof(InvalidModelStateResult));
        }
        public async Task TestPutUpdateItineraryStopAsync()
        {
            service.Setup(x => x.CreateAsync(It.IsAny <AddedEcaItineraryStop>())).ReturnsAsync(new ItineraryStop());
            service.Setup(x => x.GetItineraryStopByIdAsync(It.IsAny <int>())).ReturnsAsync(new ItineraryStopDTO());

            var projectId   = 1;
            var itineraryId = 2;
            var model       = new UpdatedEcaItineraryStopBindingModel();
            var results     = await controller.PutUpdateItineraryStopAsync(projectId, itineraryId, model);

            service.Verify(x => x.UpdateAsync(It.IsAny <UpdatedEcaItineraryStop>()), Times.Once());
            service.Verify(x => x.SaveChangesAsync(), Times.Once());
            service.Verify(x => x.GetItineraryStopByIdAsync(It.IsAny <int>()), Times.Once());
            userProvider.Verify(x => x.GetCurrentUser(), Times.Once());
            userProvider.Verify(x => x.GetBusinessUser(It.IsAny <IWebApiUser>()), Times.Once());
        }
        public void TestToUpdatedEcaItineraryStop()
        {
            var user      = new User(1);
            var projectId = 20;
            var model     = new UpdatedEcaItineraryStopBindingModel();

            model.ArrivalDate           = DateTimeOffset.Now.AddDays(1.0);
            model.DepartureDate         = DateTimeOffset.Now.AddDays(10.0);
            model.DestinationLocationId = 1;
            model.Name            = "name";
            model.ItineraryStopId = 10;
            model.TimezoneId      = "timezone";

            var instance = model.ToUpdatedEcaItineraryStop(user, projectId);

            Assert.AreEqual(projectId, instance.ProjectId);
            Assert.AreEqual(model.ItineraryStopId, instance.ItineraryStopId);
            Assert.AreEqual(model.ArrivalDate, instance.ArrivalDate);
            Assert.AreEqual(model.DepartureDate, instance.DepartureDate);
            Assert.AreEqual(model.DestinationLocationId, instance.DestinationLocationId);
            Assert.AreEqual(model.Name, instance.Name);
            Assert.AreEqual(model.TimezoneId, instance.TimezoneId);
        }
Beispiel #4
0
        public async Task <IHttpActionResult> PutUpdateItineraryStopAsync(int projectId, int itineraryId, [FromBody] UpdatedEcaItineraryStopBindingModel model)
        {
            if (ModelState.IsValid)
            {
                var currentUser  = this.userProvider.GetCurrentUser();
                var businessUser = this.userProvider.GetBusinessUser(currentUser);
                await this.itineraryStopService.UpdateAsync(model.ToUpdatedEcaItineraryStop(businessUser, projectId));

                await this.itineraryStopService.SaveChangesAsync();

                var dto = await this.itineraryStopService.GetItineraryStopByIdAsync(model.ItineraryStopId);

                return(Ok(dto));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }