Giter Club home page Giter Club logo

bahmni-gauge's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bahmni-gauge's Issues

Add test cases for users with specific roles

This test case should test the role-based access for Bahmni. The following needs to be verified

  1. A user with Read-Only access should not be able to save data in Bahmni
  2. A user with Registration access should not access any other apps

Common: Support for inactivating the patients using API

We should be able to support inactivating the patients as part of TearDown step.

  • Create a method called retirePatient() in BahmniRestClient. A REST call should be made to retire the patient by identifier.
  • Create a step in RegistrationFirstPageSpec which takes the patient detail from the DataStore and invokes the above method
  • Add this step in all the existing test specs

bacteriology-results-control: Support for Bacteriology Results DisplayControl in Bahmni gauge commons

The Bacteriology Results Control looks like this. Create support for it bahmni-gauge-commons like this ObsDisplayControl

This class should accept WebElement as a constructor. It should expose the below methods

Map<String, String> getValues(String resultName){} - The key is the header column name and the String are the values. The resultName denotes the various results like Smear Microscopy Test Results, Xpert Test Results

Passwords should not be available in plain text in the spec files

We should not be putting passwords in plain text in the specs as we check-in the files to the github. We should store these passwords either as CSV file (managed internally in an environment without checking-in) or as environment variables (manage as secure variables in gocd).

Steps like this should be avoided - Login with username "superman" and password "Admin12345"

Create a gauge step for creating a bahmni form using REST services

Context

To test some display controls on the patient dashboard, its often handy to save the form using an API. It saves time for test execution as well.

Create a gauge step for creating any form using REST Services

Tech Tasks

  • Every implementation will be creating an object for each form. For e.g. BaselineForm of endtb will have a class defined. These class should extend BahmniForm
  • Create a method in BahmniRestClient with the below signature. The ftlTemplateName is driven through the implementation specific freemarker templates of JSON.

void saveObservationForm(String ftlTemplateName, BahmniForm form)

  • Write a step in ObservationPageSpec called

    create the form using api

Drug Orders: Support for Drug Order API in Bahmni gauge commons

Add support for adding multiple Drugs in one API call

  1. Create a class called DrugOrder. This class should support all the fields that are accepted by UI.
  2. Add the below method in BahmniRestClient
    createDrugOrders(List<DrugOrder> drugOrders) - Creates the drug orders using EMRAPI
  3. The spec should accept a table containing various fields required for creation of drug order. This table should be able to accept multiple drug orders (i.e. multiple rows should be supported in the table).

Bacteriology - Support for creating a Bacteriology Sample using API

Add support for adding bacteriology sample using API.

  1. Create a class called Specimen. This class should support all the fields that are accepted by UI for creating a specimen.
  2. Add the below method in BahmniRestClient createBacteriologySpecimen(Specimen specimen) - Creates the Bacteriology sample using EMRAPI
  3. The spec should accept a table containing various fields required for creation of sample. This table should be able to accept multiple Samples (i.e. multiple rows should be supported in the table).

endtb: Support for sanity tests of various users

Support for sanity tests in various environments. Add the sanity tag to these testcases so that it can be run on multiple environments

  • Ensure that msfuser1 is existing on the environment
  • Ensure that pihuser1 is existing on the environment
  • Ensure that irduser1 is existing on the environment

Treatment Tab - Support for UI automation of Treatment Tab

This story is linked to 17.

  1. The DrugOrder class created in issue 17 should be used to fill up the Treatment tab.
  2. Create TreatmentPage class. Add a method called createDrugOrder() to create a drug order
  3. Add TreatmentPageSpec class. This class should contain steps to accept a Table of DrugOrder.

forms-table: Support for Form Edit Display Control in gauge-commons

The Forms Edit Display Control looks like this. Create support for it bahmni-gauge-commons like this ObsDisplayControl

This class should accept WebElement as a constructor. It should expose the below methods

List getValues(){} - Returns the list of forms that are configured on the display control.

Future enhancements could be based on the edit part of the display control. It is out of scope for this card.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.