def test_filter_get_registers(self): """ Ensure we can get registers """ user = utils.create_user() response = self.go_to_endpoint(user, {}) self.assertEqual(response.status_code == 200, True)
def test_destroy_like_topic(self): """ Ensure we can destroy like topic """ factory = APIRequestFactory() user = utils.create_user() topic = utils.create_topic(user) view = views.LikeTopicViewSet.as_view({ 'post': 'create', 'delete': 'destroy' }) # Create url = self.get_url_endpoint request = factory.post(url, { 'users': str(user.pk), 'topic': str(topic.pk) }) force_authenticate(request, user=user) response = view(request) # Delete url = self.get_url_endpoint + str(topic.pk) + "/" request = factory.delete(url, {'users': str(user.pk)}) force_authenticate(request, user=user) response = view(request, pk=topic.pk) self.assertEqual(response.status_code == 200, True)
def test_new_notification(self): user = utils.create_user() date = timezone.now() Notification.objects.create(id_object=1, user=user, date=date, is_seen=False)
def test_uploads_view(self): """ Ensure we can uploads files """ factory = APIRequestFactory() user = utils.create_user() view = views.UploadsView.as_view() url = self.get_url_endpoint photo_file = self.generate_photo_file() data = { 'photo': photo_file, } request = factory.post(url, data, HTTP_HOST='example.com', format='multipart') force_authenticate(request, user=user) response = view(request) up = Upload.objects.all().first() name_file = settings.MEDIA_ROOT + "/" + up.attachment.name utils_muss.remove_file(name_file) self.assertEqual(response.status_code == 200, True)
def test_destroy_like_comment_without_params(self): """ Ensure we can destroy like comment without params """ factory = APIRequestFactory() user = utils.create_user() comment = utils.create_comment(user) view = views.LikeCommentViewSet.as_view({ 'post': 'create', 'delete': 'destroy' }) # Create url = self.get_url_endpoint request = factory.post(url, { 'users': str(user.pk), 'comment': comment.pk }) force_authenticate(request, user=user) response = view(request) # Delete url = self.get_url_endpoint + str(comment.pk) + "/" request = factory.delete(url) force_authenticate(request, user=user) response = view(request, pk=comment.pk) self.assertEqual(response.status_code == 404, True)
def test_get_only_user(self): """ Ensure we can get only user """ user = utils.create_user() url = self.get_url_users + str(user.pk) response = self.client.get(url, format='json') self.assertEqual(response.status_code == 200, True)
def test_create_hitcount(self): """ Ensure we can create hitcount """ url = self.get_url_hitcounts user = utils.create_user() topic = utils.create_topic(user) response = self.client.post(url, {"topic": topic.pk}) self.assertEqual(response.status_code == 200, True)
def test_new_comment(self): user = utils.create_user() topic = utils.create_topic(user) date = timezone.now() Comment.objects.create(topic=topic, user=user, date=date, description="Comment tests", total_likes=0)
def test_get_topic(self): """ Ensure we can get topic """ user = utils.create_user() topic = utils.create_topic(user) url = self.get_url_endpoint + str(topic.pk) + "/" response = self.client.get(url, format='json') self.assertEqual(response.status_code == 200, True)
def test_is_troll(self): # Get troll user = utils.create_user() total = Forum.objects.filter(moderators=user).count() # Check if is user correct if total == 0: # Is a troll Profile.objects.filter(user=user).update(is_troll=True)
def test_filter_get_members(self): """ Ensure we can filter members """ user = utils.create_user() forum = utils.create_forum() response = self.go_to_endpoint(user, { 'filter': 'members', 'forum': forum.pk }) self.assertEqual(response.status_code == 200, True)
def test_filter_get_register(self): """ Ensure we can filter get_register """ user = utils.create_user() forum = utils.create_forum() response = self.go_to_endpoint(user, { 'filter': 'get_register', 'user': user.pk, 'forum': forum.pk }) self.assertEqual(response.status_code == 200, True)
def test_get_forums(self): """ Ensure we can get forums by user """ factory = APIRequestFactory() url = self.get_url_endpoint user = utils.create_user() view = views.GetForumsByUser.as_view() url += "?username=" + user.username request = factory.get(url, format='json') force_authenticate(request, user=user) response = view(request) self.assertEqual(response.status_code == 200, True)
def test_get_notifications(self): """ Ensure we can get notifications """ factory = APIRequestFactory() url = self.get_url_endpoint user = utils.create_user() view = views.NotificationViewSet.as_view({'get': 'list'}) url += "?user=" + str(user.pk) request = factory.get(url, format='json') force_authenticate(request, user=user) response = view(request) self.assertEqual(response.status_code == 200, True)
def test_get_total_pending_notifications_user_with_login(self): """ Ensure we can get error 404 in endpoint with login for get total notifications for user """ factory = APIRequestFactory() user = utils.create_user() view = views.GetTotalPendingNotificationsUser.as_view() url = self.get_url_endpoint request = factory.get(url, {'user_id': user.id}) force_authenticate(request, user=user) response = view(request) self.assertEqual(response.status_code == 200, True)
def test_update_seen_notifications_user_with_login(self): """ Ensure we can get error 200 in endpoint with login for update notifications seen user. """ factory = APIRequestFactory() user = utils.create_user() view = views.UpdateSeenNotifications.as_view() url = self.get_url_endpoint request = factory.post(url, {'user_id': user.id}) force_authenticate(request, user=user) response = view(request) self.assertEqual(response.status_code == 200, True)
def test_profile_form_admin_false(self, *args, **kwargs): """ Test form admin profile """ user = utils.create_user() form = forms.FormAdminProfile({ 'user': user.pk, 'about': 'Test profile', 'location': 'Location test', 'receive_email': True, 'activation_key': '', 'key_expires': '', }) self.assertFalse(form.is_valid())
def test_create_like_comment_without_params(self): """ Ensure we can create like comment without params """ factory = APIRequestFactory() user = utils.create_user() view = views.LikeCommentViewSet.as_view({'post': 'create'}) url = self.get_url_endpoint request = factory.post(url) force_authenticate(request, user=user) response = view(request) self.assertEqual(response.status_code == 404, True)
def test_get_topic_queryset_limit(self): """ Ensure we can get notifications limit """ factory = APIRequestFactory() url = self.get_url_endpoint user = utils.create_user() topic = utils.create_topic(user) notification = utils.create_notification(user, topic) view = views.NotificationViewSet.as_view({'get': 'list'}) url += str(notification.pk) + "/?user="******"&limit=5" request = factory.get(url, format='json') force_authenticate(request, user=user) response = view(request) self.assertEqual(response.status_code == 200, True)
def test_destroy_topic(self): """ Ensure we can destroy topic """ factory = APIRequestFactory() user = utils.create_user() topic = utils.create_topic(user) view = views.TopicViewSet.as_view({'delete': 'destroy'}) # Delete url = self.get_url_endpoint + str(topic.pk) + "/" request = factory.delete(url) force_authenticate(request, user=user) response = view(request, pk=topic.pk) self.assertEqual(response.status_code == 204, True)
def test_update_comment(self): """ Ensure we can update comment """ factory = APIRequestFactory() user = utils.create_user() comment = utils.create_comment(user) view = views.CommentViewSet.as_view({ 'patch': 'update' }) # Update url = self.get_url_endpoint + str(comment.pk) + "/" self.data = { "data": { "attributes": { "total_likes": comment.total_likes, "date": None, "description": "<p>Test create comment edited</p>", }, "id": comment.pk, "relationships": { "user": { "data": { 'id': str(user.pk), 'type': 'users' } }, "topic": { "data": { 'id': str(comment.topic.pk), 'type': 'topics' } } }, "type": "comments" }, } request = factory.patch( url, json.dumps(self.data), HTTP_HOST='example.com', content_type="application/vnd.api+json" ) force_authenticate(request, user=user) response = view(request, pk=comment.pk) self.assertEqual(response.status_code == 200, True)
def test_update_topic(self): """ Ensure we can update topic """ factory = APIRequestFactory() user = utils.create_user() topic = utils.create_topic(user) view = views.TopicViewSet.as_view({ 'patch': 'update' }) # Update url = self.get_url_endpoint + str(topic.pk) + "/" self.data = { "data": { "attributes": { "title": "Test topic", "description": "<p>Test create topic edited</p>", }, "id": topic.pk, "relationships": { "user": { "data": { 'id': str(user.pk), 'type': 'users' } }, "forum": { "data": { 'id': str(topic.forum.pk), 'type': 'forums' } } }, "type": "topics" }, } request = factory.patch( url, json.dumps(self.data), HTTP_HOST='example.com', content_type="application/vnd.api+json" ) force_authenticate(request, user=user) response = view(request, pk=topic.pk) self.assertEqual(response.status_code == 200, True)
def test_topic_form_admin_false(self, *args, **kwargs): """ Test form admin topic """ user = utils.create_user() forum = utils.create_forum() form = forms.FormAdminTopic({ 'user': user.pk, 'forum': forum.pk, 'title': 'Test topic', 'description': '', 'photo': '', 'is_close': False, 'is_moderate': True, 'is_top': False, }) self.assertFalse(form.is_valid())
def test_update_profile(self): """ Ensure we can update profile """ factory = APIRequestFactory() user = utils.create_user() view = views.ProfileViewSet.as_view({ 'patch': 'update' }) profile = user.user # Update url = self.get_url_endpoint + str(profile.pk) + "/" self.data = { "data": { "type": "profiles", "id": str(profile.pk), "attributes": { "photo": "example.png", "last-seen": "0 minutes", "online": True, "about": "Admin Test :)", "location": "Buenos Aires, CABA, Argentina", "activation-key": "86b58f8c2c832b8e135ee4afd4423aa", "key-expires": "2017-11-23 03:14:27", "is-troll": False, "receive-emails": True }, "relationships": { "user": { "data": { "type": "User", "id": str(user.pk) } } } } } request = factory.patch( url, json.dumps(self.data), HTTP_HOST='example.com', content_type="application/vnd.api+json" ) force_authenticate(request, user=user) response = view(request, pk=profile.pk) self.assertEqual(response.status_code == 200, True)
def test_save_model(self): """ Test save model """ user = utils.create_user() topic = utils.create_topic(user) obj = { 'topic': topic, 'user': user, 'description': 'Test comment', } self.client.login(username=user.username, password=user.password) response = self.client.post( reverse('admin:muss_comment_add'), obj, follow=True ) self.assertEqual(response.status_code, 200)
def test_create_topic(self): """ Ensure we can create topic """ factory = APIRequestFactory() user = utils.create_user() forum = utils.create_forum() view = views.TopicViewSet.as_view({ 'post': 'create' }) # Create register Register.objects.create(forum=forum, user=user) url = self.get_url_endpoint self.data = { "data": { "attributes": { "title": "Test title", "description": "<p>Example description</p>" }, "relationships": { "user": { "data": { 'id': str(user.pk), 'type': 'users' } }, "forum": { "data": { 'id': str(forum.pk), 'type': 'forums' } } }, "type": "topics" }, } request = factory.post( url, json.dumps(self.data), HTTP_HOST='example.com', content_type="application/vnd.api+json" ) force_authenticate(request, user=user) response = view(request) self.assertEqual(response.status_code == 201, True)
def test_create_like_comment(self): """ Ensure we can create like comment """ factory = APIRequestFactory() user = utils.create_user() comment = utils.create_comment(user) view = views.LikeCommentViewSet.as_view({'post': 'create'}) url = self.get_url_endpoint request = factory.post(url, { 'users': str(user.pk), 'comment': comment.pk }) force_authenticate(request, user=user) response = view(request) self.assertEqual(response.status_code == 200, True)
def test_get_topic_queryset(self): """ Ensure we can get topic """ user = utils.create_user() topic = utils.create_topic(user) forum = utils.create_forum() # Only topic url = self.get_url_endpoint url += "?=filter='only_topic'&topic=" + str(topic.pk) url += "&slug=" + topic.slug response = self.client.get(url, format='json') self.assertEqual(response.status_code == 200, True) # By forum url = self.get_url_endpoint url += "?=filter='by_forum'&slug=" + forum.slug response = self.client.get(url, format='json') self.assertEqual(response.status_code == 200, True) # Search url = self.get_url_endpoint url += "?=filter='search'&title='test'" response = self.client.get(url, format='json') self.assertEqual(response.status_code == 200, True) # By user url = self.get_url_endpoint url += "?=filter='by_user'&username="******"?=filter='suggests'&suggest='test'" response = self.client.get(url, format='json') self.assertEqual(response.status_code == 200, True) # Latest url = self.get_url_endpoint url += "?=filter='latest'" response = self.client.get(url, format='json') self.assertEqual(response.status_code == 200, True)
def test_filter_profiles(self): """ Ensure we can get profiles """ user = utils.create_user() url = self.get_url_endpoint # Get profiles response = self.client.get(url, format='json') self.assertEqual(response.status_code == 200, True) # Get only profile response = self.client.get(url + str(user.user.pk), format='json') self.assertEqual(response.status_code == 200, True) # get_profile_username url += "?=filter='get_profile_username'&username=" + user.username response = self.client.get(url, format='json') self.assertEqual(response.status_code == 200, True)
def test_create_topic_public_forum(self): """ Ensure we can create topic in public_forum """ factory = APIRequestFactory() user = utils.create_user() forum = utils.create_forum_public() view = views.TopicViewSet.as_view({'post': 'create'}) url = self.get_url_endpoint self.data = utils.create_topic_data_api(user, forum) request = factory.post(url, json.dumps(self.data), HTTP_HOST='example.com', content_type="application/vnd.api+json") force_authenticate(request, user=user) response = view(request) self.assertEqual(response.status_code == 201, True)