Skip to content

Commit 687ad3e

Browse files
authored
chore: removed validation rules (#1537)
chore: removed rules 62 and 94. Removed tests for 62, 94 and 51.
1 parent 8b8e65d commit 687ad3e

4 files changed

Lines changed: 2 additions & 177 deletions

File tree

application/CohortManager/src/Functions/ScreeningValidationService/StaticValidation/Breast_Screening_staticRules.json

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,6 @@
2626
}
2727
}
2828
},
29-
{
30-
"RuleName": "62.ValidateReasonForRemoval.NBO.NonFatal",
31-
"Expression": "!(participant.ReasonForRemoval == \"LDN\" AND string.IsNullOrEmpty(participant.SupersededByNhsNumber))",
32-
"Actions": {
33-
"OnFailure": {
34-
"Name": "OutputExpression",
35-
"Context": {
36-
"Expression": "\"Reason for removal and superseded NHS ID values incompatible\""
37-
}
38-
}
39-
}
40-
},
4129
{
4230
"RuleName": "53.CurrentPostingAndPrimaryCareProvider.NBO.NonFatal",
4331
"LocalParams": [
@@ -59,36 +47,6 @@
5947
}
6048
}
6149
}
62-
},
63-
{
64-
"RuleName": "94.EligibilityFlag.CaaS.NonFatal",
65-
"LocalParams": [
66-
{
67-
"Name": "newRecordType",
68-
"Expression": "participant.RecordType == Actions.New"
69-
},
70-
{
71-
"Name": "validNewEligibilityFlag",
72-
"Expression": "participant.EligibilityFlag != \"0\""
73-
},
74-
{
75-
"Name": "amendRecordType",
76-
"Expression": "participant.RecordType == Actions.Amended"
77-
},
78-
{
79-
"Name": "validAmendEligibilityFlag",
80-
"Expression": "(participant.EligibilityFlag == \"1\") OR (participant.EligibilityFlag == \"0\")"
81-
}
82-
],
83-
"Expression": "(newRecordType AND validNewEligibilityFlag) OR (amendRecordType AND validAmendEligibilityFlag)",
84-
"Actions": {
85-
"OnFailure": {
86-
"Name": "OutputExpression",
87-
"Context": {
88-
"Expression": "\"Invalid eligibility flag.\""
89-
}
90-
}
91-
}
9250
}
9351
]
9452
},
@@ -216,22 +174,5 @@
216174
}
217175
}
218176
]
219-
},
220-
{
221-
"WorkflowName": "DEL",
222-
"Rules": [
223-
{
224-
"RuleName": "94.EligibilityFlag.CaaS.NonFatal",
225-
"Expression": "participant.EligibilityFlag == \"0\"",
226-
"Actions": {
227-
"OnFailure": {
228-
"Name": "OutputExpression",
229-
"Context": {
230-
"Expression": "\"Invalid eligibility flag.\""
231-
}
232-
}
233-
}
234-
}
235-
]
236177
}
237178
]

application/CohortManager/src/Functions/Shared/Model/Enums/ExceptionCategory.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ public enum ExceptionCategory
99
File = 5,
1010
NilReturnFile = 7,
1111
DeleteRecord = 8,
12-
ParticipantLocationRemainingOutsideOfCohort = 9,
1312
Schema = 10,
1413
TransformExecuted = 11,
1514
Confusion = 12,

tests/UnitTests/ScreeningValidationServiceTests/LookupValidation/LookupValidationTests.cs

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -266,52 +266,17 @@ public async Task Run_AmendedParticipantHasValidBSO_ReturnNoContent(string reaso
266266
}
267267
#endregion
268268

269-
[TestMethod]
270-
[DataRow("DMS", "ValidPCP", "", "ABC", "ExcludedPCP", "")] //Valid -> Valid
271-
[DataRow("ABC", null, "ABC", "ABC", null, "ENGLAND")]// Valid -> Valid
272-
[DataRow("ABC", "ExcludedPCP", "ABC", "ABC", "ExcludedPCP", "ENGLAND")] //Valid -> Valid
273-
[DataRow("DMS", "ExcludedPCP", "", "ABC", "ValidPCP", "ENGLAND")] // DMS Invalid -> Valid
274-
[DataRow("ABC", "ValidPCP", "", "DMS", "ExcludedPCP", "ENGLAND")] // Valid -> DMS Invalid
275-
[DataRow("DMS", "ValidPCP", "", "ABC", "ExcludedPCP", "WALES")] // Valid -> Wales Invalid
276-
[DataRow("CYM", "ValidPCP", "WALES", "ABC", "ExcludedPCP", "ENGLAND")] // Wales Invalid -> Valid
277-
[DataRow("DMS", "ValidPCP", "", null, "ExcludedPCP", "WALES")] // Valid -> Wales Invalid (Null current posting)
278-
[DataRow(null, "ValidPCP", "WALES", "ABC", "ExcludedPCP", "ENGLAND")] // Wales Invalid -> Valid (Null current posting)
279-
public async Task Run_ParticipantLocationRemainingOutsideOfCohort_ReturnNoContent(string existingCurrentPosting, string existingPrimaryCareProvider, string existingPostingCategory, string newCurrentPosting, string newPrimaryCareProvider, string newPostingCategory)
280-
{
281-
// Arrange
282-
_requestBody.NewParticipant.RecordType = Actions.Amended;
283-
_requestBody.NewParticipant.CurrentPosting = newCurrentPosting;
284-
_requestBody.NewParticipant.PrimaryCareProvider = newPrimaryCareProvider;
285-
_requestBody.ExistingParticipant.CurrentPosting = existingCurrentPosting;
286-
_requestBody.ExistingParticipant.PrimaryCareProvider = existingPrimaryCareProvider;
287-
288-
var json = JsonSerializer.Serialize(_requestBody);
289-
SetUpRequestBody(json);
290-
291-
_lookupValidation.Setup(x => x.CheckIfPrimaryCareProviderInExcludedSmuList(newPrimaryCareProvider)).Returns(newPrimaryCareProvider == "ExcludedPCP");
292-
_lookupValidation.Setup(x => x.CheckIfPrimaryCareProviderInExcludedSmuList(existingPrimaryCareProvider)).Returns(existingPrimaryCareProvider == "ExcludedPCP");
293-
_lookupValidation.Setup(x => x.RetrievePostingCategory(newCurrentPosting)).Returns(newPostingCategory);
294-
_lookupValidation.Setup(x => x.RetrievePostingCategory(existingCurrentPosting)).Returns(existingPostingCategory);
295-
296-
// Act
297-
var response = await _sut.RunAsync(_request.Object);
298-
string body = await AssertionHelper.ReadResponseBodyAsync(response);
299-
300-
// Assert
301-
Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode);
302-
}
303-
304269
[TestMethod]
305270
[DataRow("DMS", "Z00000")]
306271
[DataRow("ENG", "Z00000")]
307272
[DataRow("IM", "Z00000")]
273+
308274
public async Task Run_ParticipantLocationRemainingOutsideOfCohortAndNotInExcludedSMU_ReturnValidationException(string newCurrentPosting, string newPrimaryCareProvider)
309275
{
310276
// Arrange
311277
_requestBody.NewParticipant.RecordType = Actions.New;
312278
_requestBody.NewParticipant.CurrentPosting = newCurrentPosting;
313279
_requestBody.NewParticipant.PrimaryCareProvider = newPrimaryCareProvider;
314-
315280

316281
var json = JsonSerializer.Serialize(_requestBody);
317282
SetUpRequestBody(json);

tests/UnitTests/ScreeningValidationServiceTests/StaticValidation/StaticValidationTests.cs

Lines changed: 1 addition & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
namespace NHS.CohortManager.Tests.UnitTests.ScreeningValidationServiceTests;
2+
23
using System.Net;
34
using System.Text;
45
using System.Text.Json;
@@ -603,47 +604,6 @@ public async Task Run_InvalidInterpreterRequiredFlag_ReturnValidationExcpetion(s
603604
}
604605
#endregion
605606

606-
#region Validate Reason For Removal (Rule 62)
607-
[TestMethod]
608-
[DataRow("123456", "LDN", null)]
609-
[DataRow(null, "ABC", null)]
610-
[DataRow(null, null, "EC12AB")]
611-
public async Task Run_ValidRfr_ReturnNoContent(string? supersededByNhsNumber, string? ReasonForRemoval, string? pcp)
612-
{
613-
// Arrange
614-
_participantCsvRecord.Participant.SupersededByNhsNumber = supersededByNhsNumber;
615-
_participantCsvRecord.Participant.ReasonForRemoval = ReasonForRemoval;
616-
_participantCsvRecord.Participant.PrimaryCareProvider = pcp;
617-
_participantCsvRecord.Participant.RecordType = Actions.Amended;
618-
619-
var json = JsonSerializer.Serialize(_participantCsvRecord);
620-
SetUpRequestBody(json);
621-
622-
// Act
623-
var response = await _function.RunAsync(_request.Object);
624-
625-
// Assert
626-
Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode);
627-
}
628-
629-
[TestMethod]
630-
[DataRow(null, "LDN")]
631-
public async Task Run_InvalidRfr_ReturnValidationException(string? supersededByNhsNumber, string ReasonForRemoval)
632-
{
633-
// Arrange
634-
_participantCsvRecord.Participant.SupersededByNhsNumber = supersededByNhsNumber;
635-
_participantCsvRecord.Participant.ReasonForRemoval = ReasonForRemoval;
636-
var json = JsonSerializer.Serialize(_participantCsvRecord);
637-
SetUpRequestBody(json);
638-
639-
// Act
640-
var response = await _function.RunAsync(_request.Object);
641-
string body = await AssertionHelper.ReadResponseBodyAsync(response);
642-
643-
// Assert
644-
StringAssert.Contains(body, "62.ValidateReasonForRemoval.NBO.NonFatal");
645-
}
646-
#endregion
647607
private void SetUpRequestBody(string json)
648608
{
649609
var byteArray = Encoding.ASCII.GetBytes(json);
@@ -693,46 +653,6 @@ public async Task Run_CompatibleCurrentPostingAndPrimaryCareProvider_ReturnNoCon
693653
}
694654
#endregion
695655

696-
#region Validate Eligibility Flag as per Record Type (Rule 94)
697-
[TestMethod]
698-
[DataRow(Actions.New, "0")]
699-
[DataRow(Actions.Removed, "1")]
700-
public async Task Run_InvalidEligibilityFlag_ReturnValidationException(string recordType, string eligibilityFlag)
701-
{
702-
// Arrange
703-
_participantCsvRecord.Participant.RecordType = recordType;
704-
_participantCsvRecord.Participant.EligibilityFlag = eligibilityFlag;
705-
var json = JsonSerializer.Serialize(_participantCsvRecord);
706-
SetUpRequestBody(json);
707-
708-
// Act
709-
var response = await _function.RunAsync(_request.Object);
710-
string body = await AssertionHelper.ReadResponseBodyAsync(response);
711-
712-
// Assert
713-
StringAssert.Contains(body, "94.EligibilityFlag.CaaS.NonFatal");
714-
}
715-
716-
[TestMethod]
717-
[DataRow(Actions.New, "1")]
718-
[DataRow(Actions.Removed, "0")]
719-
[DataRow(Actions.Amended, "1")]
720-
public async Task Run_ValidEligibilityFlag_ReturnNoContent(string recordType, string eligibilityFlag)
721-
{
722-
// Arrange
723-
_participantCsvRecord.Participant.RecordType = recordType;
724-
_participantCsvRecord.Participant.EligibilityFlag = eligibilityFlag;
725-
var json = JsonSerializer.Serialize(_participantCsvRecord);
726-
SetUpRequestBody(json);
727-
728-
// Act
729-
var response = await _function.RunAsync(_request.Object);
730-
731-
// Assert
732-
Assert.AreEqual(HttpStatusCode.NoContent, response.StatusCode);
733-
}
734-
#endregion
735-
736656
[TestMethod]
737657
public async Task Run_ValidParticipantFile_ReturnNoContent()
738658
{

0 commit comments

Comments
 (0)