Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.74 KB | None | 0 0
  1. from django.contrib.auth.models import User
  2. from django.core.urlresolvers import reverse
  3. from rest_framework import status
  4. from rest_framework.test import APITestCase
  5.  
  6. from models import BlogPost
  7. from serializers import UserSerializer, BlogPostSerializer
  8.  
  9.  
  10. # User tests
  11. class CreateUserTest(APITestCase):
  12. def setUp(self):
  13. self.superuser = User.objects.create_superuser('admin', 'admin@admin.com', 'admin1234')
  14. self.client.login(username='admin', password='admin1234')
  15. self.data = {'username': 'korisnik'}
  16.  
  17. def test_can_create_user(self):
  18. response = self.client.post(reverse('api:user-list'), self.data)
  19. self.assertEqual(response.status_code, status.HTTP_201_CREATED)
  20.  
  21.  
  22. class GetUserTest(APITestCase):
  23. def setUp(self):
  24. self.superuser = User.objects.create_superuser('admin', 'admin@admin.com', 'admin1234')
  25. self.client.login(username='admin', password='admin1234')
  26. self.user = User.objects.create(username="korisnik")
  27.  
  28. def test_can_read_user_list(self):
  29. response = self.client.get(reverse('api:user-list'))
  30. self.assertEqual(response.status_code, status.HTTP_200_OK)
  31.  
  32. def test_can_read_user_detail(self):
  33. response = self.client.get(reverse('api:user-detail', args=[self.user.id]))
  34. self.assertEqual(response.status_code, status.HTTP_200_OK)
  35.  
  36.  
  37. class UpdateUserTest(APITestCase):
  38. def setUp(self):
  39. self.superuser = User.objects.create_superuser('admin', 'admin@admin.com', 'admin1234')
  40. self.client.login(username='admin', password='admin1234')
  41. self.user = User.objects.create(username="korisnik")
  42. self.data = UserSerializer(self.user).data
  43. self.data.update({'username': 'noviusername'})
  44.  
  45. def test_can_update_user(self):
  46. response = self.client.put(reverse('api:user-detail', args=[self.user.id]), self.data)
  47. self.assertEqual(response.status_code, status.HTTP_200_OK)
  48.  
  49.  
  50. class DeleteUserTest(APITestCase):
  51. def setUp(self):
  52. self.superuser = User.objects.create_superuser('admin', 'admin@admin.com', 'admin1234')
  53. self.client.login(username='admin', password='admin1234')
  54. self.user = User.objects.create(username="korisnik")
  55.  
  56. def test_can_delete_user(self):
  57. response = self.client.delete(reverse('api:user-detail', args=[self.user.id]))
  58. self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
  59.  
  60.  
  61. # BlogPost
  62. class CreateBlogPostTest(APITestCase):
  63. def setUp(self):
  64. self.superuser = User.objects.create_superuser('admin', 'admin@admin.com', 'admin1234')
  65. self.client.login(username='admin', password='admin1234')
  66. self.data = {
  67. 'title': 'Title',
  68. 'text': 'Text'
  69. }
  70.  
  71. def test_can_create_post(self):
  72. response = self.client.post(reverse('api:post-list'), self.data)
  73. self.assertEqual(response.status_code, status.HTTP_201_CREATED)
  74.  
  75.  
  76. class GetBlogPostTest(APITestCase):
  77. def setUp(self):
  78. self.superuser = User.objects.create_superuser('admin', 'admin@admin.com', 'admin1234')
  79. self.client.login(username='admin', password='admin1234')
  80. self.post = BlogPost.objects.create(owner=self.superuser, title='title', text='text')
  81.  
  82. def test_can_read_post_list(self):
  83. response = self.client.get(reverse('api:post-list'))
  84. self.assertEqual(response.status_code, status.HTTP_200_OK)
  85.  
  86. def test_can_read_post_detail(self):
  87. response = self.client.get(reverse('api:post-detail', args=[self.post.id]))
  88. self.assertEqual(response.status_code, status.HTTP_200_OK)
  89.  
  90.  
  91. class UpdateBlogPostTest(APITestCase):
  92. def setUp(self):
  93. self.superuser = User.objects.create_superuser('admin', 'admin@admin.com', 'admin1234')
  94. self.client.login(username='admin', password='admin1234')
  95. self.post = BlogPost.objects.create(owner=self.superuser, title='title', text='text')
  96. self.data = BlogPostSerializer(self.post).data
  97. self.data.update({'title': 'novititle'})
  98.  
  99. def test_can_update_user(self):
  100. response = self.client.put(reverse('api:post-detail', args=[self.post.id]), self.data)
  101. self.assertEqual(response.status_code, status.HTTP_200_OK)
  102.  
  103.  
  104. class DeleteBlogPostTest(APITestCase):
  105. def setUp(self):
  106. self.superuser = User.objects.create_superuser('admin', 'admin@admin.com', 'admin1234')
  107. self.client.login(username='admin', password='admin1234')
  108. self.post = BlogPost.objects.create(owner=self.superuser, title='title', text='text')
  109.  
  110. def test_can_delete_user(self):
  111. response = self.client.delete(reverse('api:post-detail', args=[self.post.id]))
  112. self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement