Merge branch 'account_test' into 'develop'
Account test See merge request gm/gm-backend!21
This commit is contained in:
commit
94f028ce68
|
|
@ -1,3 +0,0 @@
|
|||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
0
apps/account/tests/__init__.py
Normal file
0
apps/account/tests/__init__.py
Normal file
82
apps/account/tests/tests_common.py
Normal file
82
apps/account/tests/tests_common.py
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
from rest_framework.test import APITestCase
|
||||
from rest_framework import status
|
||||
from authorization.tests.tests import get_tokens_for_user
|
||||
from http.cookies import SimpleCookie
|
||||
from account.models import User
|
||||
from django.urls import reverse
|
||||
|
||||
|
||||
class AccountUserTests(APITestCase):
|
||||
|
||||
url = reverse('web:account:user-retrieve-update')
|
||||
|
||||
def setUp(self):
|
||||
self.data = get_tokens_for_user()
|
||||
|
||||
def test_user_url(self):
|
||||
response = self.client.get(self.url)
|
||||
self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
self.client.cookies = SimpleCookie(
|
||||
{'access_token': self.data['tokens'].get('access_token'),
|
||||
'refresh_token': self.data['tokens'].get('access_token')})
|
||||
|
||||
response = self.client.get(self.url)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
data = {
|
||||
"username": self.data["username"],
|
||||
"first_name": "Test first name",
|
||||
"last_name": "Test last name",
|
||||
"cropped_image_url": "http://localhost/image/cropped.png",
|
||||
"image_url": "http://localhost/image/avatar.png",
|
||||
"email": "sedragurdatest@desoz.com",
|
||||
"newsletter": self.data["newsletter"]
|
||||
}
|
||||
response = self.client.patch(self.url, data=data, format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
data["email"] = "sedragurdatest2@desoz.com"
|
||||
|
||||
response = self.client.put(self.url, data=data, format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
|
||||
class AccountChangePasswordTests(APITestCase):
|
||||
|
||||
url = reverse('web:account:change-password')
|
||||
|
||||
def setUp(self):
|
||||
self.data = get_tokens_for_user()
|
||||
|
||||
def test_change_password(self):
|
||||
data = {
|
||||
"old_password": self.data["password"],
|
||||
"password": "new password"
|
||||
}
|
||||
|
||||
response = self.client.patch(self.url, data=data, format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
self.client.cookies = SimpleCookie(
|
||||
{'access_token': self.data['tokens'].get('access_token'),
|
||||
'refresh_token': self.data['tokens'].get('access_token')})
|
||||
|
||||
response = self.client.patch(self.url, data=data, format='json')
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
|
||||
class AccountChangePasswordTests(APITestCase):
|
||||
def setUp(self):
|
||||
self.data = get_tokens_for_user()
|
||||
|
||||
def test_confirm_email(self):
|
||||
user = User.objects.get(email=self.data["email"])
|
||||
token = user.confirm_email_token
|
||||
uidb64 = user.get_user_uidb64
|
||||
url = reverse('web:account:confirm-email', kwargs={
|
||||
'uidb64': uidb64,
|
||||
'token': token
|
||||
})
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
|
@ -3,15 +3,28 @@ from account.models import User
|
|||
# Create your tests here.
|
||||
|
||||
|
||||
def get_tokens_for_user(
|
||||
username='sedragurda', password='sedragurdaredips19', email='sedragurda@desoz.com'):
|
||||
|
||||
user = User.objects.create_user(username=username, email=email, password=password)
|
||||
tokens = User.create_jwt_tokens(user)
|
||||
|
||||
return {
|
||||
"username": username,
|
||||
"password": password,
|
||||
"email": email,
|
||||
"newsletter": True,
|
||||
"user": user,
|
||||
"tokens": tokens
|
||||
}
|
||||
|
||||
|
||||
class AuthorizationTests(APITestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.username = 'sedragurda'
|
||||
self.password = 'sedragurdaredips19'
|
||||
self.email = 'sedragurda@desoz.com'
|
||||
self.newsletter = True
|
||||
self.user = User.objects.create_user(username=self.username, email=self.email, password=self.password)
|
||||
self.tokkens = User.create_jwt_tokens(self.user)
|
||||
data = get_tokens_for_user()
|
||||
self.username = data["username"]
|
||||
self.password = data["password"]
|
||||
|
||||
def LoginTests(self):
|
||||
data ={
|
||||
|
|
@ -20,6 +33,6 @@ class AuthorizationTests(APITestCase):
|
|||
'remember': True
|
||||
}
|
||||
response = self.client.post('/api/auth/login/', data=data)
|
||||
self.assertEqual(response.data['access_token'], self.tokkens.get('access_token'))
|
||||
self.assertEqual(response.data['refresh_token'], self.tokkens.get('refresh_token'))
|
||||
self.assertEqual(response.data['access_token'], self.tokens.get('access_token'))
|
||||
self.assertEqual(response.data['refresh_token'], self.tokens.get('refresh_token'))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user