Skip to content

Commit f945de7

Browse files
committed
fix: align address PII visibility with existing null-address contract
1 parent 05efbd5 commit f945de7

2 files changed

Lines changed: 11 additions & 29 deletions

File tree

src/SEBT.Portal.Infrastructure/Repositories/HouseholdRepository.cs

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -96,26 +96,15 @@ private static HouseholdData ApplyPiiVisibility(HouseholdData source, PiiVisibil
9696
{
9797
Email = piiVisibility.IncludeEmail ? source.Email : PiiMasker.MaskEmail(source.Email),
9898
Phone = piiVisibility.IncludePhone ? source.Phone : PiiMasker.MaskPhone(source.Phone),
99-
AddressOnFile = source.AddressOnFile != null
100-
? piiVisibility.IncludeAddress
101-
? new Address
102-
{
103-
StreetAddress1 = source.AddressOnFile.StreetAddress1,
104-
StreetAddress2 = source.AddressOnFile.StreetAddress2,
105-
City = source.AddressOnFile.City,
106-
State = source.AddressOnFile.State,
107-
PostalCode = source.AddressOnFile.PostalCode
108-
}
109-
: new Address
110-
{
111-
StreetAddress1 = PiiMasker.MaskStreetAddress(
112-
source.AddressOnFile.StreetAddress1,
113-
source.AddressOnFile.StreetAddress2),
114-
StreetAddress2 = null,
115-
City = source.AddressOnFile.City,
116-
State = source.AddressOnFile.State,
117-
PostalCode = source.AddressOnFile.PostalCode
118-
}
99+
AddressOnFile = piiVisibility.IncludeAddress && source.AddressOnFile != null
100+
? new Address
101+
{
102+
StreetAddress1 = source.AddressOnFile.StreetAddress1,
103+
StreetAddress2 = source.AddressOnFile.StreetAddress2,
104+
City = source.AddressOnFile.City,
105+
State = source.AddressOnFile.State,
106+
PostalCode = source.AddressOnFile.PostalCode
107+
}
119108
: null
120109
};
121110
}

test/SEBT.Portal.Tests/Unit/Repositories/HouseholdRepositoryTests.cs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ public async Task GetHouseholdByEmailAsync_WhenPiiExcludesPhone_ReturnsMaskedPho
168168
}
169169

170170
[Fact]
171-
public async Task GetHouseholdByEmailAsync_WhenPiiExcludesAddress_ReturnsMaskedStreetPreservesCityStateZip()
171+
public async Task GetHouseholdByEmailAsync_WhenPiiExcludesAddress_ReturnsNullAddress()
172172
{
173173
_summerEbtCaseService
174174
.GetHouseholdByGuardianEmailAsync(Arg.Any<string>(), Arg.Any<PluginPiiVisibility>(), Arg.Any<PluginIdentityAssuranceLevel>(), Arg.Any<CancellationToken>())
@@ -191,14 +191,7 @@ public async Task GetHouseholdByEmailAsync_WhenPiiExcludesAddress_ReturnsMaskedS
191191
var result = await _repository.GetHouseholdByEmailAsync("u@e.com", noAddressPii, UserIalLevel.IAL1plus);
192192

193193
Assert.NotNull(result);
194-
Assert.NotNull(result.AddressOnFile);
195-
// Street lines are masked
196-
Assert.DoesNotContain("123 Main St", result.AddressOnFile.StreetAddress1);
197-
Assert.Null(result.AddressOnFile.StreetAddress2);
198-
// City, state, zip are preserved
199-
Assert.Equal("Denver", result.AddressOnFile.City);
200-
Assert.Equal("CO", result.AddressOnFile.State);
201-
Assert.Equal("80202", result.AddressOnFile.PostalCode);
194+
Assert.Null(result.AddressOnFile);
202195
}
203196

204197
[Fact]

0 commit comments

Comments
 (0)