gault-millau/apps/location/tests.py
2019-09-24 21:03:50 +03:00

83 lines
2.6 KiB
Python

import json
from rest_framework.test import APITestCase
from account.models import User
from rest_framework import status
from http.cookies import SimpleCookie
from django.contrib.gis.db.models import PointField
from location.models import City, Region, Country
class BaseTestCase(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)
# get tokens
tokkens = User.create_jwt_tokens(self.user)
self.client.cookies = SimpleCookie(
{'access_token': tokkens.get('access_token'),
'refresh_token': tokkens.get('refresh_token')})
class AddressTests(BaseTestCase):
def setUp(self):
super().setUp()
self.country = Country.objects.create(
name=json.dumps({"en-GB": "Test country"}),
code="test"
)
self.region = Region.objects.create(
name="Test region",
code="812",
country=self.country
)
self.city = City.objects.create(
name="Test region",
code="812",
region=self.region,
country=self.country
)
def test_address_CRUD(self):
response = self.client.get('/api/back/location/addresses/', format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
data = {
'city_id': self.city.id,
'number': '+79999999',
"coordinates": {
"latitude": 37.0625,
"longitude": -95.677068
},
"geo_lon": -95.677068,
"geo_lat": 37.0625
}
response = self.client.post('/api/back/location/addresses/', data=data, format='json')
print(f"=========RESPONSE: {response.json()}")
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
response = self.client.get('/api/back/location/addresses/1/', format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
update_data = {
'number': '+79999991'
}
response = self.client.patch('/api/back/location/addresses/1/', data=update_data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
response = self.client.delete('/api/back/location/addresses/1/', format='json')
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)