Beispiel #1
0
    def testCaseManager(self):
        pt1, cgs1, prov1 = generator.generate_patient_and_careteam()
        pt2, cgs2, prov2 = generator.generate_patient_and_careteam()
        actor_creator = generator.generate_actor(generator.get_or_create_user(), "provider")
        actor_editor1 = generator.generate_actor(generator.get_or_create_user(), "provider")
        actor_editor2 = generator.generate_actor(generator.get_or_create_user(), "provider")
        actor_closer = generator.generate_actor(generator.get_or_create_user(), "provider")

        total_cases = 12
        for i in range(total_cases):
            case = self._create_case(actor_creator, uuid.uuid1().hex)
            case.patient = pt1
            if i%2 == 0:
                case.last_edit_by = actor_editor1
            else:
                case.last_edit_by = actor_editor2
            case.description = "edited, foolio: " + str(uuid.uuid1().hex)
            activity=ActivityClass.objects.filter(event_class=constants.CASE_EVENT_EDIT)[0]
            case.save(activity=activity)

        self.assertEqual(total_cases, Case.objects.get_authored(actor_creator).count())
        self.assertEqual(0, Case.objects.get_authored(actor_creator, patient=pt2).count())

        self.assertEqual(total_cases/2, Case.objects.get_edited(actor_editor1).count())
        self.assertEqual(total_cases/2, Case.objects.get_edited(actor_editor2).count())

        self.assertEqual(total_cases/2, Case.objects.get_edited(actor_editor1, patient=pt1).count())
        self.assertEqual(0, Case.objects.get_edited(actor_editor1, patient=pt2).count())

        self.assertEqual(total_cases/2, Case.objects.get_edited(actor_editor2, patient=pt1).count())
        self.assertEqual(0, Case.objects.get_edited(actor_editor2, patient=pt2).count())
Beispiel #2
0
    def testCaseModifyDescriptionApi(self):
        desc= uuid.uuid1().hex
        self.testCreateCaseApi(description=desc)

        user1 = generator.get_or_create_user()
        actor1 = generator.generate_role(user1, 'provider')


        case = Case.objects.all().get(description=desc)
        case.description = CHANGED_DESCRIPTION
        case.last_edit_by = actor1
        activity = constants.CASE_EVENT_EDIT
        case.save_comment="editing in testCaseModifyDescription"
        case.save(activity=activity)


        events = CaseEvent.objects.filter(case=case)
        #we just did an edit, so it should be 2
        self.assertEqual(2, events.count())

        #the top one due to the sort ordering should be the one we just did
        self.assertEqual(constants.CASE_EVENT_EDIT, events[0].activity)


        #quickly verify that the original description is still unchanged
        dbcase = Case.objects.all().get(description=CHANGED_DESCRIPTION)
        self.assertEqual(dbcase.id, case.id)
Beispiel #3
0
    def testCreateCaseApi(self, description=INITIAL_DESCRIPTION):
        ###########################
        #get the basic counts
        user1 = generator.get_or_create_user()
        user2 = generator.get_or_create_user()

        role1 = generator.generate_role(user1, 'caregiver')
        role2 = generator.generate_role(user2, 'provider')

        oldcasecount = Case.objects.all().count()
        oldevents = CaseEvent.objects.all().count()

#        newcase = Case()
#        newcase.description = description
#        newcase.opened_by = role1
#        newcase.last_edit_by = role1
#
#        newcase.assigned_date = datetime.utcnow()
#        newcase.assigned_to = role2
#        newcase.category = Category.objects.all()[0]
#        newcase.status = Status.objects.all().filter(state_class=constants.CASE_STATE_OPEN)[0]
#        newcase.priority = Priority.objects.all()[0]
#        activity = ActivityClass.objects.filter(event_class=constants.CASE_EVENT_OPEN)[0]
#        newcase.save(activity=activity)

        newcase = Case.objects.new_case(constants.CATEGORY_CHOICES[0][0],
                              role1,
                              description,
                              "mock body %s" % (uuid.uuid1().hex),
                              constants.PRIORITY_MEDIUM,
                              status=constants.CASE_STATE_OPEN,
                              activity=constants.CASE_EVENT_OPEN
                              )

        #is the thing created?
        self.assertEqual(Case.objects.all().count(), oldcasecount + 1)
        self.assertEqual(CaseEvent.objects.all().count(), oldevents + 1)
        #verify that the case count created has created a new caseevent
        events = CaseEvent.objects.filter(case=newcase)
        self.assertEqual(1,events.count())
        #verify that said case count is a new case event of type "open"
        self.assertEqual(constants.CASE_EVENT_OPEN, events[0].activity)
        return newcase
Beispiel #4
0
    def testBusyProvider(self):
        """Create a single provider/user caring for many patients."""
        num_patients = 20
        my_patients = 5

        user = generator.get_or_create_user()
        actor = generator.generate_role(user, 'provider')

        patients = [generator.get_or_create_patient() for i in range(num_patients)]
        for i in range(my_patients):
            patients[i].add_actor(actor)
Beispiel #5
0
    def testCreateSingleCareTeamAPI(self):
        print "===========================\nCreating singular patient with careteam via API"
        pt = generator.get_or_create_patient()

        provrole = generator.generate_role(generator.get_or_create_user(), 'provider')
        pt.add_provider(provoler)
        provrole = generator.generate_role(generator.get_or_create_user(), 'provider')
        pt.add_provider(provoler)
        provrole = generator.generate_role(generator.get_or_create_user(), 'provider')
        pt.add_provider(provoler)

        cgrole = generator.generate_role(generator.get_or_create_user(), 'caregiver')
        pt.add_caregiver(cgoler)
        cgrole = generator.generate_role(generator.get_or_create_user(), 'caregiver')
        pt.add_caregiver(cgoler)

        #next, verify single careteam exists via the patient access API.
        cg_pull = pt.get_caregivers()
        prov_pull = pt.get_providers()

        self.assertEqual(2, cg_pull.count())
        self.assertEqual(3, prov_pull.count())
Beispiel #6
0
    def testCaseCreateChildCases(self):
        self.testCreateCaseApi()
        user1 = generator.get_or_create_user()
        role1 = generator.generate_role(user1, 'provider')

        case = Case.objects.all().get(description =INITIAL_DESCRIPTION)
        CHILD_CASES=10
        for num in range(0,CHILD_CASES):
            desc = uuid.uuid1().hex
            newcase = self.testCreateCaseApi(description=desc)
            newcase.parent_case = case
            newcase.last_edit_by = role1
            activity = constants.CASE_EVENT_EDIT
            newcase.save_comment="editing in testCaseCreateChildCases"
            newcase.save(activity=activity)


        self.assertEqual(case.child_cases.count(), CHILD_CASES)