gsoc-2021-oppia

View the Project on GitHub aishwary023/gsoc-2021-oppia

GSoC ‘21 @ Oppia

oppia_gsoc

Oppia

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.

About the project

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.

Before GSoC

The code coverage was as follows before the beginning of GSoC: image

Before Milestone 1

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.

Milestone 1

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 ✅

Milestone 2

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 ✅

Work Completed

After GSoC

The code coverage was as follows after GSoC: image