Skip to content

Commit 2107168

Browse files
authored
test: dtoss-5801-epic3-high-level-tests (#980)
* test: one complete scenario tested * test: Complete second scenario tested * test: Third scenario tested * test: Moved scenarios to right spec file
1 parent 18c2c31 commit 2107168

File tree

8 files changed

+428
-20
lines changed

8 files changed

+428
-20
lines changed

tests/playwright-tests/src/tests/e2e/epic123-smoke-tests/epic123-smoke-tests.spec.ts

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -59,32 +59,33 @@ testWithAmended('@DTOSS-6407-01 @smoke @e2e @ds Verify file upload handles Empty
5959
});
6060
});
6161

62+
6263
test.describe.parallel('Exception Tests', () => {
63-
test('@DTOSS-6406-01 @smoke @e2e @ds Verify file upload handles invalid GP Practice Code Exception', async ({ request, testData }) => {
64-
await test.step(`Given database does not contain record that will be processed`, async () => {
65-
await cleanupDatabaseFromAPI(request, testData.nhsNumbers);
66-
});
64+
test('@DTOSS-6406-01 @smoke @e2e @ds Verify file upload handles invalid GP Practice Code Exception', async ({ request, testData }) => {
65+
await test.step(`Given database does not contain record that will be processed`, async () => {
66+
await cleanupDatabaseFromAPI(request, testData.nhsNumbers);
67+
});
6768

68-
await test.step(`When ADD participant is processed via storage`, async () => {
69-
await processFileViaStorage(testData.runTimeParquetFile);
70-
});
69+
await test.step(`When ADD participant is processed via storage`, async () => {
70+
await processFileViaStorage(testData.runTimeParquetFile);
71+
});
7172

72-
await test.step(`Then the Exception table should contain the details for the NHS Number`, async () => {
73-
await validateSqlDatabaseFromAPI(request, testData.checkInDatabase);
73+
await test.step(`Then the Exception table should contain the details for the NHS Number`, async () => {
74+
await validateSqlDatabaseFromAPI(request, testData.checkInDatabase);
75+
});
7476
});
75-
});
7677

77-
test('@DTOSS-7960-01 @smoke @e2e @ds Verify GP Practice Code Exception flag in participant management set to 1', async ({ request, testData }) => {
78-
await test.step(`Given database does not contain records that will be processed`, async () => {
79-
await cleanupDatabaseFromAPI(request, testData.nhsNumbers);
80-
});
78+
test('@DTOSS-7960-01 @smoke @e2e @ds Verify GP Practice Code Exception flag in participant management set to 1', async ({ request, testData }) => {
79+
await test.step(`Given database does not contain records that will be processed`, async () => {
80+
await cleanupDatabaseFromAPI(request, testData.nhsNumbers);
81+
});
8182

82-
await test.step(`When participants are processed via storage`, async () => {
83-
await processFileViaStorage(testData.runTimeParquetFile);
84-
});
83+
await test.step(`When participants are processed via storage`, async () => {
84+
await processFileViaStorage(testData.runTimeParquetFile);
85+
});
8586

86-
await test.step(`Then records should be updated in the cohort`, async () => {
87-
await validateSqlDatabaseFromAPI(request, testData.checkInDatabase);
87+
await test.step(`Then records should be updated in the cohort`, async () => {
88+
await validateSqlDatabaseFromAPI(request, testData.checkInDatabase);
89+
});
8890
});
8991
});
90-
});

tests/playwright-tests/src/tests/e2e/epic3-highpriority-tests/epic3-high-priority-testsuite.spec.ts

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,68 @@ test.describe('@regression @e2e @epic3-high-priority Tests', () => {
6868
});
6969
});
7070

71+
testWithAmended('@DTOSS-5801-01 @Implement Validate Amend fields reason for removal as DEA and date of death empty', async ({ request, testData }) => {
72+
73+
74+
await test.step(`When ADD participant is processed via storage`, async () => {
75+
await processFileViaStorage(testData.runTimeParquetFileAdd);
76+
});
77+
78+
await test.step(`Then ADD record should be updated in the cohort`, async () => {
79+
await validateSqlDatabaseFromAPI(request, testData.checkInDatabaseAdd);
80+
});
81+
82+
await test.step(`When same ADD participant record is AMENDED via storage for ${testData.nhsNumberAmend}`, async () => {
83+
await processFileViaStorage(testData.runTimeParquetFileAmend);
84+
});
85+
86+
await test.step(`Then the record should end up in exception management`, async () => {
87+
await validateSqlDatabaseFromAPI(request, testData.checkInDatabaseAmend);
88+
});
89+
});
90+
91+
testWithAmended('@DTOSS-5589-01 @Implement Validate Amend fields reason for removal as null and date of death present', async ({ request, testData }) => {
92+
93+
94+
await test.step(`When ADD participant is processed via storage`, async () => {
95+
await processFileViaStorage(testData.runTimeParquetFileAdd);
96+
});
97+
98+
await test.step(`Then ADD record should be updated in the cohort`, async () => {
99+
await validateSqlDatabaseFromAPI(request, testData.checkInDatabaseAdd);
100+
});
101+
102+
await test.step(`When same ADD participant record is AMENDED via storage for ${testData.nhsNumberAmend}`, async () => {
103+
await processFileViaStorage(testData.runTimeParquetFileAmend);
104+
});
105+
106+
await test.step(`Then the record should end up in exception management`, async () => {
107+
await validateSqlDatabaseFromAPI(request, testData.checkInDatabaseAmend);
108+
});
109+
});
110+
111+
testWithAmended('@DTOSS-5407-01 @Implement Validate Amend fields reason for removal as invalid and date of death present', async ({ request, testData }) => {
112+
113+
114+
await test.step(`When ADD participant is processed via storage`, async () => {
115+
await processFileViaStorage(testData.runTimeParquetFileAdd);
116+
});
117+
118+
await test.step(`Then ADD record should be updated in the cohort`, async () => {
119+
await validateSqlDatabaseFromAPI(request, testData.checkInDatabaseAdd);
120+
});
121+
122+
await test.step(`When same ADD participant record is AMENDED via storage for ${testData.nhsNumberAmend}`, async () => {
123+
await processFileViaStorage(testData.runTimeParquetFileAmend);
124+
});
125+
126+
await test.step(`Then the record should end up in exception management`, async () => {
127+
await validateSqlDatabaseFromAPI(request, testData.checkInDatabaseAmend);
128+
});
129+
});
130+
131+
132+
71133
test('@DTOSS-5560-01 - BS Select - Records are received where IsExtracted is set to 0', {
72134
annotation: {
73135
type: 'Requirement',
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"validations": [
3+
{
4+
"validations": {
5+
"apiEndpoint": "api/CohortDistributionDataService",
6+
"NHSNumber":9992728167
7+
8+
}
9+
}
10+
],
11+
"inputParticipantRecord": [
12+
{
13+
"record_type": "ADD",
14+
"change_time_stamp": null,
15+
"serial_change_number": 1,
16+
"nhs_number": 9992728167,
17+
"superseded_by_nhs_number": null,
18+
"primary_care_provider": "E85121",
19+
"primary_care_effective_from_date": "20130319",
20+
"current_posting": "CH",
21+
"current_posting_effective_from_date": "20130319",
22+
"name_prefix": "A.ML",
23+
"given_name": "NewTest1",
24+
"other_given_name": "Test",
25+
"family_name": "Adani1",
26+
"previous_family_name": "Test2",
27+
"date_of_birth": "19700101",
28+
"gender": 1,
29+
"address_line_1": "247 SpaightSpaightSpTeeeeeeest Road",
30+
"address_line_2": "Eastbourne",
31+
"address_line_3": "Test",
32+
"address_line_4": "Chelmsford",
33+
"address_line_5": "United Kingdom",
34+
"postcode": "AB43 8FJ",
35+
"paf_key": "Z3S4Q5X9",
36+
"address_effective_from_date": "20240501",
37+
"reason_for_removal": null,
38+
"reason_for_removal_effective_from_date": null,
39+
"date_of_death": null,
40+
"death_status": null,
41+
"home_telephone_number": "01619999999",
42+
"home_telephone_effective_from_date": "20240501",
43+
"mobile_telephone_number": "07888888888",
44+
"mobile_telephone_effective_from_date": "20240501",
45+
"email_address": "[email protected]",
46+
"email_address_effective_from_date": "20240501",
47+
"preferred_language": "en",
48+
"is_interpreter_required": false,
49+
"invalid_flag": false,
50+
"eligibility": true
51+
}
52+
],
53+
"nhsNumbers": [
54+
"9992728167"
55+
]
56+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"validations": [
3+
{
4+
"validations": {
5+
"apiEndpoint": "api/ExceptionManagementDataService",
6+
"NhsNumber":"9992728167",
7+
"RuleId":14,
8+
"RuleDescription":"Reason for removal is invalid"
9+
}
10+
11+
}
12+
13+
],
14+
"inputParticipantRecord": [
15+
{
16+
"record_type": "AMENDED",
17+
"change_time_stamp": null,
18+
"serial_change_number": 1,
19+
"nhs_number": 9992728167,
20+
"superseded_by_nhs_number": null,
21+
"primary_care_provider": null,
22+
"primary_care_effective_from_date": null,
23+
"current_posting": "CH",
24+
"current_posting_effective_from_date": "20130319",
25+
"name_prefix": "A.ML",
26+
"given_name": "NewTest1",
27+
"other_given_name": "Test",
28+
"family_name": "Adani1",
29+
"previous_family_name": "Test2",
30+
"date_of_birth": "19710101",
31+
"gender": 1,
32+
"address_line_1": "247 SpaightSpaightSpTeeeeeeest Road",
33+
"address_line_2": "Eastbourne",
34+
"address_line_3": "Test",
35+
"address_line_4": "Chelmsford",
36+
"address_line_5": "United Kingdom",
37+
"postcode": "AB43 8FJ",
38+
"paf_key": "Z3S4Q5X9",
39+
"address_effective_from_date": "20240501",
40+
"reason_for_removal": "RFR",
41+
"reason_for_removal_effective_from_date": "20200201",
42+
"date_of_death": "20210201",
43+
"death_status": null,
44+
"home_telephone_number": "016199999990",
45+
"home_telephone_effective_from_date": "20240501",
46+
"mobile_telephone_number": "07888888888",
47+
"mobile_telephone_effective_from_date": "20240501",
48+
"email_address": "[email protected]",
49+
"email_address_effective_from_date": "20240501",
50+
"preferred_language": "en",
51+
"is_interpreter_required": false,
52+
"invalid_flag": false,
53+
"eligibility": true
54+
}
55+
],
56+
"nhsNumbers": [
57+
"9992728167"
58+
]
59+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"validations": [
3+
{
4+
"validations": {
5+
"apiEndpoint": "api/CohortDistributionDataService",
6+
"NHSNumber":9992728167
7+
8+
}
9+
}
10+
],
11+
"inputParticipantRecord": [
12+
{
13+
"record_type": "ADD",
14+
"change_time_stamp": null,
15+
"serial_change_number": 1,
16+
"nhs_number": 9992728167,
17+
"superseded_by_nhs_number": null,
18+
"primary_care_provider": "E85121",
19+
"primary_care_effective_from_date": "20130319",
20+
"current_posting": "CH",
21+
"current_posting_effective_from_date": "20130319",
22+
"name_prefix": "A.ML",
23+
"given_name": "NewTest1",
24+
"other_given_name": "Test",
25+
"family_name": "Adani1",
26+
"previous_family_name": "Test2",
27+
"date_of_birth": "19700101",
28+
"gender": 1,
29+
"address_line_1": "247 SpaightSpaightSpTeeeeeeest Road",
30+
"address_line_2": "Eastbourne",
31+
"address_line_3": "Test",
32+
"address_line_4": "Chelmsford",
33+
"address_line_5": "United Kingdom",
34+
"postcode": "AB43 8FJ",
35+
"paf_key": "Z3S4Q5X9",
36+
"address_effective_from_date": "20240501",
37+
"reason_for_removal": null,
38+
"reason_for_removal_effective_from_date": null,
39+
"date_of_death": null,
40+
"death_status": null,
41+
"home_telephone_number": "01619999999",
42+
"home_telephone_effective_from_date": "20240501",
43+
"mobile_telephone_number": "07888888888",
44+
"mobile_telephone_effective_from_date": "20240501",
45+
"email_address": "[email protected]",
46+
"email_address_effective_from_date": "20240501",
47+
"preferred_language": "en",
48+
"is_interpreter_required": false,
49+
"invalid_flag": false,
50+
"eligibility": true
51+
}
52+
],
53+
"nhsNumbers": [
54+
"9992728167"
55+
]
56+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"validations": [
3+
{
4+
"validations": {
5+
"apiEndpoint": "api/ExceptionManagementDataService",
6+
"NhsNumber":"9992728167",
7+
"RuleId":3,
8+
"RuleDescription":"GP practice code and Reason for Removal fields contain incompatible values"
9+
}
10+
11+
}
12+
13+
],
14+
"inputParticipantRecord": [
15+
{
16+
"record_type": "AMENDED",
17+
"change_time_stamp": null,
18+
"serial_change_number": 1,
19+
"nhs_number": 9992728167,
20+
"superseded_by_nhs_number": null,
21+
"primary_care_provider": null,
22+
"primary_care_effective_from_date": null,
23+
"current_posting": "CH",
24+
"current_posting_effective_from_date": "20130319",
25+
"name_prefix": "A.ML",
26+
"given_name": "NewTest1",
27+
"other_given_name": "Test",
28+
"family_name": "Adani1",
29+
"previous_family_name": "Test2",
30+
"date_of_birth": "19710101",
31+
"gender": 1,
32+
"address_line_1": "247 SpaightSpaightSpTeeeeeeest Road",
33+
"address_line_2": "Eastbourne",
34+
"address_line_3": "Test",
35+
"address_line_4": "Chelmsford",
36+
"address_line_5": "United Kingdom",
37+
"postcode": "AB43 8FJ",
38+
"paf_key": "Z3S4Q5X9",
39+
"address_effective_from_date": "20240501",
40+
"reason_for_removal": null,
41+
"reason_for_removal_effective_from_date": "20200201",
42+
"date_of_death": "20210201",
43+
"death_status": null,
44+
"home_telephone_number": "016199999990",
45+
"home_telephone_effective_from_date": "20240501",
46+
"mobile_telephone_number": "07888888888",
47+
"mobile_telephone_effective_from_date": "20240501",
48+
"email_address": "[email protected]",
49+
"email_address_effective_from_date": "20240501",
50+
"preferred_language": "en",
51+
"is_interpreter_required": false,
52+
"invalid_flag": false,
53+
"eligibility": true
54+
}
55+
],
56+
"nhsNumbers": [
57+
"9992728167"
58+
]
59+
}

0 commit comments

Comments
 (0)