def test_friendship_actions(self): test_user1 = User.objects.get(username="******") test_user2 = User.objects.get(username="******") friends = UserFriends(test_user1) # Sending request self.client.login(username="******") self.client.post(reverse("send_friendship_request", args=["test_user2"])) self.assertTrue(friends.sent_request_to(test_user2)) # Accepting request self.client.login(username="******") self.client.post(reverse("accept_friendship_request", args=["test_user"])) self.assertTrue(friends.is_friends_with(test_user2)) # Ending friendship self.client.post(reverse("remove_friend", args=["test_user"])) self.assertFalse(friends.is_friends_with(test_user2)) # Refusing request self.client.post(reverse("send_friendship_request", args=["test_user"])) self.client.login(username="******") self.client.post(reverse("refuse_friendship_request", args=["test_user2"])) self.assertFalse(friends.has_request_from(test_user2))
def test_friendship_actions(self): test_user1 = User.objects.get(username='******') test_user2 = User.objects.get(username='******') friends = UserFriends(test_user1) # Sending request self.client.login(username='******') self.client.post(reverse('send_friendship_request', args=['test_user2'])) self.assertTrue(friends.sent_request_to(test_user2)) # Accepting request self.client.login(username='******') self.client.post(reverse('accept_friendship_request', args=['test_user'])) self.assertTrue(friends.is_friends_with(test_user2)) # Ending friendship self.client.post(reverse('remove_friend', args=['test_user'])) self.assertFalse(friends.is_friends_with(test_user2)) # Refusing request self.client.post(reverse('send_friendship_request', args=['test_user'])) self.client.login(username='******') self.client.post(reverse('refuse_friendship_request', args=['test_user2'])) self.assertFalse(friends.has_request_from(test_user2))
def test_friendship_actions(self): test_user1 = User.objects.get(username='******') test_user2 = User.objects.get(username='******') friends = UserFriends(test_user1) # Sending request self.client.login(username='******') self.client.post( reverse('send_friendship_request', args=['test_user2'])) self.assertTrue(friends.sent_request_to(test_user2)) # Accepting request self.client.login(username='******') self.client.post( reverse('accept_friendship_request', args=['test_user'])) self.assertTrue(friends.is_friends_with(test_user2)) # Ending friendship self.client.post(reverse('remove_friend', args=['test_user'])) self.assertFalse(friends.is_friends_with(test_user2)) # Refusing request self.client.post(reverse('send_friendship_request', args=['test_user'])) self.client.login(username='******') self.client.post( reverse('refuse_friendship_request', args=['test_user2'])) self.assertFalse(friends.has_request_from(test_user2))
def areFriends(self, u1, u2): friends1 = UserFriends(u1) friends2 = UserFriends(u2) result_a = friends1.is_friends_with(u2) result_b = friends2.is_friends_with(u1) self.assertEquals(result_a, result_b) self.assertEquals(result_a, u1 in friends2.friends.select_related('user').all()) self.assertEquals(result_a, u2 in friends1.friends.select_related('user').all()) return result_a
def areFriends(self, u1, u2): friends1 = UserFriends(u1) friends2 = UserFriends(u2) result_a = friends1.is_friends_with(u2) result_b = friends2.is_friends_with(u1) # sanity checks self.assertEquals(result_a, result_b) # symmetrical self.assertEquals(result_a, u1 in friends2.friends.all()) self.assertEquals(result_a, u2 in friends1.friends.all()) return result_a
def profile_view(request, username=None): shown_user = None if username is None: shown_user = request.user else: shown_user = get_object_or_404(User.objects, username=username) exp = Experience(shown_user) friends = UserFriends(request.user) is_friend = friends.is_friends_with(shown_user) pending_incoming_friendship_request = friends.has_request_from(shown_user) sent_friendship_request = friends.sent_request_to(shown_user) has_portal = False if 'oioioi.portals' in settings.INSTALLED_APPS: from oioioi.portals.models import Portal if Portal.objects.filter(owner=shown_user).exists(): has_portal = True sections = [] for func in profile_registry.items: response = func(request, shown_user) if isinstance(response, HttpResponseRedirect): return response if isinstance(response, TemplateResponse): sections.append(response.render().content) else: sections.append(response) return TemplateResponse( request, 'gamification/profile.html', { 'shown_user': shown_user, 'is_my_friend': is_friend, 'exp': exp, 'exp_percentage': int(100 * exp.current_experience / exp.required_experience_to_lvlup), 'has_portal': has_portal, 'pending_incoming_friendship_request': pending_incoming_friendship_request, 'sent_friendship_request': sent_friendship_request, 'sections': sections })
def profile_view(request, username=None): shown_user = None if username is None: shown_user = request.user else: shown_user = get_object_or_404(User.objects, username=username) exp = Experience(shown_user) friends = UserFriends(request.user) is_friend = friends.is_friends_with(shown_user) pending_incoming_friendship_request = friends.has_request_from(shown_user) sent_friendship_request = friends.sent_request_to(shown_user) has_portal = False if "oioioi.portals" in settings.INSTALLED_APPS: from oioioi.portals.models import Portal if Portal.objects.filter(owner=shown_user).exists(): has_portal = True sections = [] for func in profile_registry.items: response = func(request, shown_user) if isinstance(response, HttpResponseRedirect): return response if isinstance(response, TemplateResponse): sections.append(response.render().content) else: sections.append(response) return TemplateResponse( request, "gamification/profile.html", { "shown_user": shown_user, "is_my_friend": is_friend, "exp": exp, "exp_percentage": int(100 * exp.current_experience / exp.required_experience_to_lvlup), "has_portal": has_portal, "pending_incoming_friendship_request": pending_incoming_friendship_request, "sent_friendship_request": sent_friendship_request, "sections": sections, }, )