Beispiel #1
0
        /// <summary>
        /// Mimick DI in a similar fashion to MVC and obtain a controller instance
        /// </summary>
        private DefaultApiController InitController(string method = "GET")
        {
            IShippingRepository repo = _provider.GetRequiredService <IShippingRepository>();
            var controller           = new DefaultApiController(repo);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            controller.HttpContext.Request.Method    = method;
            return(controller);
        }
Beispiel #2
0
        /// <summary>
        /// Helper that creates and validates a trip (returning its ID)
        /// </summary>
        private int CreateTrip(DefaultApiController controller, ViewModels.TripCreationDetails details)
        {
            // Test the result
            var result = controller.CreateTrip(details) as StatusCodeResult;

            Assert.Equal((int)HttpStatusCode.Created, result.StatusCode);

            // Check response headers
            Assert.True(controller.ControllerContext.HttpContext.Response.Headers.ContainsKey("location"));

            var location = controller.ControllerContext.HttpContext.Response.Headers["location"].ToString();
            var format   = location.StartsWith("/trips/");
            var tripId   = 0;

            Assert.True(format);
            Assert.True(int.TryParse(location.Replace("/trips/", ""), out tripId));
            Assert.True(tripId > 0);
            return(tripId);
        }