My OpenMRS Fellowship Journey: Piumal Rathnayake

My main goal for the first two weeks of June was to find a project idea for my fellowship capstone project. Initially, I thought of doing a backend-related QA project. However, upon discovering that the backend was stable and didn’t require immediate QA improvements, I had to search for another idea.

After discussing with @jayasanka, I decided that my fellowship capstone project would involve the CI/CD pipeline, streamlining manual tests, and generating reports using the Jira Xray test management tool. I drafted a proposal and initiated a thread to discuss it further.

During the week, we had a discussion on this with @burke during the Technical Action Committee call. Unfortunately, we discovered that the Xray plugin couldn’t be installed because our Jira installation was not compatible.

Since the Jira migration won’t happen soon, we had to remove the tasks related to manual test streamlining and reporting from the project proposal. As a result, I had to revise my fellowship capstone project plan once again.

The only remaining idea we had was to improve end-to-end, unit, and integration tests to enhance test coverage and quality. However, this is a bit challenging since we have two ongoing GSOC projects based on those tests, and I have to select modules that won’t interfere with their project plans. Hopefully, we will be able to separate some modules and work on them for my fellowship capstone project.


Apart from that, these are a few updates regarding the other work I have been doing over these two weeks:

During the first week, I had the bi-monthly fellowship check-in call with both my mentor and the fellowship program administrators. The purpose of this call was to discuss my accomplishments, challenges, and upcoming milestones related to the fellowship.

You may recall that last month I started a thread to discuss the issues I faced while trying to configure the mock service worker on the esm-admin-tools repository. However, based on Ian’s insights, we decided not to use MSW as it might cause problems in the long run.

I have also been working on implementing an automatic web driver management feature for the Selenium tests in the contrib-qa-framework. Initially, I tried to achieve this using a third-party plugin, but later I discovered that the newer versions of Selenium have this feature built-in. So, I opened a pull request to add the automated web driver management feature, which provides benefits such as eliminating the need to store drivers in the repository, removing the manual update requirement for drivers, and streamlining test execution for developers who no longer have to search for drivers compatible with their operating system and browser.

The pull request was merged, but it caused some test failures due to a mismatch in the node versions we were using. Therefore, I quickly opened a follow-up PR to fix it, and now the QA framework passes all the tests successfully.