def test_save_challenge():

    challenge = ChallengeFactory.create()

    # Check that on saving a challenge in_progress is set to False by default
    challenge.save()
    assert challenge.in_progress is False
def test_archive_challenge():

    challenge = ChallengeFactory.create()

    # Check that the is_archived flag is set to true when the archive function is called
    challenge.archive()
    assert challenge.is_archived is True
 def setUp(self):
     self.factory = RequestFactory()
     self.user = UserFactory.create()
     self.challenge = ChallengeFactory.create(user=self.user)
     self.score_card = AnxietyScoreCard.objects.create(
         challenge=self.challenge,
         anxiety_at_0_min='9',
         anxiety_at_120_min='2')
def test_get_latest_initial_anxiety_level_with_score_card():

    challenge = ChallengeFactory.create()
    AnxietyScoreCard.objects.create(challenge=challenge,
                                    anxiety_at_0_min='9',
                                    anxiety_at_120_min='2')
    AnxietyScoreCard.objects.create(challenge=challenge,
                                    anxiety_at_0_min='6',
                                    anxiety_at_120_min='1')

    # Check that when getting the initial anxiety level, the most recent is returned
    assert challenge.get_latest_initial_anxiety_level() == '6'
def test_create_challenge():

    user = UserFactory.create()

    # Check there are 0 challenges before a new challenge is added
    number_challenges = Challenge.objects.filter(user_id=user.id).count()
    assert number_challenges == 0

    challenge = ChallengeFactory.create()
    challenge.user = user
    challenge.save()

    # Check there is 1 challenge after a new challenge is added
    # and that it's not archived or in progress
    number_challenges = Challenge.objects.filter(user_id=user.id).count()
    challenge = Challenge.objects.get(user_id=user.id)
    assert number_challenges == 1
    assert challenge.is_archived is False
    assert challenge.in_progress is False
    def setUp(self):

        self.user = UserFactory.create()
        self.challenge = ChallengeFactory.create()
        self.challenge1 = ChallengeFactory.create()
def test_get_latest_initial_anxiety_level_no_score_card():

    challenge = ChallengeFactory.create()

    # Check that if there is no anxiety score card for a challenge, -1 is returned
    assert challenge.get_latest_initial_anxiety_level() == -1