My OpenMRS Fellowship Journey: Piumal Rathnayake

Hi all, I’m back with my fellowship journey updates for the latter half of May.

One of my main tasks for these two weeks was to configure the mock service worker (MSW) on the esm-admin-tools repository to enhance the component tests. Previously, there were some dependency and configuration issues in the esm-admin-tools repository that were hindering my progress in setting up MSW. Fortunately, @ibacher resolved those issues at the beginning of the week, allowing me to proceed with configuring MockServiceWorker (MSW) on the repo.

With MockServiceWorker, we can intercept API calls specified in the handlers and replace them with predefined responses when running the tests. Using it have some advantages such as easier usage, reducing duplication of mock setup across tests, and having simpler and cleaner code.

By following the MSW documentation, I configured it on the esm-admin-tools repository with a sample handler with this pull request . However, I encountered an issue where this network call interception didn’t work with the esm-admin-tools repository. To address this matter, I initiated a discussion on OpenMRS Talk.

In addition, I worked on a task related to the RefApp 2.x tests. I discovered that we had written two sets of E2E tests for the 2.x OCL subscription module in the contrib-qa-framework repository. One test was developed using Selenium, while the other was created using Cypress. The Cypress test was the only remaining Cypress test in the QA framework. After reviewing both feature files, I noticed that the Selenium test have more detailed steps. As a result, I created a ticket and submitted a pull request to remove the duplicate e2e test, which was written in cypress. This also allows us to remove Cypress from the contrib-qa-framework repository, enabling us to use the repository solely for Selenium 2.x tests.

During this week, I also focused on my fellowship capstone project. I had discussions with @jayasanka to choose a project idea. Together, we identified some problems in the existing QA process of OpenMRS and decided to develop a project idea involving automated testing in CI/CD pipelines, reporting, and manual test management. Currently, I’m working on my project proposal and hope to get it approved soon so that I can start working on it in June.

Apart from these tasks, I had my regular meetings with GSoC mentees and also reviewed some pull requests.