Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New View Tests #62

Merged
merged 20 commits into from
Oct 18, 2017
7 changes: 7 additions & 0 deletions healthtools/manage.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
import os
import inspect
import sys
currentdir = os.path.dirname(os.path.abspath(
inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
sys.path.insert(0, parentdir)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are these four lines of code for?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Awinja-Andela ☝️

import logging

from healthtools.core import create_app
Expand Down
Binary file added healthtools/tests.zip
Binary file not shown.
76 changes: 76 additions & 0 deletions healthtools/tests/clinical_officer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import os
import inspect
import sys
currentdir = os.path.dirname(os.path.abspath(
inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
sys.path.insert(0, parentdir)
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)
75 changes: 75 additions & 0 deletions healthtools/tests/doctor.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
import os
import inspect
import sys
currentdir = os.path.dirname(os.path.abspath(
inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
sys.path.insert(0, parentdir)
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)
77 changes: 77 additions & 0 deletions healthtools/tests/health_facilities.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import os
import inspect
import sys

currentdir = os.path.dirname(os.path.abspath(
inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
sys.path.insert(0, parentdir)
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)
77 changes: 77 additions & 0 deletions healthtools/tests/nhif_inpatient.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import os
import inspect
import sys

currentdir = os.path.dirname(os.path.abspath(
inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
sys.path.insert(0, parentdir)
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)
77 changes: 77 additions & 0 deletions healthtools/tests/nhif_outpatient.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import os
import inspect
import sys

currentdir = os.path.dirname(os.path.abspath(
inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
sys.path.insert(0, parentdir)
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)
Loading