Skip to content

Commit

Permalink
New View Tests (#62)
Browse files Browse the repository at this point in the history
* added view tests files

* removed print statement, modified nhif files

* modification

* changed doctor and clinical officers

* added health facilitites

* added nhif inpatient

* added nhif outpatient

* added nhif outpatient cs

* added nurses

* modified test files

* removed sys path lines

* removed unnecessary lines from manage.py

* added .idea/

* removed .idea folder

* removed test.zip

* updated readme.md with nosetest commands

* spacing nosetests commands

* Update README.md
  • Loading branch information
Joan Awinja Ingari authored and DavidLemayian committed Oct 18, 2017
1 parent 61de756 commit 72e1a49
Show file tree
Hide file tree
Showing 9 changed files with 545 additions and 7 deletions.
4 changes: 0 additions & 4 deletions .gitignore
Expand Up @@ -93,9 +93,5 @@ ENV/

# OS X
*.DS_Store
*.idea

# Telegram Bot SSL settings
cert.pem
private.key
.idea/
16 changes: 13 additions & 3 deletions README.md
Expand Up @@ -22,9 +22,19 @@ Install the dependencies by running `$ pip install -r requirements.txt`

### Tests

Use nosetests to run tests (with stdout) like this:
```$ nosetests --nocapture```

Use nosetests to run tests (with stdout) like so:

```sh
$ nosetests --nocapture
$ nosetests healthtools/tests
$ nosetests healthtools/tests/doctor.py
$ nosetests healthtools/tests/nurse.py
$ nosetests healthtools/tests/clinical_officer.py
$ nosetests healthtools/tests/health_facilities.py
$ nosetests healthtools/tests/nhif_inpatient.py
$ nosetests healthtools/tests/nhif_outpatient.py
$ nosetests healthtools/tests/nhif_outpatient_cs.py
```

## Contributing

Expand Down
71 changes: 71 additions & 0 deletions healthtools/tests/clinical_officer.py
@@ -0,0 +1,71 @@
"""
This test for clinical officers end point
"""
import unittest
from healthtools.manage import app

class TestSetup(unittest.TestCase):
def setUp(self):
self.client = app.test_client()

class TestClinicalOfficersAPIWithDoctype(TestSetup):
"""
This tests clinical officers search api with doctype
"""
def test_cos_endpoint_without_query(self):
"""
This tests running cos endpoint with valid doctype and no query
"""
response = self.client.get("search/clinical-officers?q=")
self.assertIn(b"ELIKANAH KEBAGENDI OMWENGA", response.data)


def test_cos_endpoint_gets_clinical_officers(self):
"""
This tests running cos endpoint with valid doctype and query
"""
response = self.client.get("search/clinical-officers?q=DABASO GARAMBODA")
self.assertIn(b"OK", response.data)

def test_cos_endpoint_with_bad_endpoint(self):
"""
This tests running an endpoint with incorrect/unavailable doctype
"""
response = self.client.get("search/clinicalofficers?q=DABASO GARAMBODA")
self.assertIn(b'"status": "FAILED"', response.data)


class TestClinicalOfficersAPIWithoutDoctype(TestSetup):
"""
This tests clinical officers search api without doctype, keywords are used instead
"""
def test_cos_endpoint_without_keyword_in_query(self):
response = self.client.get("search?q=john")
self.assertIn(b'"status": "FAILED"', response.data)

def test_cos_endpoint_gets_clinical_officers(self):
response = self.client.get("search?q=clinical oficer DABASO GARAMBODA")
self.assertIn(b"OK", response.data)

def test_cos_endpoint_with_keyword_only(self):
"""
This tests running cos endpoint with correct available keyword only
"""
response = self.client.get("search?q=CO")
self.assertIn(b'"status": "FAILED"', response.data)


def test_cos_endpoint_without_query(self):
"""
This tests running cos endpoint without query
"""
response = self.client.get("search?q=")
self.assertIn(b'"status": "FAILED"', response.data)


def test_cos_endpoint_with_nonkeyword(self):
"""
This tests running cos endpoint with a keyword that is unavailable.
"""
response = self.client.get("search?q=maji john")
self.assertIn(b'"status": "FAILED"', response.data)
71 changes: 71 additions & 0 deletions healthtools/tests/doctor.py
@@ -0,0 +1,71 @@
"""
This test for doctors end point
"""
import unittest
from healthtools.manage import app

class TestSetup(unittest.TestCase):
def setUp(self):
self.client = app.test_client()

class TestDoctorsAPIWithDoctype(TestSetup):
"""
This tests doctors search api with doctype
"""

def test_doctors_endpoint_without_query(self):
"""
This tests running doctors endpoint with valid doctype and no query
"""
response = self.client.get("search/doctors?q=")
self.assertIn(b"DR NARAYAN VIJAYA KUMAR", response.data)


def test_doctors_endpoint_gets_doctors(self):
"""
This tests running doctors endpoint with valid doctype and query
"""
response = self.client.get("search/doctors?q=john")
self.assertIn(b"OK", response.data)

def test_doctors_endpoint_with_bad_endpoint(self):
"""
This tests running an endpoint with incorrect/unavailable doctype
"""
response = self.client.get("search/doctor?q=john")
self.assertIn(b'"status": "FAILED"', response.data)

class TestDoctorsAPIWithoutDoctype(TestSetup):
"""
This tests doctors search api without doctype, keywords are used instead
"""
def test_doctors_endpoint_without_keyword_in_query(self):
response = self.client.get("search?q=john")
self.assertIn(b'"status": "FAILED"', response.data)

def test_doctors_endpoint_gets_doctors(self):
response = self.client.get("search?q=daktari John")
self.assertIn(b"OK", response.data)

def test_doctors_endpoint_with_keyword_only(self):
"""
This tests running doctors endpoint with correct available keyword only
"""
response = self.client.get("search?q=daktari")
self.assertIn(b'"status": "FAILED"', response.data)


def test_doctors_endpoint_without_query(self):
"""
This tests running doctors endpoint without query
"""
response = self.client.get("search?q=")
self.assertIn(b'"status": "FAILED"', response.data)


def test_doctors_endpoint_with_nonkeyword(self):
"""
This tests running doctors endpoint with a keyword that is unavailable.
"""
response = self.client.get("search?q=maji john")
self.assertIn(b'"status": "FAILED"', response.data)
72 changes: 72 additions & 0 deletions healthtools/tests/health_facilities.py
@@ -0,0 +1,72 @@
"""
This test for health facilitites end point
"""
import unittest
from healthtools.manage import app


class TestSetup(unittest.TestCase):
def setUp(self):
self.client = app.test_client()


class TestHealthFacilitiesAPIWithDoctype(TestSetup):
"""
This tests health-facilities search api with doctype
"""

def test_health_facilities_endpoint_without_query(self):
"""
This tests running health-facilities endpoint with valid doctype and no query
"""
response = self.client.get("search/health-facilities?q=")
self.assertIn(b"Tamba Pwani", response.data)

def test_health_facilities_endpoint_gets_health_facilities(self):
"""
This tests running health-facilities endpoint with valid doctype and query
"""
response = self.client.get("search/health-facilities?q=eldoret")
self.assertIn(b"OK", response.data)

def test_health_facilities_endpoint_with_bad_endpoint(self):
"""
This tests running an endpoint with incorrect/unavailable doctype
"""
response = self.client.get("search/healthfacilities?q=Kitale")
self.assertIn(b'"status": "FAILED"', response.data)


class TestHealthFacilitiesAPIWithoutDoctype(TestSetup):
"""
This tests health-facilities search api without doctype, keywords are used instead
"""

def test_health_facilities_endpoint_without_keyword_in_query(self):
response = self.client.get("search?q=kakamega")
self.assertIn(b'"status": "FAILED"', response.data)

def test_health_facilities_endpoint_gets_health_facilities(self):
response = self.client.get("search?q=dispensary Kilifi")
self.assertIn(b"OK", response.data)

def test_health_facilities_endpoint_with_keyword_only(self):
"""
This tests running health-facilities endpoint with correct available keyword only
"""
response = self.client.get("search?q=hf")
self.assertIn(b'"status": "FAILED"', response.data)

def test_health_facilities_endpoint_without_query(self):
"""
This tests running health-facilities endpoint without query
"""
response = self.client.get("search?q=")
self.assertIn(b'"status": "FAILED"', response.data)

def test_health_facilities_endpoint_with_nonkeyword(self):
"""
This tests running health-facilities endpoint with a keyword that is unavailable.
"""
response = self.client.get("search?q=maji Mombasa")
self.assertIn(b'"status": "FAILED"', response.data)
72 changes: 72 additions & 0 deletions healthtools/tests/nhif_inpatient.py
@@ -0,0 +1,72 @@
"""
This test for nhif inpatient end point
"""
import unittest
from healthtools.manage import app


class TestSetup(unittest.TestCase):
def setUp(self):
self.client = app.test_client()


class TestNhifInpatientAPIWithDoctype(TestSetup):
"""
This tests nhif-inpatient search api with doctype
"""

def test_nhif_inpatient_endpoint_without_query(self):
"""
This tests running nhif-inpatient endpoint with valid doctype and no query
"""
response = self.client.get("search/nhif-inpatient?q=")
self.assertIn(b"MARIE STOPES KENYA LIMITED", response.data)

def test_nhif_inpatient_endpoint_gets_nhif_inpatient(self):
"""
This tests running nhif-inpatient endpoint with valid doctype and query
"""
response = self.client.get("search/nhif-inpatient?q=MATHARE")
self.assertIn(b"OK", response.data)

def test_nhif_inpatient_endpoint_with_bad_endpoint(self):
"""
This tests running an endpoint with incorrect/unavailable doctype
"""
response = self.client.get("search/nhifinpatient?q=MATHARE")
self.assertIn(b'"status": "FAILED"', response.data)


class TestNhifInpatientAPIWithoutDoctype(TestSetup):
"""
This tests nhif-inpatient search api without doctype, keywords are used instead
"""

def test_nhif_inpatient_endpoint_without_keyword_in_query(self):
response = self.client.get("search?q=Kilifi")
self.assertIn(b'"status": "FAILED"', response.data)

def test_nhif_inpatient_endpoint_gets_nhif_inpatient(self):
response = self.client.get("search?q=bima inpatient Kilifi")
self.assertIn(b"OK", response.data)

def test_nhif_inpatient_endpoint_with_keyword_only(self):
"""
This tests running nhif-inpatient endpoint with correct available keyword only
"""
response = self.client.get("search?q=inpatient insurance")
self.assertIn(b'"status": "FAILED"', response.data)

def test_nhif_inpatient_endpoint_without_query(self):
"""
This tests running nhif-inpatient endpoint without query
"""
response = self.client.get("search?q=")
self.assertIn(b'"status": "FAILED"', response.data)

def test_nhif_inpatient_endpoint_with_nonkeyword(self):
"""
This tests running nhif-inpatient endpoint with a keyword that is unavailable.
"""
response = self.client.get("search?q=maji Kilifi")
self.assertIn(b'"status": "FAILED"', response.data)
72 changes: 72 additions & 0 deletions healthtools/tests/nhif_outpatient.py
@@ -0,0 +1,72 @@
"""
This test for nhif outpatient end point
"""
import unittest
from healthtools.manage import app


class TestSetup(unittest.TestCase):
def setUp(self):
self.client = app.test_client()


class TestNhifOutpatientAPIWithDoctype(TestSetup):
"""
This tests nhif-outpatient search api with doctype
"""

def test_nhif_outpatient_endpoint_without_query(self):
"""
This tests running nhif-outpatient endpoint with valid doctype and no query
"""
response = self.client.get("search/nhif-outpatient?q=")
self.assertIn(b"AMIN WOMEN'S CARE CLINIC", response.data)

def test_nhif_outpatient_endpoint_gets_nhif_outpatient(self):
"""
This tests running nhif-outpatient endpoint with valid doctype and query
"""
response = self.client.get("search/nhif-outpatient?q=BRISTOL")
self.assertIn(b"OK", response.data)

def test_nhif_outpatient_endpoint_with_bad_endpoint(self):
"""
This tests running an endpoint with incorrect/unavailable doctype
"""
response = self.client.get("search/nhifoutpatient?q=BRISTOL")
self.assertIn(b'"status": "FAILED"', response.data)


class TestNhifOutpatientAPIWithoutDoctype(TestSetup):
"""
This tests nhif-outpatient search api without doctype, keywords are used instead
"""

def test_nhif_outpatient_endpoint_without_keyword_in_query(self):
response = self.client.get("search?q=Kenyatta")
self.assertIn(b'"status": "FAILED"', response.data)

def test_nhif_outpatient_endpoint_gets_nhif_outpatient(self):
response = self.client.get("search?q=bima outpatient Kilifi")
self.assertIn(b"OK", response.data)

def test_nhif_outpatient_endpoint_with_keyword_only(self):
"""
This tests running nhif-outpatient endpoint with correct available keyword only
"""
response = self.client.get("search?q=outpatient insurance")
self.assertIn(b'"status": "FAILED"', response.data)

def test_nhif_outpatient_endpoint_without_query(self):
"""
This tests running nhif-outpatient endpoint without query
"""
response = self.client.get("search?q=")
self.assertIn(b'"status": "FAILED"', response.data)

def test_nhif_outpatient_endpoint_with_nonkeyword(self):
"""
This tests running nhif-outpatient endpoint with a keyword that is unavailable.
"""
response = self.client.get("search?q=maji Kilifi")
self.assertIn(b'"status": "FAILED"', response.data)

0 comments on commit 72e1a49

Please sign in to comment.