It’s time to be isolated.

My Google Summer of Code Journey — Week 7

This is the seventh week of my GSoC project. Since my Kawesi passed away, Brandon became my primary mentor. We had a call last Thursday to plan the next steps of the project. Here are the defined key milestones:

EOW July 26
Solution for data mutation management
Registration Workflow

EOW August 2
Clinical Visit Workflow

EOW August 9
Triaging & Vitals Workflow
User Settings Workflow

The main focus of this week was to make the tests repeatable despite data mutations. The tests should ideally be run against a dockerized server and dockerized database, with the data stored in the container itself. Such that any changes are lost each time a new container is spun up. The QA team follows the same process for the 2.x tests.

Brandon started a conversation on the QA Team’s Slack group. Following some deliberation, we decided to use the RefApp 2.x docker image and run the 3.x frontend on top of it. We’d prefer to test against a 3.x image, but the SPA dev environment is actually a repurposed RefApp 2.9 image. As a result, having a 2.x image will allow us to complete the project in the allotted time frame rather than investing time in creating a 3.x image.

Then I started creating a new GitHub workflow file. I reused an existing docker composer file that spins up an OpenMRS instance along with a MySQL instance. It runs an OpenMRS instance in 8080 port. The 3.x frontend will run on top of that using the following command:

npx openmrs@next start — backend http://localhost:8080 — port 8081

It runs the 3.x frontend in the 8081 port.

This is the PR I sent:

The setup runs on my local machine, but it throws an error when running it on GitHub. It seems cypress cannot access the frontend. I’m working together with the QA team to resolve the issue as soon as possible.