Skip to content

Commit efc2fe6

Browse files
committed
part 5 changes
1 parent 131d447 commit efc2fe6

37 files changed

+1575
-1672
lines changed

src/content/0/en/part0a.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,16 @@ Credits and grades are calculated as follows:
9090
9191
| exercises | credits | grade |
9292
| ------------ | :------------: | :------: |
93-
| 138 | 7 | 5 |
94-
| 127 | 6 | 5 |
93+
| 150 | 7 | 5 |
94+
| 135 | 6 | 5 |
9595
| 116 | 5 | 5 |
9696
| 105 | 5 | 4 |
9797
| 94 | 5 | 3 |
9898
| 83 | 5 | 2 |
9999
| 72 | 5 | 1 |
100100
101+
The 6- and 7-credit thresholds have been adjusted to reflect the new exercises in Part 5.
102+
101103
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).
102104
103105
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
189191
- <a href="https://courses.mooc.fi/org/uh-cs/courses/full-stack-open-containers">part 12</a>
190192
- <a href="https://courses.mooc.fi/org/uh-cs/courses/full-stack-open-relational-databases">part 13</a>
191193
192-
193194
### Submitting exercises
194195
195196
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
330331
331332
Recent major changes
332333
334+
- Part 5 (31st March 2026): React Router and style libraries have been moved from Part 7 to this part
333335
- Parts 9, 11-13 (March 2026): content updated and material moved to new platform
334336
- 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.
335337
- Part 6 (12th October 2025): Jest replaced with Vitest. Axios replaced with Fetch API
336338
- Part 5 (21st August, 2025): React updated to version 19. PropTypes and forwardRef are no longer used. ESLint configurations updated
337339
- Part 4 (13th August, 2025): Express updated to version 5 and the express-async-errors library removed from part 4b
338340
339-
340341
### Expanding on a previously completed course
341342
342343
If you have already taken the course either as a MOOC or as a university course, you can now expand on your course.

src/content/0/fi/osa0a.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,16 @@ Arvosana/opintopisterajat:
5353

5454
| tehtäviä | opintopisteitä | arvosana | 
5555
| ------------ | :------------: | :------: |
56-
| 138 | 7 | 5 |
57-
| 127 | 6 | 5 |
56+
| 150 | 7 | 5 |
57+
| 135 | 6 | 5 |
5858
| 116 | 5 | 5 |
5959
| 105 | 5 | 4 |
6060
| 94 | 5 | 3 |
6161
| 83 | 5 | 2 |
6262
| 72 | 5 | 1 |
6363

64+
6 ja 7 opintopisteen rajaa muutettu osan 5 uusien tehtävien myötä.
65+
6466
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).
6567

6668
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
274276
Muutoksista huolimatta <i>kaikki jo tehdyt palautukset säilyvät voimassa</i>, eli voit jatkaa kurssia päivityksistä huolimatta normaaliin tapaan.
275277

276278
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
277280
- Osat 9 ja 11-13 (maaliskuu 2026): sisältö päivitetty ja materiaali siirretty uuteen osoitteeseen
278281
- 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.
279282
- Osa 6 (12.10.2025): Jest korvattu Vitestillä. Axios korvattu Fetch API:lla.

src/content/5/en/part5.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,9 @@ lang: en
88

99
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.
1010

11-
<i>Section updated 21st August 2025</i>
11+
<i>Section updated on March 31, 2026</i>
1212

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>
1815

1916
</div>

src/content/5/en/part5d.md

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ So far we have tested the backend as a whole on an API level using integration t
1212
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.
1313

1414
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.
1716

1817
E2E tests are potentially the most useful category of tests because they test the system through the same interface as real users use.
1918

@@ -22,23 +21,17 @@ They do have some drawbacks too. Configuring E2E tests is more challenging than
2221
E2E tests can also be [flaky](https://hackernoon.com/flaky-tests-a-war-that-never-ends-9aa32fdef359).
2322
Some tests might pass one time and fail another, even if the code does not change at all.
2423

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/).
2625

2726
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:
2827

29-
![cypress vs playwright in npm trends](../../images/5/cvsp.png)
28+
![cypress vs playwright in npm trends](../../images/5/pwc.png)
3029

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.
3231

33-
If your choice is Playwright, please proceed. If you end up using Cypress, go [here](/en/part5/end_to_end_testing_cypress).
3432

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.
3634

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.
4235

4336
Now let's explore Playwright.
4437

@@ -1343,6 +1336,4 @@ Do a test that ensures that the blogs are arranged in the order according to the
13431336

13441337
<i>This task is significantly more challenging than the previous ones.</i>
13451338

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).
1347-
13481339
</div>

0 commit comments

Comments
 (0)