public static void ValidateViewModel(this Api.Controllers.BaseController controller, object viewModelToValidate) { var validationContext = new ValidationContext(viewModelToValidate, null, null); var validationResults = new List <ValidationResult>(); Validator.TryValidateObject(viewModelToValidate, validationContext, validationResults, true); foreach (var validationResult in validationResults) { controller.ModelState.AddModelError(validationResult.MemberNames.FirstOrDefault() ?? string.Empty, validationResult.ErrorMessage); } }
// Additional Extension Methods private Api.Controllers.BaseController InitController() { var controller = new Api.Controllers.BaseController(); var controllerContext = new HttpControllerContext(); var request = new HttpRequestMessage(); var configuration = new HttpConfiguration(); var requestContext = new HttpRequestContext(); // Adding header request.Headers.Add("test", "test"); controllerContext.Request = request; controllerContext.RequestContext = requestContext; controller.ControllerContext = controllerContext; controller.Configuration = configuration; return(controller); }
public void BaseControllerTest() { Api.Configuration.ISettings settings = new Api.Configuration.Settings(); var controller = new Api.Controllers.BaseController(settings); }