Developing RefApp 3.x E2E takes significant amount of time and resources

We have configured openmrs-spa.org server for RefApp 3.x E2E tests. Cypress is clearing the resources such as js files, CSS, and images each time we run a test. Because of that, the tests take a time to get loaded. Most of our developers are having compared slow connections, the tests are getting timeout and fail after waiting for 2 minutes. Apart from that, it consumes a lot of data. Some workflows take nearly 30MBs to get loaded. Since we all have metered connections, developing a workflow is a bit expensive.

As I see, these would be possible options to resolve the problem:

  1. Configuring Cypress to cache resources
  2. Running tests against a local server that does not depend on the internet

I went through Cypress to find a way to prevent clearing resources, but it seems they don’t have such a feature yet. There’s an ongoing discussion related to this problem here: /cypress-io/cypress Enable Lifecycle Events to be customizable #686

Furthermore, I attempted to set up a local server, but it still loads resources from a CDN. Then I manually created an import map file, but it also did not work.

Is there any way to create an isolated local server? Or any alternatives to solve the problem?

cc: @christine @grace @bistenes @jdick @florianrappl @kdaud @ibacher @pasindur2 @anjisvj @piumal1999 @kumuditha @heshan

6 Likes

I think this would be the better alternative to cut off costs related to using an online instance during development. @ibacher @bistenes @mksd @dkayiwa do we have an OpenMRS SDK 3.x set up wizard one can run to have a local instance of openmrs-spa.org? Or a documentation related to the ideal?

1 Like

This would be an awesome approach to dive into however i remember @ibacher had shared some clues about it but am not seeming to find that resource, though it seems not yet out ready

@jayasanka there is omrs3.0 for offline mode

OpenMRS,

Hopefully having a configuration of cypress is worth it, some configuration guidelines

Not sure if you have tried a dockerised docker-compose.yml for 3.0

Seems like @bistenes did work around SDK build-distro should build SPA application and wondering whether there is a documentation containing the wizard commands to the instance set up.

@ibacher @dkayiwa do you have information on this?

Yeah it’s not hard to set up a local 3.0 instance. See the Implementer Documentation.

The hard part is getting it to work in GitHub actions. Jayasanka is intimately familiar with this difficulty. See

I stopped working on this about two months ago, but I was making some progress. It would make things much better if we can manage to figure this out. I’m happy to answer questions and provide guidance, but I don’t have the bandwidth to help develop this right now.

3 Likes

thanks for the awesome information.