Exemplo n.º 1
0
    def setUp(self):
        ModuleFactory("one", "/pages/one/")
        self.hierarchy = Hierarchy.objects.get(name='one')
        self.section = self.hierarchy.get_root().get_first_leaf()

        # Setup 4 scorable blocks
        # quiz
        self.quiz = Quiz.objects.create()
        self.question = Question.objects.create(
            quiz=self.quiz, text="single", question_type="single choice")
        Answer.objects.create(question=self.question, label="a", value="a",
                              correct=True)
        Answer.objects.create(question=self.question, label="b", value="b")
        self.section.append_pageblock("Quiz One", "pretest", self.quiz)

        # conversation
        self.scenario = ConversationScenarioFactory()
        good_click = ConvClick.objects.create(
            conversation=self.scenario.good_conversation)
        bad_click = ConvClick.objects.create(
            conversation=self.scenario.bad_conversation)
        self.section.append_pageblock("Conversation", "bar", self.scenario)

        # dosage activity
        self.dosage = DosageActivity.objects.create(
            ml_nvp=0.4, times_day=2, weeks=1)
        self.section.append_pageblock("Dosage", "", self.dosage)

        # calendar activity
        month = MonthFactory()
        self.chart = CalendarChartFactory(month=month)
        chart_good_click = Day.objects.create(calendar=month, number=4)
        self.section.append_pageblock("Calendar", "", self.chart)

        self.userNoAnswers = UserFactory()
        self.userIncomplete = UserFactory()
        self.set_quiz_response(self.userIncomplete, 'b')
        self.set_conversation_response(self.userIncomplete,
                                       good_click, bad_click)

        self.userBadScore = UserFactory()
        self.set_quiz_response(self.userBadScore, 'a')
        self.set_conversation_response(self.userBadScore,
                                       bad_click, good_click)
        self.set_dosage_response(self.userBadScore, 0.4, 2, 2)
        self.set_calendar_response(self.userBadScore,
                                   chart_good_click, chart_good_click)

        self.userGoodScore = UserFactory()
        self.set_quiz_response(self.userGoodScore, 'a')
        self.set_conversation_response(self.userGoodScore,
                                       good_click, bad_click)
        self.set_dosage_response(self.userGoodScore, 0.4, 2, 1)
        self.set_calendar_response(self.userGoodScore,
                                   chart_good_click, chart_good_click)
Exemplo n.º 2
0
 def setUp(self):
     self.user = UserFactory()
     self.scenario = ConversationScenarioFactory()
     self.good = ConvClick.objects.create(
         conversation=self.scenario.good_conversation)
     self.bad = ConvClick.objects.create(
         conversation=self.scenario.bad_conversation)
Exemplo n.º 3
0
    def setUp(self):
        self.user = UserFactory(is_superuser=True)

        self.request = RequestFactory().get('/')
        self.request.user = self.user

        self.block = ConversationScenario.objects.create()
Exemplo n.º 4
0
    def setUp(self):
        self.user = UserFactory(is_superuser=True)

        self.request = RequestFactory().get('/')
        self.request.user = self.user

        self.block = DosageActivity.objects.create()
Exemplo n.º 5
0
    def setUp(self):
        self.view = RegistrationView()
        self.existing_user = UserFactory()
        self.client = Client()

        self.country = CountryFactory(name='LS')
        self.school = SchoolFactory(country=self.country)
Exemplo n.º 6
0
    def setUp(self):
        self.user = UserFactory(is_superuser=True)

        ModuleFactory("one", "/pages/one/")
        self.hierarchy = Hierarchy.objects.get(name='one')

        self.section_one = Section.objects.get(slug='one')

        self.hierarchy.get_root().add_child_section_from_dict({
            'label': 'Page Four',
            'slug': 'page-four',
            'pageblocks': [{
                'label': 'Content',
                'css_extra': '',
                'block_type': 'Quiz',
                'body': 'random text goes here',
                'description': 'a description',
                'rhetorical': False,
                'questions': [{
                    'question_type': 'short text',
                    'text': 'a question',
                    'explanation': 'an explanation',
                    'intro_text': 'intro text',
                    'answers': []
                }]
            }]
        })
        self.section_four = Section.objects.get(slug='page-four')

        self.request = RequestFactory().get('/pages/%s/' % self.hierarchy.name)
        self.request.user = self.user
Exemplo n.º 7
0
    def test_get_response_no_state(self):
        request = RequestFactory().get('/pages/%s/' % self.hierarchy.name)
        request.user = UserFactory()

        node = GetUserResponse('adherence', 'the_response')
        context = dict(request=request)
        node.render(context)
        self.assertFalse('the_response' in context)
Exemplo n.º 8
0
    def test_get_response_one_submission(self):
        user = UserFactory()
        self.set_quiz_response(user, 'a')

        request = RequestFactory().get('/pages/%s/' % self.hierarchy.name)
        request.user = user

        node = GetUserResponse('adherence', 'the_response')
        context = dict(request=request)
        node.render(context)
        self.assertEquals(context['the_response'], 'a')
Exemplo n.º 9
0
    def test_last_response_and_unlocked(self):
        '''testing assert click of response object'''
        user = UserFactory()
        scenario = ConversationScenarioFactory()
        click_one = ConvClickFactory(conversation=scenario.good_conversation)
        click_two = ConvClickFactory(conversation=scenario.bad_conversation)
        click_three = ConvClickFactory(conversation=scenario.good_conversation)

        # No Clicks
        self.assertFalse(scenario.unlocked(user))
        self.assertEquals(scenario.last_response(user), 0)
        '''Test first click'''
        cr = ConversationResponse.objects.create(conv_scen=scenario,
                                                 user=user,
                                                 first_click=click_one)
        self.assertEquals(click_one.conversation.scenario_type,
                          cr.first_click.conversation.scenario_type)
        self.assertIsNone(cr.second_click)
        self.assertFalse(scenario.unlocked(user))
        self.assertEquals(scenario.last_response(user),
                          click_one.conversation.scenario_type)
        '''Test second click'''
        cr.second_click = click_two
        cr.save()
        self.assertEquals(click_two.conversation.scenario_type,
                          cr.second_click.conversation.scenario_type)
        self.assertIsNone(cr.third_click)
        self.assertTrue(scenario.unlocked(user))
        self.assertEquals(scenario.last_response(user),
                          click_two.conversation.scenario_type)
        '''Test third click'''
        cr.third_click = click_three
        cr.save()
        self.assertEquals(click_three.conversation.scenario_type,
                          cr.third_click.conversation.scenario_type)
        self.assertIsNotNone(cr.third_click)
        self.assertTrue(scenario.unlocked(user))
        self.assertEquals(scenario.last_response(user),
                          click_three.conversation.scenario_type)

        # Multiple responses - use the first response
        ConversationResponse.objects.create(conv_scen=scenario,
                                            user=user,
                                            first_click=click_one)
        self.assertEquals(scenario.last_response(user),
                          click_three.conversation.scenario_type)
Exemplo n.º 10
0
    def test_score(self):
        user = UserFactory()
        activity = DosageActivity.objects.create(ml_nvp=0.4,
                                                 times_day=2,
                                                 weeks=1)
        self.assertEquals(activity.score(user), None)

        resp = DosageActivityResponse.objects.create(user=user,
                                                     dosage_activity=activity,
                                                     ml_nvp=1,
                                                     times_day=2,
                                                     weeks=4)
        self.assertEquals(activity.score(user), 0)

        resp.ml_nvp = 0.4
        resp.times_day = 2
        resp.weeks = 1
        resp.save()
        self.assertEquals(activity.score(user), 1)
Exemplo n.º 11
0
    def test_unlocked(self):
        user = UserFactory()
        month = MonthFactory()
        chart = CalendarChartFactory(month=month)

        self.assertFalse(chart.unlocked(user))

        resp = CalendarResponse.objects.create(user=user,
                                               calendar_activity=chart)
        self.assertFalse(chart.unlocked(user))

        clk = Day.objects.create(calendar=month, number=2)
        resp.first_click = clk
        resp.save()
        self.assertFalse(chart.unlocked(user))

        clk = Day.objects.create(calendar=month, number=4)
        resp.correct_click = clk
        resp.save()
        self.assertTrue(chart.unlocked(user))
Exemplo n.º 12
0
    def test_both_responses_clicked(self):
        user = UserFactory()
        scenario = ConversationScenarioFactory()
        one = ConvClickFactory(conversation=scenario.good_conversation)
        two = ConvClickFactory(conversation=scenario.good_conversation)
        three = ConvClickFactory(conversation=scenario.good_conversation)
        four = ConvClickFactory(conversation=scenario.bad_conversation)

        cr = ConversationResponse.objects.create(conv_scen=scenario,
                                                 user=user,
                                                 first_click=one,
                                                 second_click=two,
                                                 third_click=three)

        self.assertFalse(scenario.unlocked(user))

        cr.third_click = four
        cr.save()

        self.assertTrue(scenario.unlocked(user))
Exemplo n.º 13
0
    def test_score(self):
        user = UserFactory()
        month = MonthFactory()
        chart = CalendarChartFactory(month=month)

        self.assertEquals(chart.score(user), None)

        resp = CalendarResponse.objects.create(user=user,
                                               calendar_activity=chart)
        self.assertEquals(chart.score(user), None)

        incorrect = Day.objects.create(calendar=month, number=1)
        resp.first_click = incorrect
        resp.save()
        self.assertEquals(chart.score(user), None)

        correct = Day.objects.create(calendar=month, number=4)
        resp.correct_click = correct
        resp.save()
        self.assertEquals(chart.score(user), 0)

        resp.first_click = correct
        resp.save()
        self.assertEquals(chart.score(user), 1)
Exemplo n.º 14
0
 def test_adcard_unlocked(self):
     adcard = AdherenceCardFactory()
     usr = UserFactory()
     self.assertTrue(adcard.unlocked(usr))
Exemplo n.º 15
0
 def test_artcard_unlocked(self):
     artcard = ARTCardFactory()
     usr = UserFactory()
     self.assertTrue(artcard.unlocked(usr))
Exemplo n.º 16
0
 def test_img_int_unlocked(self):
     img_int = ImageInteractiveFactory()
     usr = UserFactory()
     self.assertTrue(img_int.unlocked(usr))