You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/0/en/part0a.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -90,14 +90,16 @@ Credits and grades are calculated as follows:
90
90
91
91
| exercises | credits | grade |
92
92
| ------------ | :------------: | :------: |
93
-
| 138 | 7 | 5 |
94
-
| 127 | 6 | 5 |
93
+
| 150 | 7 | 5 |
94
+
| 135 | 6 | 5 |
95
95
| 116 | 5 | 5 |
96
96
| 105 | 5 | 4 |
97
97
| 94 | 5 | 3 |
98
98
| 83 | 5 | 2 |
99
99
| 72 | 5 | 1 |
100
100
101
+
The 6- and 7-credit thresholds have been adjusted to reflect the new exercises in Part 5.
102
+
101
103
Once you have completed enough exercises for a passing grade, you can download the course certificate from the [submission system](https://studies.cs.helsinki.fi/stats/courses/fullstackopen).
102
104
103
105
If you wish to receive university credits, you must complete the course exam. The exam does not count toward your final grade, but you must pass it. More information about the exam [here](/en/part0/general_info#the-course-exam).
@@ -189,7 +191,6 @@ All practicalities are explained in the new course pages
The exercises are submitted through GitHub and marked as done on the "my submissions" tab of the [submission application](https://studies.cs.helsinki.fi/stats/courses/fullstackopen).
@@ -330,13 +331,13 @@ Despite changes *all the submitted exercises remain valid*, and the course can b
330
331
331
332
Recent major changes
332
333
334
+
- Part 5 (31st March 2026): React Router and style libraries have been moved from Part 7 to this part
333
335
- Parts 9, 11-13 (March 2026): content updated and material moved to new platform
334
336
- Part 8: (3th January 2026) Apollo Server updated to v5. Apollo Client updated to v4. Refactoring backend code moved to part8c. Lot's of other small improvements.
335
337
- Part 6 (12th October 2025): Jest replaced with Vitest. Axios replaced with Fetch API
336
338
- Part 5 (21st August, 2025): React updated to version 19. PropTypes and forwardRef are no longer used. ESLint configurations updated
337
339
- Part 4 (13th August, 2025): Express updated to version 5 and the express-async-errors library removed from part 4b
338
340
339
-
340
341
### Expanding on a previously completed course
341
342
342
343
If you have already taken the course either as a MOOC or as a university course, you can now expand on your course.
Copy file name to clipboardExpand all lines: src/content/0/fi/osa0a.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,14 +53,16 @@ Arvosana/opintopisterajat:
53
53
54
54
| tehtäviä | opintopisteitä | arvosana |
55
55
| ------------ | :------------: | :------: |
56
-
|138| 7 | 5 |
57
-
|127| 6 | 5 |
56
+
|150| 7 | 5 |
57
+
|135| 6 | 5 |
58
58
| 116 | 5 | 5 |
59
59
| 105 | 5 | 4 |
60
60
| 94 | 5 | 3 |
61
61
| 83 | 5 | 2 |
62
62
| 72 | 5 | 1 |
63
63
64
+
6 ja 7 opintopisteen rajaa muutettu osan 5 uusien tehtävien myötä.
65
+
64
66
Jos haluat kurssista virallisen suoritusmerkinnän, kuuluu kurssiin myös koe. Hyväksytty suoritus edellyttää kokeen läpäisemistä, koe ei kuitenkaan vaikuta arvosanaan. Lisää tietoa kurssikokeesta [täällä](/osa0/yleista/#kurssikoe).
65
67
66
68
Voit osallistua kokeeseen vasta siinä vaiheessa, kun olet tehnyt riittävästi tehtäviä 5 opintopisteen suoritukseen. Käytännössä kokeeseen ei kuitenkaan kannata osallistua heti, kun riittävä tehtäväpistemäärä on suoritettu. Koe on sisällöltään sama riippumatta siitä, onko suorituksesi laajuus 5–14 opintopistettä. Koe ei vaikuta kurssilta saamaasi arvosanaan. Kokeen läpipääsyyn riittää 75 % kokeen tarjolla olevista pisteistä.
@@ -274,6 +276,7 @@ Kurssilla ei ole vuosittaisia versiota. Kurssi on siis käynnissä koko ajan. Jo
274
276
Muutoksista huolimatta <i>kaikki jo tehdyt palautukset säilyvät voimassa</i>, eli voit jatkaa kurssia päivityksistä huolimatta normaaliin tapaan.
275
277
276
278
Viimeaikaisia isompia muutoksia
279
+
- Osa 5 (31.3.2026): Cypressiä käsittelevä osuus poistettu. React Router ja tyylikirjastot siirretty osasta 7 tähän osaan
277
280
- Osat 9 ja 11-13 (maaliskuu 2026): sisältö päivitetty ja materiaali siirretty uuteen osoitteeseen
278
281
- Osa 8: (3.1.2026) Apollo Server päivitetty versioon v5. Apollo Client päivitetty versioon v4. Backend-koodin refaktorointi siirretty osaan 8c. Lukuisia muita pieniä parannuksia.
279
282
- Osa 6 (12.10.2025): Jest korvattu Vitestillä. Axios korvattu Fetch API:lla.
Copy file name to clipboardExpand all lines: src/content/5/en/part5.md
+3-6Lines changed: 3 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,12 +8,9 @@ lang: en
8
8
9
9
In this part we return to the frontend, first looking at different possibilities for testing the React code. We will also implement token based authentication which will enable users to log in to our application.
10
10
11
-
<i>Section updated 21st August 2025</i>
11
+
<i>Section updated on March 31, 2026</i>
12
12
13
-
- <i>Node updated to version v22.3.0</i>
14
-
- <i>React version updated from v18 to v19. PropTypes and forwardRef has deprecated</i>
15
-
- <i>A label element has been added to the login form fields and used later in tests to identify the fields</i>
16
-
- <i>.eslintrc.cjs replaced with eslint.config.js file</i>
17
-
- <i>.eslintignore replaced with configuration in eslint.config.js</i>
13
+
- <i>Cypress removed</i>
14
+
- <i>Topics related to React Router and style libraries moved from Part 7 to this part</i>
Copy file name to clipboardExpand all lines: src/content/5/en/part5d.md
+5-14Lines changed: 5 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,8 +12,7 @@ So far we have tested the backend as a whole on an API level using integration t
12
12
Next, we will look into one way to test the [system as a whole](https://en.wikipedia.org/wiki/System_testing) using <i>End to End</i> (E2E) tests.
13
13
14
14
We can do E2E testing of a web application using a browser and a testing library. There are multiple libraries available. One example is [Selenium](http://www.seleniumhq.org/), which can be used with almost any browser.
15
-
Another browser option is so-called [headless browsers](https://en.wikipedia.org/wiki/Headless_browser), which are browsers with no graphical user interface.
16
-
For example, Chrome can be used in headless mode.
15
+
Another browser option is so-called [headless browsers](https://en.wikipedia.org/wiki/Headless_browser), which are browsers with no graphical user interface. For example, Chrome can be used in headless mode.
17
16
18
17
E2E tests are potentially the most useful category of tests because they test the system through the same interface as real users use.
19
18
@@ -22,23 +21,17 @@ They do have some drawbacks too. Configuring E2E tests is more challenging than
22
21
E2E tests can also be [flaky](https://hackernoon.com/flaky-tests-a-war-that-never-ends-9aa32fdef359).
23
22
Some tests might pass one time and fail another, even if the code does not change at all.
24
23
25
-
Perhaps the two easiest libraries for End to End testing at the moment are [Cypress](https://www.cypress.io/) and [Playwright](https://playwright.dev/).
24
+
Perhaps the two easiest libraries for End to End testing at the moment are [Playwright](https://playwright.dev/) and [Cypress](https://www.cypress.io/).
26
25
27
26
From the statistics on [npmtrends.com](https://npmtrends.com/cypress-vs-playwright) we can see that Playwright surpassed Cypress in download numbers during 2024, and its popularity continues to grow:
28
27
29
-

28
+

30
29
31
-
This course has been using Cypress for years. Now Playwright is a new addition. You can choose whether to complete the E2E testing part of the course with Cypress or Playwright. The operating principles of both libraries are very similar, so your choice is not very important. However, Playwright is now the preferred E2E library for the course.
30
+
This course has been using Cypress for years. Now our choice is Playwright.
32
31
33
-
If your choice is Playwright, please proceed. If you end up using Cypress, go [here](/en/part5/end_to_end_testing_cypress).
34
32
35
-
### Playwright
33
+
So [Playwright](https://playwright.dev/) is a newcomer to the End to End tests, which started to explode in popularity towards the end of 2023. Playwright is roughly on a par with Cypress in terms of ease of use. The libraries are slightly different in terms of how they work. Cypress is radically different from most libraries suitable for E2E testing, as Cypress tests are run entirely within the browser. Playwright's tests, on the other hand, are executed in the Node process, which is connected to the browser via programming interfaces.
36
34
37
-
So [Playwright](https://playwright.dev/) is a newcomer to the End to End tests, which started to explode in popularity towards the end of 2023. Playwright is roughly on a par with Cypress in terms of ease of use. The libraries are slightly different in terms of how they work. Cypress is radically different from most libraries suitable for E2E testing, as Cypress tests are run entirely within the browser. Playwright's tests, on the other hand, are executed in the Node process, which is connected to the browser via programming interfaces.
38
-
39
-
Many blogs have been written about library comparisons, e.g. [this](https://www.lambdatest.com/blog/cypress-vs-playwright/) and [this](https://www.browserstack.com/guide/playwright-vs-cypress).
40
-
41
-
It is difficult to say which library is better. One advantage of Playwright is its browser support; Playwright supports Chrome, Firefox and Webkit-based browsers like Safari. Currently, Cypress includes support for all these browsers, although Webkit support is experimental and does not support all of Cypress features. At the time of writing (1.3.2024), my personal preference leans slightly towards Playwright.
42
35
43
36
Now let's explore Playwright.
44
37
@@ -1343,6 +1336,4 @@ Do a test that ensures that the blogs are arranged in the order according to the
1343
1336
1344
1337
<i>This task is significantly more challenging than the previous ones.</i>
1345
1338
1346
-
This was the last task of the section and it's time to push the code to GitHub and mark the completed tasks in the [exercise submission system](https://studies.cs.helsinki.fi/stats/courses/fullstackopen).
0 commit comments