def test_unlock_all_unlocks_all(self): self.user.profile.api_valid = True self.user.profile.save() mock_assignments_with_one_assignment() checked_levels, unlocked_now_count, total_unlocked_count, locked_count = unlock_all_possible_levels_for_user( self.user) self.assertEqual(total_unlocked_count, 1)
def post(self, request, *args, **kwargs): should_sync = False user = self.request.user lower_level_range = [level for level in range(1, user.profile.level + 1)] for level in lower_level_range: if level not in user.profile.unlocked_levels_list(): should_sync = True user.profile.unlocked_levels.get_or_create(level=level) if should_sync: level_list, unlocked_count, locked_count = unlock_all_possible_levels_for_user(user) return HttpResponse("Unlocked {} levels, containing {} vocabulary.".format(len(level_list), unlocked_count)) else: return HttpResponse("Everything has already been unlocked!")
def test_unlock_all_unlocks_all(self): self.user.profile.api_valid = True self.user.profile.save() resp_body = sample_api_responses.single_vocab_response level_list = [level for level in range(1, self.user.profile.level + 1)] responses.add(responses.GET, build_API_sync_string_for_user_for_levels(self.user, level_list), json=resp_body, status=200, content_type='application/json') checked_levels, unlocked_count, locked_count = unlock_all_possible_levels_for_user(self.user) self.assertListEqual(level_list, checked_levels) self.assertEqual(unlocked_count, 1)
def test_unlock_all_unlocks_all(self): self.user.profile.api_valid = True self.user.profile.save() resp_body = sample_api_responses.single_vocab_response level_list = [level for level in range(1, self.user.profile.level + 1)] responses.add( responses.GET, self._vocab_api_regex, json=resp_body, status=200, content_type="application/json", ) checked_levels, unlocked_now_count, total_unlocked_count, locked_count = unlock_all_possible_levels_for_user( self.user) self.assertListEqual(level_list, checked_levels) self.assertEqual(total_unlocked_count, 1)
def test_unlock_all_unlocks_all(self): self.user.profile.api_valid = True self.user.profile.save() resp_body = sample_api_responses.single_vocab_response level_list = [level for level in range(1, self.user.profile.level + 1)] responses.add( responses.GET, self._vocab_api_regex, json=resp_body, status=200, content_type="application/json", ) checked_levels, unlocked_now_count, total_unlocked_count, locked_count = unlock_all_possible_levels_for_user( self.user ) self.assertListEqual(level_list, checked_levels) self.assertEqual(total_unlocked_count, 1)