Esempio n. 1
0
    def test_single_walking_suggestion_per_period(self):
        current_time = timezone.now().replace(
            hour = 14,
            minute = 0
        )
        suggestion_time = current_time + timedelta(minutes=10)
        SuggestionTime.objects.create(
            user = self.user,
            category = SuggestionTime.MIDAFTERNOON,
            hour = suggestion_time.hour,
            minute = suggestion_time.minute
        )
        # Make walking suggestion decision 5 minutes before current_time
        # so as second walking suggestion decision can't be made at durring
        # the MIDAFTERNOON timeperiod.
        WalkingSuggestionDecisionService.make_decision(
            datetime = current_time - timedelta(minutes=5),
            user=self.user
        )

        try:
            WalkingSuggestionDecisionService.make_decision(
                user = self.user,
                datetime = current_time
            )
            self.fail('Should not have made second walking suggestion decision')
        except WalkingSuggestionDecisionService.RandomizationUnavailable:
            pass
        self.assertEqual(WalkingSuggestionDecision.objects.count(), 1)
Esempio n. 2
0
    def test_step_count_before_walking_suggestion_time(self):
        current_time = timezone.now().replace(hour=14, minute=0)
        suggestion_time = current_time + timedelta(minutes=10)
        # Destroy default suggestion times, so test logic will work
        SuggestionTime.objects.all().delete()
        SuggestionTime.objects.create(user=self.user,
                                      category=SuggestionTime.MIDAFTERNOON,
                                      hour=suggestion_time.hour,
                                      minute=suggestion_time.minute)

        WalkingSuggestionDecisionService.make_decision(datetime=current_time,
                                                       user=self.user)

        decision = WalkingSuggestionDecision.objects.get()
        self.assertEqual(decision.category, SuggestionTime.MIDAFTERNOON)