def setUpClass(cls):
     cls.manager = get_db_manager('http://localhost:5984/',
                                  uniq('mangrove-test'))
     initializer._create_views(cls.manager)
     cls.entity_type = ["HealthFacility", "Clinic"]
     safe_define_type(cls.manager, ["HealthFacility", "Clinic"])
     cls._create_form_model()
Exemple #2
0
 def setUpClass(cls):
     FormModelDocument.registered_functions = []
     cls.db_name = uniq('mangrove-test')
     cls.manager = get_db_manager('http://localhost:5984/', cls.db_name)
     initializer._create_views(cls.manager)
     create_views(cls.manager)
     question1 = UniqueIdField(unique_id_type='clinic',
                               name="entity_question",
                               code="ID",
                               label="What is associated entity")
     question2 = TextField(name="question1_Name",
                           code="Q1",
                           label="What is your name",
                           defaultValue="some default value",
                           constraints=[TextLengthConstraint(5, 10)])
     cls.project1 = Project(dbm=cls.manager,
                            name=project1_name,
                            goals="Testing",
                            devices=['web'],
                            form_code="abc",
                            fields=[question1, question2])
     cls.project1_id = cls.project1.save()
     cls.project2 = Project(dbm=cls.manager,
                            name=project2_name,
                            goals="Testing",
                            devices=['web'],
                            form_code="def",
                            fields=[question1, question2])
     cls.project2_id = cls.project2.save()
 def setUp(self):
     MangroveTestCase.setUp(self)
     database_name = uniq('feed-mangrove-test')
     self.feed_manager = get_db_manager('http://localhost:6984/',
                                        database_name)
     _delete_db_and_remove_db_manager(self.feed_manager)
     self.feed_manager = get_db_manager('http://localhost:6984/',
                                        database_name)
     self.owner_uid = self.create_reporter().id
     TestData(self.manager)
Exemple #4
0
    def setUpClass(cls):
        EntityDocument.registered_functions = []
        database_name = uniq('mangrove-test')
        cls.manager = get_db_manager('http://localhost:5984/', database_name)
        _delete_db_and_remove_db_manager(cls.manager)
        cls.manager = get_db_manager('http://localhost:5984/', database_name)
        initializer._create_views(cls.manager)

        cls.org_id = 'SLX364903'
        cls._prepare_sms_data_senders()
        cls.test_ds_id = get_by_short_code_include_voided(
            cls.manager, "test", REPORTER_ENTITY_TYPE).id
        deleted_ds = get_by_short_code_include_voided(cls.manager, "del1",
                                                      REPORTER_ENTITY_TYPE)
        deleted_ds.void()
        cls.deleted_ds_id = deleted_ds.id
Exemple #5
0
    def setUpClass(cls):
        EntityFormModelDocument.registered_functions = []
        EntityDocument.registered_functions = []
        cls.manager = get_db_manager('http://localhost:5984/',
                                     uniq('mangrove-test'))
        initializer._create_views(cls.manager)
        cls.username = '******'
        cls.datasender_user, _ = User.objects.get_or_create(
            username=cls.username, email=cls.username, password='******')
        cls.datasender_user.save()

        cls.mobile_number = '112233'
        cls.org_id = "test_org"
        cls.reporter_id = "rptr1"
        cls.datasender_user_profile = NGOUserProfile(
            user=cls.datasender_user,
            title='Mr.',
            org_id=cls.org_id,
            mobile_phone=cls.mobile_number,
            reporter_id=cls.reporter_id)
        cls.datasender_user_profile.save()
Exemple #6
0
    def setUpClass(cls):
        cls.dbm = create_db(uniq('mangrove-test'))
        initializer.initial_data_setup(cls.dbm)
        cls.entity_type = ["healthfacility", "clinic"]
        safe_define_type(cls.dbm, cls.entity_type)

        cls.entity_short_code = "cli" + str(int(random.random() * 10000))
        cls.entity = create_entity(
            cls.dbm,
            entity_type=cls.entity_type,
            location=["India", "Pune"],
            aggregation_paths=None,
            short_code=cls.entity_short_code,
        )
        cls.entity.save()
        cls.reporter_id = "rep" + str(int(random.random() * 10000))
        cls.reporter = create_contact(cls.dbm,
                                      location=["India", "Pune"],
                                      aggregation_paths=None,
                                      short_code=cls.reporter_id)
        cls.reporter.save()

        cls.phone_number = str(int(random.random() * 10000000))
        cls.reporter.add_data(data=[(MOBILE_NUMBER_FIELD, cls.phone_number),
                                    (NAME_FIELD, "Test_reporter")],
                              submission=dict(submission_id="2"))

        question1 = ShortCodeField(
            name="entity_question",
            code="EID",
            label="What is associated entity",
            constraints=[TextLengthConstraint(min=1, max=20)])
        question2 = TextField(name="Name",
                              code="NAME",
                              label="Clinic Name",
                              defaultValue="some default value",
                              constraints=[TextLengthConstraint(4, 15)],
                              required=False)
        question3 = IntegerField(
            name="Arv stock",
            code="ARV",
            label="ARV Stock",
            constraints=[NumericRangeConstraint(min=15, max=120)],
            required=False)
        question4 = SelectField(name="Color",
                                code="COL",
                                label="Color",
                                options=[("RED", 'a'), ("YELLOW", 'a')],
                                required=False)

        try:
            cls.form_model = get_form_model_by_code(cls.dbm, "clinic")
        except FormModelDoesNotExistsException:
            cls.form_model = EntityFormModel(
                cls.dbm,
                entity_type=cls.entity_type,
                name="aids",
                label="Aids form_model",
                form_code="clinic",
                fields=[question1, question2, question3],
                is_registration_model=True)
            cls.form_model.add_field(question4)
            cls.form_model.save()
        cls.sms_player = SMSPlayer(cls.dbm, LocationTree())
        cls.sms_ordered_message_player = SMSPlayer(cls.dbm, LocationTree())
Exemple #7
0
from mangrove.datastore.documents import FormModelDocument

from mock import Mock, patch

from mangrove.datastore.cache_manager import get_cache_manager
from mangrove.utils.test_utils.database_utils import uniq
from mangrove.bootstrap import initializer
from datawinners.main.utils import create_views
from datawinners.project.models import Project, get_all_projects, get_all_project_names
from mangrove.datastore.database import DatabaseManager, get_db_manager, _delete_db_and_remove_db_manager
from mangrove.datastore.entity import Entity
from mangrove.form_model.field import TextField, UniqueIdField
from mangrove.form_model.form_model import FormModel, REPORTER
from mangrove.form_model.validation import TextLengthConstraint

project1_name = uniq('Test1')
project2_name = uniq('Test2')


class TestProjectModel(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        FormModelDocument.registered_functions = []
        cls.db_name = uniq('mangrove-test')
        cls.manager = get_db_manager('http://localhost:5984/', cls.db_name)
        initializer._create_views(cls.manager)
        create_views(cls.manager)
        question1 = UniqueIdField(unique_id_type='clinic',
                                  name="entity_question",
                                  code="ID",
                                  label="What is associated entity")
Exemple #8
0
 def setUp(self):
     self.database_name = uniq('mangrove-test')
     self.server = 'http://localhost:5984/'
     self.database_manager = get_db_manager(self.server, self.database_name)
Exemple #9
0
 def setUp(self):
     self.dbm = get_db_manager(database=uniq('mangrove-test'))
     e = Entity(self.dbm,
                entity_type="clinic",
                location=["India", "MH", "Pune"])
     self.uuid = e.save()
from unittest.case import SkipTest
from mangrove.utils.test_utils.database_utils import safe_define_type, uniq

from mock import Mock, patch

from mangrove.bootstrap import initializer
from mangrove.datastore.database import DatabaseManager, get_db_manager, _delete_db_and_remove_db_manager
from mangrove.datastore.datadict import DataDictType, get_or_create_data_dict
from mangrove.datastore.entity_type import define_type
from mangrove.errors.MangroveException import EntityTypeAlreadyDefined
from mangrove.form_model.field import TextField, IntegerField, SelectField, GeoCodeField, TelephoneNumberField
from mangrove.form_model.form_model import FormModel, LOCATION_TYPE_FIELD_NAME, get_form_model_by_code
from datawinners.questionnaire.questionnaire_builder import QuestionnaireBuilder, QuestionBuilder
from mangrove.form_model.validation import TextLengthConstraint, RegexConstraint, NumericRangeConstraint

FORM_CODE_2 = uniq("2")

FORM_CODE_1 = uniq("1")


class TestQuestionnaireBuilder(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.manager = get_db_manager('http://localhost:5984/', 'mangrove-test')
        initializer._create_views(cls.manager)
        cls._create_default_dd_type()
        cls._create_form_model()

    @classmethod
    def tearDownClass(cls):
        _delete_db_and_remove_db_manager(cls.manager)
Exemple #11
0
 def create_water_point_entity(self):
     water_point_type = ["waterpoint"]
     safe_define_type(self.manager, water_point_type)
     create_entity(self.manager, entity_type=water_point_type, short_code=uniq("4"))
Exemple #12
0
 def setUp(self):
     self.db_name = uniq('mangrove-test')
     self.manager = get_db_manager('http://localhost:5984/', self.db_name)
     initializer._create_views(self.manager)
Exemple #13
0
 def setUpClass(cls):
     cls.db_name = uniq('mangrove-test')
     cls.dbm = get_db_manager('http://localhost:5984/', cls.db_name)