You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.5 KiB
53 lines
1.5 KiB
from django.urls import reverse
|
|
from rest_framework import status
|
|
from rest_framework.test import APITestCase
|
|
|
|
from ..models import Provider
|
|
|
|
|
|
class ProvidersUpdateTests(APITestCase):
|
|
endpoint_name = 'provider-detail'
|
|
|
|
@classmethod
|
|
def setUpTestData(cls):
|
|
super(ProvidersUpdateTests, cls).setUpTestData()
|
|
|
|
payload = {
|
|
'currency': 'USD',
|
|
'email': 'nicolas@email.com',
|
|
'language': 'EN',
|
|
'name': 'Test',
|
|
'phone_number': '+34685061901'
|
|
}
|
|
|
|
cls.provider = Provider.objects.create(**payload)
|
|
|
|
def test_provider_update_success(self):
|
|
endpoint = reverse(self.endpoint_name, kwargs={'pk': self.provider.id})
|
|
|
|
payload = {
|
|
'currency': 'EUR',
|
|
'email': 'user@email.com',
|
|
'language': 'ES',
|
|
'name': 'Test 2',
|
|
'phone_number': '+34685061111'
|
|
}
|
|
response = self.client.put(
|
|
endpoint,
|
|
payload,
|
|
format='json'
|
|
)
|
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
|
|
|
response_data = response.json()
|
|
for field in payload.keys():
|
|
self.assertEqual(payload[field], response_data[field])
|
|
|
|
def test_provider_update_failure_does_not_exist(self):
|
|
endpoint = reverse(self.endpoint_name, kwargs={'pk': self.provider.id + 100})
|
|
|
|
response = self.client.put(
|
|
endpoint
|
|
)
|
|
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
|