Skip to content

Commit e7b00a6

Browse files
feat: ServicenowVariableData updated values, namespace updated (#1813)
* feat: ServicenowVariableData updated values, namespace updated * test: Added test for new scenarios * chore: inferred usage
1 parent f9d8560 commit e7b00a6

File tree

5 files changed

+20
-15
lines changed

5 files changed

+20
-15
lines changed

application/CohortManager/src/Functions/ParticipantManagementServices/ManageServiceNowParticipant/ManageServiceNowParticipantFunction.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ namespace NHS.CohortManager.ParticipantManagementServices;
1212
using Microsoft.Extensions.Logging;
1313
using Microsoft.Extensions.Options;
1414
using Model;
15+
using Model.Constants;
1516
using Model.Enums;
1617

1718
public class ManageServiceNowParticipantFunction

application/CohortManager/src/Functions/ServiceNowIntegration/ServiceNowMessageHandler/Models/ServiceNowVariableData.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ namespace NHS.CohortManager.ServiceNowIntegrationService.Models;
22

33
using System.ComponentModel.DataAnnotations;
44
using System.Text.Json.Serialization;
5-
using Model;
5+
using Model.Constants;
66

77
public class ServiceNowVariableData
88
{
99
[Required]
10-
[JsonPropertyName("forename_")]
10+
[JsonPropertyName("forename")]
1111
public required string FirstName { get; set; }
1212
[Required]
1313
[JsonPropertyName("surname_family_name")]
@@ -21,7 +21,7 @@ public class ServiceNowVariableData
2121
[JsonPropertyName("BSO_code")]
2222
public required string BsoCode { get; set; }
2323
[JsonPropertyName("reason_for_adding")]
24-
[AllowedValues([ServiceNowReasonsForAdding.VeryHighRisk, ServiceNowReasonsForAdding.RequiresCeasing, ServiceNowReasonsForAdding.RoutineScreening])]
24+
[AllowedValues([ServiceNowReasonsForAdding.VeryHighRisk, ServiceNowReasonsForAdding.RequiresCeasing, ServiceNowReasonsForAdding.RoutineScreening, ServiceNowReasonsForAdding.OverAgeSelfReferral])]
2525
public required string ReasonForAdding { get; set; }
2626
[JsonPropertyName("enter_dummy_gp_code")]
2727
public string? RequiredGpCode { get; set; }
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
namespace Model;
1+
namespace Model.Constants;
22

33
public static class ServiceNowReasonsForAdding
44
{
55
public const string VeryHighRisk = "eligible_for_very_high_risk_breast_screening_referral_form_must_be_attached";
66
public const string RequiresCeasing = "requires_ceasing_following_surgery_bilateral_mastectomy";
77
public const string RoutineScreening = "eligible_for_routine_screening_but_not_registered_with_a_gp_practice";
8+
public const string OverAgeSelfReferral = "over_age_self_referral";
89
}

tests/UnitTests/ParticipantManagementServicesTests/ManageServiceNowParticipantTests/ManageServiceNowParticipantFunctionTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using Microsoft.Extensions.Logging;
1010
using Microsoft.Extensions.Options;
1111
using Model;
12+
using Model.Constants;
1213
using Model.Enums;
1314
using Moq;
1415
using NHS.CohortManager.ParticipantManagementServices;

tests/UnitTests/ServiceNowMessageHandlerTests/ReceiveServiceNowMessageFunctionTests.cs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ namespace NHS.CohortManager.Tests.UnitTests.ServiceNowMessageHandlerTests;
1212
using Model;
1313
using Microsoft.Extensions.Options;
1414
using DataServices.Client;
15+
using Model.Constants;
1516

1617
[TestClass]
1718
public class ReceiveServiceNowMessageFunctionTests
@@ -57,6 +58,7 @@ public ReceiveServiceNowMessageFunctionTests()
5758
[DataRow("CS123", "1234567890", "Charlie", "Bloggs", "1970-01-01", "ABC", ServiceNowReasonsForAdding.VeryHighRisk, null)]
5859
[DataRow("CS123", "1234567890", "Charlie", "Bloggs", "1970-12-31", "ABC", ServiceNowReasonsForAdding.RequiresCeasing, "")]
5960
[DataRow("CS123", "1234567890", "Charlie", "Bloggs", "1970-01-01", "ABC", ServiceNowReasonsForAdding.RoutineScreening, "ZZZ")]
61+
[DataRow("CS123", "1234567890", "Charlie", "Bloggs", "1985-06-15", "ABC", ServiceNowReasonsForAdding.OverAgeSelfReferral, "ZZZ")]
6062
public async Task Run_WhenRequestIsValidAndCaseSuccessfullySavedToDbAndMessageSuccessfullySentToServiceBus_ReturnsAccepted(
6163
string caseNumber, string nhsNumber, string forename, string familyName, string dateOfBirth, string bsoCode, string reasonForAdding, string dummyGpCode)
6264
{
@@ -148,11 +150,11 @@ public async Task Run_WhenRequestIsValidButMessageFailsToSaveToDb_ReturnsInterna
148150
var requestBodyJson = CreateRequestBodyJson(caseNumber, nhsNumber, forename, familyName, dateOfBirth, bsoCode, reasonForAdding, dummyGpCode);
149151
var requestBodyStream = new MemoryStream(Encoding.UTF8.GetBytes(requestBodyJson));
150152
_mockHttpRequest.Setup(r => r.Body).Returns(requestBodyStream);
151-
_mockServiceNowCasesClient.Setup(x => x.Add(It.Is<ServicenowCase>(c =>
152-
c.ServicenowId == caseNumber &&
153-
c.NhsNumber == long.Parse(nhsNumber) &&
154-
c.Status == ServiceNowStatus.New
155-
))).ReturnsAsync(false);
153+
_mockServiceNowCasesClient.Setup(x => x.Add(It.Is<ServicenowCase>(c =>
154+
c.ServicenowId == caseNumber &&
155+
c.NhsNumber == long.Parse(nhsNumber) &&
156+
c.Status == ServiceNowStatus.New
157+
))).ReturnsAsync(false);
156158

157159
// Act
158160
var result = await _function.Run(_mockHttpRequest.Object);
@@ -171,11 +173,11 @@ public async Task Run_WhenRequestIsValidButMessageFailsToSendToServiceBus_Return
171173
var requestBodyJson = CreateRequestBodyJson(caseNumber, nhsNumber, forename, familyName, dateOfBirth, bsoCode, reasonForAdding, dummyGpCode);
172174
var requestBodyStream = new MemoryStream(Encoding.UTF8.GetBytes(requestBodyJson));
173175
_mockHttpRequest.Setup(r => r.Body).Returns(requestBodyStream);
174-
_mockServiceNowCasesClient.Setup(x => x.Add(It.Is<ServicenowCase>(c =>
175-
c.ServicenowId == caseNumber &&
176-
c.NhsNumber == long.Parse(nhsNumber) &&
177-
c.Status == ServiceNowStatus.New
178-
))).ReturnsAsync(true);
176+
_mockServiceNowCasesClient.Setup(x => x.Add(It.Is<ServicenowCase>(c =>
177+
c.ServicenowId == caseNumber &&
178+
c.NhsNumber == long.Parse(nhsNumber) &&
179+
c.Status == ServiceNowStatus.New
180+
))).ReturnsAsync(true);
179181
_mockQueueClient.Setup(x => x.AddAsync(It.Is<ServiceNowParticipant>(p =>
180182
p.ScreeningId == 1 &&
181183
p.ServiceNowCaseNumber == caseNumber &&
@@ -206,7 +208,7 @@ private static string CreateRequestBodyJson(
206208
u_case_variable_data = new
207209
{
208210
nhs_number = nhsNumber,
209-
forename_ = forename,
211+
forename,
210212
surname_family_name = familyName,
211213
date_of_birth = dateOfBirth,
212214
BSO_code = bsoCode,

0 commit comments

Comments
 (0)