def test_locking_level_removes_level_from_unlocked_list(self): self.user.profile.unlocked_levels.get_or_create(level=7) self.user.profile.unlocked_levels.get_or_create(level=6) self.vocabulary.readings.create(level=6, kana="猫二", character="whatever2") lock_level_for_user(6, self.user) self.assertListEqual(self.user.profile.unlocked_levels_list(), [5, 7])
def test_locking_level_removes_level_from_unlocked_list(self): self.user.profile.unlocked_levels.get_or_create(level=7) self.user.profile.unlocked_levels.get_or_create(level=6) self.vocabulary.readings.create(level=6, kana="猫二", character="whatever2") lock_level_for_user(6, self.user) self.assertListEqual(self.user.profile.unlocked_levels_list(), [5, 7])
def test_locking_level_removes_all_reviews_at_that_level(self): self.vocabulary.readings.create(level=5, kana="猫", character="whatever") self.vocabulary.readings.create(level=5, kana="猫二", character="whatever2") lock_level_for_user(5, self.user) available_reviews = UserSpecific.objects.filter(user=self.user, vocabulary__readings__level=5).all() self.assertFalse(available_reviews)
def test_locking_level_removes_all_reviews_at_that_level(self): self.vocabulary.readings.create(level=5, kana="猫", character="whatever") self.vocabulary.readings.create(level=5, kana="猫二", character="whatever2") lock_level_for_user(5, self.user) available_reviews = UserSpecific.objects.filter( user=self.user, vocabulary__readings__level=5 ).all() self.assertFalse(available_reviews)
def lock(self, request, pk=None): requested_level = pk removed_count = lock_level_for_user(requested_level, request.user) if request.user.profile.level == int(requested_level): request.user.profile.follow_me = False request.user.profile.save() return Response({"locked": removed_count})
def lock(self, request, pk=None): requested_level = pk removed_count = lock_level_for_user(requested_level, request.user) if request.user.profile.level == int(requested_level): request.user.profile.follow_me = False request.user.profile.save() return Response({"locked": removed_count})
def post(self, request, *args, **kwargs): user = self.request.user requested_level = request.POST['level'] # if user locks their current level, prevent WK syncing new stuff. if user.profile.level == int(requested_level): user.profile.follow_me = False user.profile.save() removed_count = lock_level_for_user(requested_level, user) return HttpResponse("{} items removed from your study queue.".format(removed_count))