public void GetCategories_VariableDoesNotExist_ReturnsEmpty() { ClarityDB.Instance = new FakeDB(); var variable = Presto.Persist <NumericVariable>(); var service = new CategoryService(); RestApiResult result = service.GetCategoriesByVariable(variable.ID); Assert.AreEqual(0, result.Json.Count()); }
public void GetCategories_VariableHasOneCategory_ReturnsOneCategorie() { ClarityDB.Instance = new FakeDB(); var category = Presto.Persist <NumericCategory>(); var service = new CategoryService(); RestApiResult result = service.GetCategoriesByVariable(category.VariableID); Assert.AreEqual(1, result.Json.Count()); }
public void GetCategoriesByVariable_VariableExists_ReturnsOK() { ClarityDB.Instance = new FakeDB(); var variable = Presto.Persist <NumericVariable>(); var service = new CategoryService(); RestApiResult result = service.GetCategoriesByVariable(variable.ID); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); }
public void GetCategories_VariableHasOneCategory_ReturnsCorrectCategory() { ClarityDB.Instance = new FakeDB(); var category = Presto.Persist <NumericCategory>(); var service = new CategoryService(); RestApiResult result = service.GetCategoriesByVariable(category.VariableID); var json = result.Json.First(); Assert.AreEqual(category.ID, json.Value <long>("id")); Assert.AreEqual(category.Label, json.Value <string>("label")); }
public void GetCategories_VariableHasManyCategories_ReturnsCollectionSortedByLabel() { ClarityDB.Instance = new FakeDB(); var category1 = Presto.Persist <NumericCategory>(x => { x.NumericValue = 0; x.Label = "Male"; }); var category2 = Presto.Persist <NumericCategory>(x => { x.NumericValue = 1; x.Label = "Female"; x.Variable = category1.Variable; x.Variable.Categories.Add(x); }); var service = new CategoryService(); RestApiResult result = service.GetCategoriesByVariable(category1.VariableID); Assert.AreEqual(category2.Label, result.Json.First().Value <string>("label")); Assert.AreEqual(category1.Label, result.Json.ElementAt(1).Value <string>("label")); }
public void OnActionExecuted(ActionExecutedContext context) { var result = context.Result as JsonResult; if (result != null) { var restResult = new RestApiResult { Code = 200, Data = result.Value }; context.Result = new JsonResult(restResult); } }
public void OnException(ExceptionContext context) { var error = context.Exception; if (error != null) { var restResult = new RestApiResult { Code = 500, Data = error.Message }; context.Result = new JsonResult(restResult); } }
public IActionResult Get() { var testModelNs = typeof(ComplexModel).FullName; var testModelAsmName = typeof(ComplexModel).Assembly.GetName().Name; var result = new RestApiResult(); var url = Url.Action("get", "stubmiddleware", new { className = $"{testModelNs}, {testModelAsmName}", subItemlistSize = 3, culture = "en-us" }); result.Links.Add(new LinkInfo() { Href = url, Method = "GET", Rel = "self" }); var urlList = Url.Action("list", "stubmiddleware", new { className = $"{testModelNs}, {testModelAsmName}", subItemlistSize = 3, culture = "en-us", listSize = 10 }); result.Links.Add(new LinkInfo() { Href = urlList, Method = "GET", Rel = "self" }); return(Ok(result)); }
public void OnException(ExceptionContext context) { if (context.Exception.GetType() == typeof(ValidationException)) { var validationResult = new RestApiResult <object>(); validationResult.HandleValidation((ValidationException)context.Exception); context.Result = new BadRequestObjectResult(validationResult); } else if (context.Exception.GetType() == typeof(DuplicateIdException)) { var validationResult = new RestApiResult <object>(); validationResult.HandleBusinessException(context.Exception); context.Result = new BadRequestObjectResult(validationResult); } else if (context.Exception.GetType() == typeof(DocumentNotFoundException)) { var response = new NotFoundObjectResult(new { context.Exception.Message }); context.Result = response; } else if (context.Exception.GetType() == typeof(DocumentTypeNotFoundException)) { var response = new NotFoundObjectResult(new { context.Exception.Message }); context.Result = response; } else if (context.Exception.GetType() == typeof(ProjectNotFoundException)) { var response = new NotFoundObjectResult(new { context.Exception.Message }); context.Result = response; } else { var unhandledExceptionResult = new RestApiResult <object>(); unhandledExceptionResult.HandleException(context.Exception); context.Result = new ObjectResult(unhandledExceptionResult); } context.ExceptionHandled = true; _logger.LogError($"Exception occured while process document.", context.Exception); }
public void IsSuccessCode_NotBetween200And300_False(HttpStatusCode statusCode) { var target = new RestApiResult <string>(statusCode, content: null, reasonPhrase: null); Assert.False(target.IsSuccessStatusCode); }