예제 #1
0
        public async Task CreateTransportUpdatesBudget()
        {
            //Arrange
            TestTrekStoriesContext tc = new TestTrekStoriesContext();
            Trip trip = new Trip {
                TripId = 1, TotalCost = 10, StartDate = new DateTime(2018, 7, 15, 9, 30, 0), TripOwner = "User1"
            };
            Step step = new Step {
                StepId = 2, TripId = 1, Trip = trip, SequenceNo = 1
            };

            tc.Trips.Add(trip);
            tc.Steps.Add(step);
            Transport transportToCreate = new Transport()
            {
                Name = "Train to Paris", StartTime = new DateTime(2018, 7, 16, 9, 30, 0), Duration = 120, Price = 23, StepId = 2, Step = step
            };
            ActivitiesController controller = new ActivitiesController(tc).WithAuthenticatedUser("User1");
            // Act
            var result = await controller.EditTransport(transportToCreate) as RedirectToRouteResult;

            // Assert
            Assert.AreEqual("Details", result.RouteValues["action"]);
            Assert.AreEqual("Step", result.RouteValues["controller"]);
            Assert.AreEqual(33, trip.TotalCost);
            Assert.AreEqual(new DateTime(2018, 7, 15, 11, 30, 0), transportToCreate.GetArrivalTime());
        }
예제 #2
0
        public async Task EditTransportUpdatesBudget()
        {
            // Arrange - create mock repository
            TestTrekStoriesContext tc = new TestTrekStoriesContext();

            // Arrange - create a transport
            Trip trip = new Trip {
                TripId = 321, TotalCost = 100, TripOwner = "User1"
            };
            Transport transport = new Transport()
            {
                ID = 1, Name = "Bus Transportation", Price = 60
            };

            transport.Step = new Step {
                StepId = 123, Trip = trip
            };
            tc.Trips.Add(trip);
            tc.Activities.Add(transport);
            Transport updatedTransport = new Transport()
            {
                ID          = 1,
                Name        = "Name Change",
                Destination = "Roma",
                Duration    = 20,
                StartTime   = new DateTime(2018, 8, 1, 9, 30, 0),
                Price       = 50
            };
            // Arrange - create the controller
            ActivitiesController controller = new ActivitiesController(tc).WithAuthenticatedUser("User1");
            // Act - try to save the activity
            ActionResult result = await controller.EditTransport(updatedTransport);

            // Assert - check the trip budget updated
            Assert.AreEqual(90, trip.TotalCost);
        }