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)
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_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_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_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_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_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_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_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)
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)
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_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)
def test_create_topic(self): user = utils.create_user() utils.create_topic(user)