Ejemplo n.º 1
0
    def test_destroy_like_topic_without_params(self):
        """
        Ensure we can destroy like topic without params
        """
        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)
        force_authenticate(request, user=user)
        response = view(request, pk=topic.pk)

        self.assertEqual(response.status_code == 404, True)
Ejemplo n.º 2
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)
Ejemplo n.º 3
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)
Ejemplo n.º 4
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)
Ejemplo n.º 5
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)
Ejemplo n.º 6
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)
Ejemplo n.º 7
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)
Ejemplo n.º 8
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)
Ejemplo n.º 9
0
    def test_create_comment(self):
        """
        Ensure we can create comment
        """
        factory = APIRequestFactory()
        user = utils.create_user()
        topic = utils.create_topic(user)

        view = views.CommentViewSet.as_view({
            'post': 'create'
        })

        url = self.get_url_endpoint
        self.data = {
            "data": {
                "attributes": {
                    "total_likes": None,
                    "date": None,
                    "description": "<p>Test create comment</p>",
                },
                "relationships": {
                    "user": {
                        "data": {
                            'id': str(user.pk),
                            'type': 'users'
                        }
                    },
                    "topic": {
                        "data": {
                            'id': str(topic.pk),
                            'type': 'topics'
                        }
                    }
                },
                "type": "comments"
            },
        }
        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)
Ejemplo n.º 10
0
    def test_create_like_topic(self):
        """
        Ensure we can create like topic
        """
        factory = APIRequestFactory()
        user = utils.create_user()
        topic = utils.create_topic(user)
        view = views.LikeTopicViewSet.as_view({'post': '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)

        self.assertEqual(response.status_code == 200, True)
Ejemplo n.º 11
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)
Ejemplo n.º 12
0
    def test_create_notification(self):
        """
        Ensure we can create notification
        """
        factory = APIRequestFactory()
        user = utils.create_user()
        topic = utils.create_topic(user)
        view = views.NotificationViewSet.as_view({
            'post': 'create'
        })

        url = self.get_url_endpoint
        self.data = {
            "data": {
                "attributes": {
                    "is-seen": False,
                    "date": "2017-11-23 03:14:27"
                },
                "relationships": {
                    "user": {
                        "data": {
                            'id': str(user.pk),
                            'type': 'User'
                        }
                    },
                    "content-type": {
                        "data": {
                            'id': str(topic.pk),
                            'type': 'ContentType'
                        }
                    }
                },
                "type": "notifications"
            },
        }
        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)
Ejemplo n.º 13
0
 def test_create_topic(self):
     user = utils.create_user()
     utils.create_topic(user)