Skip to content

Commit 163bbec

Browse files
authored
Fix flaky tests around CapitaImportJob (#2860)
Fixes some flaky tests around `CapitaImportJob` that use randomly generated data. When testing whether new data does not match an existing database record we need to use `TestData.GenerateChangedXxx()` methods to ensure the data is actually different, otherwise the data might randomly match and the test will fail. ### Checklist - [ ] Attach to Trello card - [x] Rebased master - [x] Cleaned commit history - [ ] Tested by running locally
1 parent 1b2848a commit 163bbec

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

TeachingRecordSystem/tests/TeachingRecordSystem.Core.LegacyTests/Jobs/CapitaImportJobTests.cs

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ public async Task Import_WhenDateOfDeathProvidedForExistingPerson_DeactivatesPer
507507
var existingPerson = await TestData.CreatePersonAsync(p => p
508508
.WithNationalInsuranceNumber());
509509

510-
var newFirstName = Faker.Name.First();
510+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
511511
var newGender = Gender.Female;
512512
var newDob = new DateOnly(1981, 08, 20);
513513
var dateOfDeath = DateOnly.FromDateTime(Clock.UtcNow.AddDays(-1));
@@ -737,7 +737,7 @@ public async Task Import_MatchesExistingPersonWithNoNinoOnTrnAndGenderAndLastNam
737737
.WithGender(Gender.Male)
738738
.WithDateOfBirth(new DateOnly(1972, 01, 01)));
739739

740-
var newFirstName = Faker.Name.First();
740+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
741741
var newNino = Faker.Identification.UkNationalInsuranceNumber();
742742
(var reader, var rowData) = BuildSingleRowCsv(existingPerson.Trn, existingPerson.Gender, existingPerson.LastName, newFirstName, existingPerson.DateOfBirth, newNino);
743743

@@ -787,8 +787,8 @@ public async Task Import_MatchesExistingPersonWithNoNinoOnTrnAndGenderAndDobWith
787787
.WithGender(Gender.Male)
788788
.WithDateOfBirth(new DateOnly(1972, 01, 01)));
789789

790-
var newFirstName = Faker.Name.First();
791-
var newLastName = Faker.Name.Last();
790+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
791+
var newLastName = TestData.GenerateChangedLastName(existingPerson.LastName);
792792
var newNino = Faker.Identification.UkNationalInsuranceNumber();
793793
(var reader, var rowData) = BuildSingleRowCsv(existingPerson.Trn, existingPerson.Gender, newLastName, newFirstName, existingPerson.DateOfBirth, newNino);
794794

@@ -838,8 +838,8 @@ public async Task Import_MatchesExistingPersonWithNoNinoOnTrnAndGender_WithDiffe
838838
.WithGender(Gender.Male)
839839
.WithDateOfBirth(new DateOnly(1972, 01, 01)));
840840

841-
var newFirstName = Faker.Name.First();
842-
var newLastName = Faker.Name.Last();
841+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
842+
var newLastName = TestData.GenerateChangedLastName(existingPerson.LastName);
843843
var newNino = Faker.Identification.UkNationalInsuranceNumber();
844844
var newDob = new DateOnly(1980, 02, 02);
845845
(var reader, var rowData) = BuildSingleRowCsv(existingPerson.Trn, existingPerson.Gender, newLastName, newFirstName, newDob, newNino);
@@ -890,7 +890,7 @@ public async Task Import_MatchesExistingPersonWithNoNinoOnTrn_WithDifferentLastN
890890
.WithGender(Gender.Male)
891891
.WithDateOfBirth(new DateOnly(1972, 01, 01)));
892892

893-
var newLastName = Faker.Name.Last();
893+
var newLastName = TestData.GenerateChangedLastName(existingPerson.LastName);
894894
var newNino = Faker.Identification.UkNationalInsuranceNumber();
895895
(var reader, var rowData) = BuildSingleRowCsv(existingPerson.Trn, existingPerson.Gender, newLastName, existingPerson.FirstName, existingPerson.DateOfBirth, newNino);
896896

@@ -1143,8 +1143,8 @@ public async Task Import_MatchesExistingPersonOnNinoAndGender_CreatesPersonAndCr
11431143
.WithNationalInsuranceNumber());
11441144

11451145
var newTrn = "1234567";
1146-
var newFirstName = Faker.Name.First();
1147-
var newLastName = Faker.Name.Last();
1146+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
1147+
var newLastName = TestData.GenerateChangedLastName(existingPerson.LastName);
11481148
var newDob = new DateOnly(1981, 08, 20);
11491149
(var reader, var rowData) = BuildSingleRowCsv(newTrn, existingPerson.Gender, newLastName, newFirstName, newDob, existingPerson.NationalInsuranceNumber);
11501150

@@ -1203,8 +1203,8 @@ public async Task Import_MatchesExistingPersonOnNinoAndDobAndGender_CreatesPerso
12031203
.WithDateOfBirth(new DateOnly(1972, 01, 01)));
12041204

12051205
var newTrn = "8000038";
1206-
var newFirstName = Faker.Name.First();
1207-
var newLastName = Faker.Name.Last();
1206+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
1207+
var newLastName = TestData.GenerateChangedLastName(existingPerson.LastName);
12081208
(var reader, var rowData) = BuildSingleRowCsv(newTrn, existingPerson.Gender, newLastName, newFirstName, existingPerson.DateOfBirth, existingPerson.NationalInsuranceNumber);
12091209

12101210
// Act
@@ -1263,8 +1263,8 @@ public async Task Import_MatchesExistingPersonOnNinoAndDob_CreatesPersonAndCreat
12631263
.WithDateOfBirth(new DateOnly(1972, 01, 01)));
12641264

12651265
var newTrn = "8000038";
1266-
var newFirstName = Faker.Name.First();
1267-
var newLastName = Faker.Name.Last();
1266+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
1267+
var newLastName = TestData.GenerateChangedLastName(existingPerson.LastName);
12681268
var newGender = Gender.Female;
12691269
(var reader, var rowData) = BuildSingleRowCsv(newTrn, newGender, newLastName, newFirstName, existingPerson.DateOfBirth, existingPerson.NationalInsuranceNumber);
12701270

@@ -1320,8 +1320,8 @@ public async Task Import_MatchesExistingPersonOnNino_CreatesPersonAndCreatesPote
13201320
.WithNationalInsuranceNumber());
13211321

13221322
var newTrn = "1234567";
1323-
var newFirstName = Faker.Name.First();
1324-
var newLastName = Faker.Name.Last();
1323+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
1324+
var newLastName = TestData.GenerateChangedLastName(existingPerson.LastName);
13251325
var newDob = new DateOnly(1981, 08, 20);
13261326
var newGender = Gender.Female;
13271327
(var reader, var rowData) = BuildSingleRowCsv(newTrn, newGender, newLastName, newFirstName, newDob, existingPerson.NationalInsuranceNumber);
@@ -1377,7 +1377,7 @@ public async Task Import_MatchesExistingPersonOnLastNameAndDob_CreatesPerson_Rep
13771377
.WithDateOfBirth(new DateOnly(1981, 08, 20)));
13781378

13791379
var newTrn = "1234567";
1380-
var newFirstName = Faker.Name.First();
1380+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
13811381
var newNino = Faker.Identification.UkNationalInsuranceNumber();
13821382
(var reader, var rowData) = BuildSingleRowCsv(newTrn, existingPerson.Gender, existingPerson.LastName, newFirstName, existingPerson.DateOfBirth, newNino);
13831383

@@ -1425,7 +1425,8 @@ public async Task Import_MatchesExistingPersonOnDob_CreatesPerson_RecordsSuccess
14251425
var existingPerson = await TestData.CreatePersonAsync(x => x.WithNationalInsuranceNumber());
14261426

14271427
var newTrn = "1234567";
1428-
(var reader, var rowData) = BuildSingleRowCsv("1234567", Gender.Male, "test", "Test", existingPerson.DateOfBirth, Faker.Identification.UkNationalInsuranceNumber());
1428+
var newNino = TestData.GenerateChangedNationalInsuranceNumber(existingPerson.NationalInsuranceNumber!);
1429+
(var reader, var rowData) = BuildSingleRowCsv("1234567", Gender.Male, "test", "Test", existingPerson.DateOfBirth, newNino);
14291430

14301431
// Act
14311432
var integrationTransactionId = await Job.ImportAsync(reader, "SingleFile.txt");
@@ -1548,8 +1549,8 @@ public async Task Import_AttemptToUpdateExistingRecordsNino_DoesNothing_ReportsF
15481549
.WithDateOfBirth(new DateOnly(1972, 01, 01))
15491550
.WithNationalInsuranceNumber());
15501551

1551-
var newFirstName = Faker.Name.First();
1552-
var newNino = Faker.Identification.UkNationalInsuranceNumber();
1552+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
1553+
var newNino = TestData.GenerateChangedNationalInsuranceNumber(existingPerson.NationalInsuranceNumber!);
15531554
(var reader, var rowData) = BuildSingleRowCsv(existingPerson.Trn, existingPerson.Gender, existingPerson.LastName, newFirstName, existingPerson.DateOfBirth, newNino);
15541555

15551556
// Act
@@ -1598,9 +1599,9 @@ public async Task Import_AttemptToUpdateExistingRecordsGender_DoesNothing_Report
15981599
.WithGender(Gender.Male)
15991600
.WithDateOfBirth(new DateOnly(1972, 01, 01)));
16001601

1601-
var newFirstName = Faker.Name.First();
1602+
var newFirstName = TestData.GenerateChangedFirstName(existingPerson.FirstName);
16021603
var newGender = Gender.Female;
1603-
var newNino = Faker.Identification.UkNationalInsuranceNumber();
1604+
var newNino = TestData.GenerateChangedNationalInsuranceNumber(existingPerson.NationalInsuranceNumber!);
16041605
(var reader, var rowData) = BuildSingleRowCsv(existingPerson.Trn, newGender, existingPerson.LastName, newFirstName, existingPerson.DateOfBirth, newNino);
16051606

16061607
// Act

0 commit comments

Comments
 (0)