Skip to content

Commit 9f40e2c

Browse files
authored
Split drugs E2E test into chunks for optimal parallelism in CI (#704)
1 parent ab66efc commit 9f40e2c

8 files changed

+536
-490
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
export interface DrugData {
2+
name: string
3+
isInjected: boolean
4+
hasTreatment: boolean
5+
}
6+
7+
export const drugs: DrugData[] = [
8+
{ name: 'Amphetamines', isInjected: true, hasTreatment: false },
9+
{ name: 'Benzodiazepines', isInjected: true, hasTreatment: false },
10+
{ name: 'Cannabis', isInjected: false, hasTreatment: false },
11+
{ name: 'Cocaine hydrochloride', isInjected: true, hasTreatment: false },
12+
{ name: 'Crack or cocaine', isInjected: true, hasTreatment: false },
13+
{ name: 'Ecstasy (also known as MDMA)', isInjected: false, hasTreatment: false },
14+
{ name: 'Hallucinogenics', isInjected: false, hasTreatment: false },
15+
{ name: 'Heroin', isInjected: true, hasTreatment: true },
16+
{ name: 'Methadone (not prescribed)', isInjected: true, hasTreatment: false },
17+
{ name: 'Misused prescribed drugs', isInjected: true, hasTreatment: false },
18+
{ name: 'Other opiates', isInjected: true, hasTreatment: false },
19+
{ name: 'Solvents (including gases and glues)', isInjected: false, hasTreatment: false },
20+
{ name: 'Spice', isInjected: false, hasTreatment: false },
21+
{ name: 'Steroids', isInjected: true, hasTreatment: false },
22+
{ name: 'Other', isInjected: true, hasTreatment: false },
23+
]
24+
25+
const chunkSize = Math.ceil(drugs.length / 5)
26+
const chunks = Array.from({ length: 5 }, (_, i) => drugs.slice(i * chunkSize, (i + 1) * chunkSize))
27+
28+
export const drugsPart1 = chunks[0]
29+
export const drugsPart2 = chunks[1]
30+
export const drugsPart3 = chunks[2]
31+
export const drugsPart4 = chunks[3]
32+
export const drugsPart5 = chunks[4]
33+
34+
expect([drugsPart1, drugsPart2, drugsPart3, drugsPart4, drugsPart5].flat()).to.deep.eq(
35+
drugs,
36+
'Data loss from array split',
37+
)

0 commit comments

Comments
 (0)