Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@
"Rules": [
{
"RuleName": "EmailContainsBackslash",
"Expression": "input1.Contains('\u005c')",
"Expression": "input1.Contains('\\\\')",
"Actions": {
"OnSuccess": {
"Name": "OutputExpression",
Expand Down Expand Up @@ -321,7 +321,7 @@
},
{
"RuleName": "EmailContainsPipe",
"Expression": "input1.Contains('|');",
"Expression": "input1.Contains('|')",
"Actions": {
"OnSuccess": {
"Name": "OutputExpression",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -733,6 +733,57 @@ public async Task Run_ParticipantReferred_TransformFieldsCorrectly()
Assert.IsNotNull(actualResponse?.PrimaryCareProviderEffectiveFromDate);
}

[TestMethod]
[DataRow("test\\@test.com")]
[DataRow("test*@test.com")]
[DataRow("test£@test.com")]
[DataRow("test~@test.com")]
[DataRow("test`@test.com")]
[DataRow("test|@test.com")]
public async Task Run_TransformString_InvalidEmailCharacter(string emailAddress)
{
// Arrange
_requestBody.Participant.EmailAddress = emailAddress;

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

// Act
var result = await _function.RunAsync(_request.Object);

// Assert
Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);

string responseBody = await AssertionHelper.ReadResponseBodyAsync(result);
var actualResponse = JsonSerializer.Deserialize<CohortDistributionParticipant>(responseBody);

Assert.IsNull(actualResponse?.EmailAddress);
}

[TestMethod]
[DataRow("test@test.com")]
[DataRow("123@'#:.com")]
[DataRow("negation@¬.com")]
public async Task Run_TransformString_ValidEmailCharacter(string emailAddress)
{
// Arrange
_requestBody.Participant.EmailAddress = emailAddress;

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

// Act
var result = await _function.RunAsync(_request.Object);

// Assert
Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);

string responseBody = await AssertionHelper.ReadResponseBodyAsync(result);
var actualResponse = JsonSerializer.Deserialize<CohortDistributionParticipant>(responseBody);

Assert.AreEqual(emailAddress, actualResponse?.EmailAddress);
}

private void SetUpRequestBody(string json)
{
var byteArray = Encoding.ASCII.GetBytes(json);
Expand Down
Loading