Exemple #1
0
 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)
Exemple #2
0
    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)
Exemple #3
0
 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)
Exemple #4
0
    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)
Exemple #5
0
    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)
Exemple #6
0
 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)
Exemple #7
0
 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)
Exemple #8
0
 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)
Exemple #9
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)
Exemple #10
0
    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)
Exemple #11
0
 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)
Exemple #12
0
 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)
Exemple #13
0
    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)
Exemple #14
0
    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)
Exemple #15
0
    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)
Exemple #16
0
    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)
Exemple #17
0
 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())
Exemple #18
0
    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)
Exemple #19
0
    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)
Exemple #20
0
    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)
Exemple #21
0
    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)
Exemple #22
0
    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)
Exemple #23
0
 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())
Exemple #24
0
    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)
Exemple #25
0
    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)
Exemple #26
0
    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)
Exemple #27
0
    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)
Exemple #28
0
    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)
Exemple #29
0
    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)
Exemple #30
0
    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)