public async Task ValidateImmunosuppression_ReturnsExpectedResult(string status, bool isOther, string description, string validationResult) { // Arrange var initialPage = await Client.GetAsync(GetCurrentPathForId(Utilities.NOTIFIED_ID)); var initialDocument = await GetDocumentAsync(initialPage); var request = new ImmunosuppressionValidationModel { ImmunosuppressionStatus = status, HasOther = isOther, OtherDescription = description }; // Act var response = await Client.SendVerificationPostAsync( initialPage, initialDocument, GetHandlerPath(null, "ValidateImmunosuppression", Utilities.NOTIFIED_ID), request); // Assert var result = await response.Content.ReadAsStringAsync(); if (!string.IsNullOrEmpty(result)) { var mappedResult = JsonConvert.DeserializeObject <Dictionary <string, string> >(result); result = result.Contains("Status") ? mappedResult["ImmunosuppressionDetails.Status"] : mappedResult["ImmunosuppressionDetails.OtherDescription"]; } Assert.Equal(validationResult, result); }
public IActionResult OnPostValidateImmunosuppression([FromBody] ImmunosuppressionValidationModel validationData) { var parsedStatus = string.IsNullOrEmpty(validationData.ImmunosuppressionStatus) ? null : (Status?)Enum.Parse(typeof(Status), validationData.ImmunosuppressionStatus); var model = new ImmunosuppressionDetails { Status = parsedStatus, HasBioTherapy = validationData.HasBioTherapy, HasTransplantation = validationData.HasTransplantation, HasOther = validationData.HasOther, OtherDescription = string.IsNullOrEmpty(validationData.OtherDescription) ? null : validationData.OtherDescription }; return(ValidationService.GetFullModelValidationResult(model)); }