public async Task IfDateTooEarly_ValidateTestResultForEditDate_ReturnsEarliestDateErrorMessage(bool isEdit) { // Arrange const int notificationId = Utilities.NOTIFICATION_WITH_MANUAL_TESTS; var notificationSubPath = isEdit ? NotificationSubPaths.EditManualTestResult(10) : NotificationSubPaths.AddManualTestResult; var url = GetPathForId($"{notificationSubPath}", notificationId, null); var initialPage = await Client.GetAsync(url); var initialDocument = await GetDocumentAsync(initialPage); var request = new DateValidationModel { Key = "TestDate", Day = "1", Month = "1", Year = "1899" }; const string handlerPath = "ValidateTestResultForEditDate"; var endpointUrl = $"{url}/{handlerPath}"; // Act var response = await Client.SendVerificationPostAsync( initialPage, initialDocument, endpointUrl, request); // Assert var result = await response.Content.ReadAsStringAsync(); Assert.Equal(ValidationMessages.DateValidityRangeStart("Test date", "01/01/2010"), result); }
public async Task AcceptTransferAlert_ReturnsPageWithModelErrors_IfDateInvalid() { // Arrange const int id = Utilities.NOTIFICATION_WITH_TRANSFER_REQUEST_TO_ACCEPT; var url = GetCurrentPathForId(id); var initialDocument = await GetDocumentForUrlAsync(url); var formData = new Dictionary <string, string> { ["TransferRequest.AcceptTransfer"] = "true", ["FormattedTransferDate.Day"] = "1", ["FormattedTransferDate.Month"] = "11", ["FormattedTransferDate.Year"] = "101", ["TransferRequest.TargetCaseManagerId"] = Utilities.CASEMANAGER_ABINGDON_ID.ToString(), ["TransferRequest.TargetHospitalId"] = Utilities.HOSPITAL_ABINGDON_COMMUNITY_HOSPITAL_ID }; // Act var result = await Client.SendPostFormWithData(initialDocument, formData, url); // Assert var resultDocument = await GetDocumentAsync(result); resultDocument.AssertErrorMessage("transfer-date", ValidationMessages.DateValidityRangeStart("Transfer date", ValidDates.EarliestAllowedDate)); }
public async Task IfDateTooEarly_ValidateTestResultForEditDate_ReturnsEarliestDateErrorMessage(bool isEdit) { // Arrange var formData = new Dictionary <string, string> { ["key"] = "TestDate", ["day"] = "1", ["month"] = "1", ["year"] = "1899" }; const string handlerPath = "ValidateTestResultForEditDate"; var notificationSubPath = isEdit ? NotificationSubPath : NotificationSubPaths.AddManualTestResult; var endpointPath = $"{notificationSubPath}/{handlerPath}"; var endpointUrl = GetPathForId($"{endpointPath}", Utilities.NOTIFIED_ID, formData); // Act var response = await Client.GetAsync(endpointUrl); // Assert var result = await response.Content.ReadAsStringAsync(); Assert.Equal(ValidationMessages.DateValidityRangeStart("Test date", "01/01/2010"), result); }
public async Task ImportValidatorValidatesBaseModels() { // Arrange var notification = CreateBasicNotification(); notification.MDRDetails = new MDRDetails { RelationshipToCase = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }; notification.PatientDetails = new PatientDetails { FamilyName = "<>Davis<>" }; notification.ClinicalDetails = new ClinicalDetails { DiagnosisDate = new DateTime(2000, 1, 1) }; notification.TravelDetails = new TravelDetails { HasTravel = Status.Yes, TotalNumberOfCountries = 51 }; notification.ImmunosuppressionDetails = new ImmunosuppressionDetails { HasOther = true, OtherDescription = "<>££<>" }; notification.HospitalDetails = new HospitalDetails { Consultant = "<>£Fred£<>" }; notification.VisitorDetails = new VisitorDetails { HasVisitor = Status.Yes, StayLengthInMonths1 = 3 }; notification.ContactTracing = new ContactTracing { AdultsIdentified = -1 }; notification.PreviousTbHistory = new PreviousTbHistory { PreviousTbDiagnosisYear = 1899 }; notification.MBovisDetails.MBovisExposureToKnownCases = new List <MBovisExposureToKnownCase> { new MBovisExposureToKnownCase() }; notification.MBovisDetails.ExposureToKnownCasesStatus = Status.No; notification.DrugResistanceProfile = new DrugResistanceProfile { Species = "M. bovis" }; // Act var validationResults = await _importValidator.CleanAndValidateNotification(null, RunId, notification); // Assert var errorMessages = validationResults.Select(r => r.ErrorMessage).ToList(); Assert.Contains("MDR details: The field Relationship of the current case to the contact must be a string or array type with a maximum length of '90'.", errorMessages); Assert.Contains("Personal details: " + String.Format(ValidationMessages.StandardStringFormat, "Family name"), errorMessages); Assert.Contains("Clinical details: " + ValidationMessages.DateValidityRangeStart("Diagnosis date", "01/01/2010"), errorMessages); Assert.Contains("Travel details: The field total number of countries must be between 1 and 50.", errorMessages); Assert.Contains("Immunosuppression: " + String.Format(ValidationMessages.InvalidCharacter, "Immunosuppression type description"), errorMessages); Assert.Contains("Hospital details: " + String.Format(ValidationMessages.InvalidCharacter, "Consultant"), errorMessages); Assert.Contains("Visitor details: " + ValidationMessages.TravelOrVisitDurationHasCountry, errorMessages); Assert.Contains("Previous history: " + ValidationMessages.ValidYear, errorMessages); Assert.Contains("M. bovis - exposure to another case: " + String.Format(ValidationMessages.RequiredSelect, "Exposure setting"), errorMessages); }