Ejemplo n.º 1
0
        public void TestToUpdatedEcaItinerary()
        {
            var model = new UpdatedItineraryBindingModel();

            model.ArrivalLocationId   = 1;
            model.DepartureLocationId = 2;
            model.EndDate             = DateTimeOffset.Now.AddDays(1.0);
            model.Name      = "name";
            model.StartDate = DateTimeOffset.Now.AddDays(10.0);
            model.Id        = 5;

            var projectId = 10;
            var userId    = 20;
            var user      = new User(userId);

            var instance = model.ToUpdatedEcaItinerary(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);
            Assert.AreEqual(model.Id, instance.Id);
        }
Ejemplo n.º 2
0
        public async Task TestPutUpdateItineraryAsync_InvalidModel()
        {
            controller.ModelState.AddModelError("key", "error");
            var model     = new UpdatedItineraryBindingModel();
            var projectId = 1;
            var response  = await controller.PutUpdateItineraryAsync(projectId, model);

            Assert.IsNotNull(response);
            Assert.IsInstanceOfType(response, typeof(InvalidModelStateResult));
        }
Ejemplo n.º 3
0
        public async Task TestPutUpdateItineraryAsync()
        {
            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.GetItineraryByIdAsync(It.IsAny <int>(), It.IsAny <int>())).ReturnsAsync(new ItineraryDTO());

            var model     = new UpdatedItineraryBindingModel();
            var projectId = 1;
            var response  = await controller.PutUpdateItineraryAsync(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.UpdateAsync(It.IsAny <UpdatedEcaItinerary>()), Times.Once());
            service.Verify(x => x.SaveChangesAsync(), Times.Once());
            service.Verify(x => x.GetItineraryByIdAsync(It.IsAny <int>(), It.IsAny <int>()), Times.Once());
        }
Ejemplo n.º 4
0
        public async Task <IHttpActionResult> PutUpdateItineraryAsync([FromUri] int id, [FromBody] UpdatedItineraryBindingModel model)
        {
            if (ModelState.IsValid)
            {
                var user         = this.userProvider.GetCurrentUser();
                var businessUser = this.userProvider.GetBusinessUser(user);
                await this.itineraryService.UpdateAsync(model.ToUpdatedEcaItinerary(id, businessUser));

                await this.itineraryService.SaveChangesAsync();

                var dto = await this.itineraryService.GetItineraryByIdAsync(id, model.Id);

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