Skip to content

Commit ccc2082

Browse files
committed
fix teamlineup function not working
1 parent 6c3eb7d commit ccc2082

File tree

5 files changed

+191
-45
lines changed

5 files changed

+191
-45
lines changed

__tests__/__snapshots__/driver-lineup.test.ts.snap

Lines changed: 71 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -24,81 +24,116 @@ exports[`current driver lineup 1`] = `
2424
"team": "Mercedes",
2525
},
2626
{
27-
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/A/ANDANT01_Andrea%20Kimi_Antonelli/andant01.png",
28-
"name": "Andrea Kimi Antonelli",
29-
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Italy.jpg",
27+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/O/OSCPIA01_Oscar_Piastri/oscpia01.png",
28+
"name": "Oscar Piastri",
29+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Australia.jpg",
3030
"rank": "4",
31+
"team": "McLaren",
32+
},
33+
{
34+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/K/ANDANT01_Kimi_Antonelli/andant01.png",
35+
"name": "Kimi Antonelli",
36+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Italy.jpg",
37+
"rank": "5",
3138
"team": "Mercedes",
3239
},
3340
{
3441
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/A/ALEALB01_Alexander_Albon/alealb01.png",
3542
"name": "Alexander Albon",
3643
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Thailand.jpg",
37-
"rank": "5",
44+
"rank": "6",
3845
"team": "Williams",
3946
},
47+
{
48+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/E/ESTOCO01_Esteban_Ocon/estoco01.png",
49+
"name": "Esteban Ocon",
50+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/France.jpg",
51+
"rank": "7",
52+
"team": "Haas",
53+
},
4054
{
4155
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/L/LANSTR01_Lance_Stroll/lanstr01.png",
4256
"name": "Lance Stroll",
4357
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Canada.jpg",
44-
"rank": "6",
58+
"rank": "8",
4559
"team": "Aston Martin",
4660
},
4761
{
48-
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/N/NICHUL01_Nico_Hulkenberg/nichul01.png",
49-
"name": "Nico Hulkenberg",
50-
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Germany.jpg",
51-
"rank": "7",
52-
"team": "Kick Sauber",
62+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/L/LEWHAM01_Lewis_Hamilton/lewham01.png",
63+
"name": "Lewis Hamilton",
64+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/United%20Kingdom.jpg",
65+
"rank": "9",
66+
"team": "Ferrari",
5367
},
5468
{
5569
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/C/CHALEC01_Charles_Leclerc/chalec01.png",
5670
"name": "Charles Leclerc",
5771
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Monaco.jpg",
58-
"rank": "8",
72+
"rank": "10",
5973
"team": "Ferrari",
6074
},
6175
{
62-
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/O/OSCPIA01_Oscar_Piastri/oscpia01.png",
63-
"name": "Oscar Piastri",
64-
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Australia.jpg",
65-
"rank": "9",
66-
"team": "McLaren",
76+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/N/NICHUL01_Nico_Hulkenberg/nichul01.png",
77+
"name": "Nico Hulkenberg",
78+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Germany.jpg",
79+
"rank": "11",
80+
"team": "Kick Sauber",
6781
},
6882
{
69-
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/L/LEWHAM01_Lewis_Hamilton/lewham01.png",
70-
"name": "Lewis Hamilton",
83+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/O/OLIBEA01_Oliver_Bearman/olibea01.png",
84+
"name": "Oliver Bearman",
7185
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/United%20Kingdom.jpg",
72-
"rank": "10",
73-
"team": "Ferrari",
86+
"rank": "12",
87+
"team": "Haas",
88+
},
89+
{
90+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/Y/YUKTSU01_Yuki_Tsunoda/yuktsu01.png",
91+
"name": "Yuki Tsunoda",
92+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Japan.jpg",
93+
"rank": "13",
94+
"team": "Racing Bulls",
95+
},
96+
{
97+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/C/CARSAI01_Carlos_Sainz/carsai01.png",
98+
"name": "Carlos Sainz",
99+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Spain.jpg",
100+
"rank": "14",
101+
"team": "Williams",
102+
},
103+
{
104+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/I/ISAHAD01_Isack_Hadjar/isahad01.png",
105+
"name": "Isack Hadjar",
106+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/France.jpg",
107+
"rank": "15",
108+
"team": "Racing Bulls",
74109
},
75110
{
76111
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/P/PIEGAS01_Pierre_Gasly/piegas01.png",
77112
"name": "Pierre Gasly",
78113
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/France.jpg",
79-
"rank": "11",
114+
"rank": "16",
80115
"team": "Alpine",
81116
},
82117
{
83-
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/Y/YUKTSU01_Yuki_Tsunoda/yuktsu01.png",
84-
"name": "Yuki Tsunoda",
85-
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Japan.jpg",
86-
"rank": "12",
87-
"team": "Racing Bulls",
118+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/L/LIALAW01_Liam_Lawson/lialaw01.png",
119+
"name": "Liam Lawson",
120+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/New%20Zealand.jpg",
121+
"rank": "17",
122+
"team": "Red Bull Racing",
88123
},
89124
{
90-
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/E/ESTOCO01_Esteban_Ocon/estoco01.png",
91-
"name": "Esteban Ocon",
92-
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/France.jpg",
93-
"rank": "13",
94-
"team": "Haas",
125+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/J/JACDOO01_Jack_Doohan/jacdoo01.png",
126+
"name": "Jack Doohan",
127+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Australia.jpg",
128+
"rank": "18",
129+
"team": "Alpine",
95130
},
96131
{
97-
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/O/OLIBEA01_Oliver_Bearman/olibea01.png",
98-
"name": "Oliver Bearman",
99-
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/United%20Kingdom.jpg",
100-
"rank": "14",
101-
"team": "Haas",
132+
"driverImage": "https://media.formula1.com/d_driver_fallback_image.png/content/dam/fom-website/drivers/G/GABBOR01_Gabriel_Bortoleto/gabbor01.png",
133+
"name": "Gabriel Bortoleto",
134+
"nationalityImage": "https://media.formula1.com/d_default_fallback_image.png/content/dam/fom-website/flags/Brazil.jpg",
135+
"rank": "19",
136+
"team": "Kick Sauber",
102137
},
103138
]
104139
`;
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`current teams data 1`] = `
4+
[
5+
{
6+
"carImage": "https://media.formula1.com/d_team_car_fallback_image.png/content/dam/fom-website/teams/2025/mclaren.png",
7+
"carLogo": "https://media.formula1.com/content/dam/fom-website/teams/2025/mclaren-logo.png",
8+
"drivers": [
9+
"Oscar Piastri",
10+
"Lando Norris",
11+
],
12+
"name": "McLaren",
13+
"points": 78,
14+
},
15+
{
16+
"carImage": "https://media.formula1.com/d_team_car_fallback_image.png/content/dam/fom-website/teams/2025/mercedes.png",
17+
"carLogo": "https://media.formula1.com/content/dam/fom-website/teams/2025/mercedes-logo.png",
18+
"drivers": [
19+
"George Russell",
20+
"Kimi Antonelli",
21+
],
22+
"name": "Mercedes",
23+
"points": 57,
24+
},
25+
{
26+
"carImage": "https://media.formula1.com/d_team_car_fallback_image.png/content/dam/fom-website/teams/2025/red-bull-racing.png",
27+
"carLogo": "https://media.formula1.com/content/dam/fom-website/teams/2025/red-bull-racing-logo.png",
28+
"drivers": [
29+
"Max Verstappen",
30+
"Liam Lawson",
31+
],
32+
"name": "Red Bull Racing",
33+
"points": 36,
34+
},
35+
{
36+
"carImage": "https://media.formula1.com/d_team_car_fallback_image.png/content/dam/fom-website/teams/2025/williams.png",
37+
"carLogo": "https://media.formula1.com/content/dam/fom-website/teams/2025/williams-logo.png",
38+
"drivers": [
39+
"Alexander Albon",
40+
"Carlos Sainz",
41+
],
42+
"name": "Williams",
43+
"points": 17,
44+
},
45+
{
46+
"carImage": "https://media.formula1.com/d_team_car_fallback_image.png/content/dam/fom-website/teams/2025/ferrari.png",
47+
"carLogo": "https://media.formula1.com/content/dam/fom-website/teams/2025/ferrari-logo.png",
48+
"drivers": [
49+
"Charles Leclerc",
50+
"Lewis Hamilton",
51+
],
52+
"name": "Ferrari",
53+
"points": 17,
54+
},
55+
{
56+
"carImage": "https://media.formula1.com/d_team_car_fallback_image.png/content/dam/fom-website/teams/2025/haas.png",
57+
"carLogo": "https://media.formula1.com/content/dam/fom-website/teams/2025/haas-logo.png",
58+
"drivers": [
59+
"Esteban Ocon",
60+
"Oliver Bearman",
61+
],
62+
"name": "Haas",
63+
"points": 14,
64+
},
65+
{
66+
"carImage": "https://media.formula1.com/d_team_car_fallback_image.png/content/dam/fom-website/teams/2025/aston-martin.png",
67+
"carLogo": "https://media.formula1.com/content/dam/fom-website/teams/2025/aston-martin-logo.png",
68+
"drivers": [
69+
"Lance Stroll",
70+
"Fernando Alonso",
71+
],
72+
"name": "Aston Martin",
73+
"points": 10,
74+
},
75+
{
76+
"carImage": "https://media.formula1.com/d_team_car_fallback_image.png/content/dam/fom-website/teams/2025/kick-sauber.png",
77+
"carLogo": "https://media.formula1.com/content/dam/fom-website/teams/2025/kick-sauber-logo.png",
78+
"drivers": [
79+
"Nico Hulkenberg",
80+
"Gabriel Bortoleto",
81+
],
82+
"name": "Kick Sauber",
83+
"points": 6,
84+
},
85+
{
86+
"carImage": "https://media.formula1.com/d_team_car_fallback_image.png/content/dam/fom-website/teams/2025/racing-bulls.png",
87+
"carLogo": "https://media.formula1.com/content/dam/fom-website/teams/2025/racing-bulls-logo.png",
88+
"drivers": [
89+
"Isack Hadjar",
90+
"Yuki Tsunoda",
91+
],
92+
"name": "Racing Bulls",
93+
"points": 3,
94+
},
95+
{
96+
"carImage": "https://media.formula1.com/d_team_car_fallback_image.png/content/dam/fom-website/teams/2025/alpine.png",
97+
"carLogo": "https://media.formula1.com/content/dam/fom-website/teams/2025/alpine-logo.png",
98+
"drivers": [
99+
"Pierre Gasly",
100+
"Jack Doohan",
101+
],
102+
"name": "Alpine",
103+
"points": 0,
104+
},
105+
]
106+
`;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"scripts": {
1313
"start": "tsc -p . && nodemon './dist/server.js'",
1414
"start-api": "nodemon './dist/server-api.js'",
15-
"test": "jest",
15+
"test": "rm -rf __tests__/__snapshots__/ && jest",
1616
"build": "tsc -p ."
1717
},
1818
"repository": {

src/scraper/team-lineup.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,26 @@ export const getTeamLineup = async (): Promise<isTeam[]> => {
1212
const response = await axios(staticLinks.teams);
1313
const $ = cheerio.load(response.data);
1414

15-
$("a.outline").each(function () {
16-
const name: string = $(this).find("div> div > h4:nth-child(1) > span:nth-child(1)").text();
17-
const driver1_0: string = $(this).find("div:nth-child(5) > div:nth-child(1) > div:nth-child(1) > div > p:nth-child(1)").text();
18-
const driver1_1: string = $(this).find("div:nth-child(5) > div:nth-child(1) > div:nth-child(1) > div > p:nth-child(2)").text();
19-
const driver2_0: string = $(this).find("div:nth-child(5) > div:nth-child(2) > div:nth-child(1) > div > p:nth-child(1)").text();
20-
const driver2_1: string = $(this).find("div:nth-child(5) > div:nth-child(2) > div:nth-child(1) > div > p:nth-child(2)").text();
15+
$("a.group").each(function() {
16+
console.log("entered");
17+
const name: string = $(this).find("div > div:nth-child(3) > div:nth-child(1) > span:nth-child(1)").text();
18+
const driver1_0: string = $(this).find("div > div:nth-child(5) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > p:nth-child(1)").text();
19+
const driver1_1: string = $(this).find("div > div:nth-child(5) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > p:nth-child(2)").text();
20+
const driver2_0: string = $(this).find("div > div:nth-child(5) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > p:nth-child(1)").text();
21+
const driver2_1: string = $(this).find("div > div:nth-child(5) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > p:nth-child(2)").text();
2122
const driver1 = driver1_0.concat(" ", driver1_1);
2223
const driver2 = driver2_0.concat(" ", driver2_1);
2324
const drivers: string[] = [driver1, driver2];
2425

25-
const carLogo: string | undefined = $(this).find("div:nth-child(1) > div:nth-child(3) > img").attr("src");
26-
const carImage: string | undefined = $(this).find("div:nth-child(1) > div:nth-child(6) > img").attr("src");
26+
const carLogo: string | undefined = $(this).find("div > div:nth-child(3) > img:nth-child(2)").attr("src");
27+
const carImage: string | undefined = $(this).find("div > div:nth-child(6) > img:nth-child(1)").attr("src");
28+
29+
const points: string | undefined = $(this).find("div> div:nth-child(1) > div:nth-child(2) > p:nth-child(1)").text();
2730

2831
if (name.length !== 0) {
2932
const team: isTeam = {
3033
name,
34+
points: parseInt(points),
3135
drivers,
3236
carLogo,
3337
carImage,

src/types/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export type isDriverStanding = {
2222

2323
export type isTeam = {
2424
name: string;
25+
points: number;
2526
drivers: string[];
2627
carLogo: string | undefined;
2728
carImage: string | undefined;

0 commit comments

Comments
 (0)