Esempio n. 1
0
        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));
        }