Oppia is a platform which provides a novel and engaging approach to online learning for underprivileged children around the world. Oppia is specially designed to meet the unique needs of the under-resourced children.
Oppia uses AngularJs/Angular 2+ for its frontend and has a massive codebase. It is crucial to test this code in order to catch bugs before it reaches production. The aim of my GSoC project was to increase the code coverage by writing Frontend Unit Tests for directives, components, and services. Since the number of lines of code was a lot, the files were divided among 3 students. I was assigned 3207 lines to cover.
The code coverage was as follows before the beginning of GSoC:
Before milestone 1 began, I created 2 PRs which were extensively reviewed by @seanlip, @kevintab95, and @nithusha21. You can see the 2 practice PRs and the extensive code review done by the mentors here:
Sr No. | PR | Status |
---|---|---|
1 | oppia/oppia#12936 | Merged ✅ |
2 | oppia/oppia#12946 | Merged ✅ |
Based on the review received on these PRs, we created a section in the wiki page adding 📝 Guidelines to write robust tests.
I covered 1785 lines during milestone 1. Following PRs were created during Milestone 1:
Sr No. | PR | Status |
---|---|---|
1 | oppia/oppia#13069 | Merged ✅ |
2 | oppia/oppia#13102 | Merged ✅ |
3 | oppia/oppia#13217 | Merged ✅ |
4 | oppia/oppia#13154 | Merged ✅ |
5 | oppia/oppia#13110 | Merged ✅ |
6 | oppia/oppia#13138 | Merged ✅ |
7 | oppia/oppia#13126 | Merged ✅ |
8 | oppia/oppia#13176 | Merged ✅ |
9 | oppia/oppia#13217 | Merged ✅ |
10 | oppia/oppia#13217 | Merged ✅ |
11 | oppia/oppia#13287 | Merged ✅ |
12 | oppia/oppia#13322 | Merged ✅ |
13 | oppia/oppia#13334 | Merged ✅ |
Covered 1216 lines during Milestone 2.
Sr No. | PR | Status |
---|---|---|
1 | oppia/oppia#13418 | Merged ✅ |
2 | oppia/oppia#13442 | Merged ✅ |
3 | oppia/oppia#13479 | Merged ✅ |
4 | oppia/oppia#13554 | Merged ✅ |
5 | oppia/oppia#13587 | Merged ✅ |
6 | oppia/oppia#13606 | Merged ✅ |
7 | oppia/oppia#13673 | Merged ✅ |
8 | oppia/oppia#13685 | Merged ✅ |
9 | oppia/oppia#13366 | Merged ✅ |
The code coverage was as follows after GSoC: