c3lf-system-3/core/tickets/tests/v2/test_shipping_vouchers.py

42 lines
1.7 KiB
Python
Raw Normal View History

2024-06-15 17:27:20 +00:00
from datetime import datetime, timedelta
from django.test import TestCase, Client
from authentication.models import ExtendedUser
from mail.models import Email, EmailAttachment
2024-06-18 14:43:23 +00:00
from tickets.models import IssueThread, StateChange, Comment, ShippingVoucher
2024-06-15 17:27:20 +00:00
from django.contrib.auth.models import Permission
from knox.models import AuthToken
2024-06-18 14:43:23 +00:00
class ShippingVoucherApiTest(TestCase):
2024-06-15 17:27:20 +00:00
def setUp(self):
super().setUp()
self.user = ExtendedUser.objects.create_user('testuser', 'test', 'test')
self.user.user_permissions.add(*Permission.objects.all())
self.user.save()
self.token = AuthToken.objects.create(user=self.user)
self.client = Client(headers={'Authorization': 'Token ' + self.token[1]})
def test_issues_empty(self):
2024-06-18 14:43:23 +00:00
response = self.client.get('/api/2/shipping_vouchers/')
2024-06-15 17:27:20 +00:00
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json(), [])
2024-06-18 12:15:29 +00:00
def test_issues_list(self):
2024-06-18 15:00:52 +00:00
ShippingVoucher.objects.create(voucher='1234', type='2kg-eu')
2024-06-18 14:43:23 +00:00
response = self.client.get('/api/2/shipping_vouchers/')
2024-06-18 12:15:29 +00:00
self.assertEqual(response.status_code, 200)
2024-06-18 15:00:52 +00:00
self.assertEqual(response.json()[0]['voucher'], '1234')
2024-06-18 12:15:29 +00:00
self.assertEqual(response.json()[0]['used_at'], None)
self.assertEqual(response.json()[0]['issue_thread'], None)
self.assertEqual(response.json()[0]['type'], '2kg-eu')
2024-06-15 17:27:20 +00:00
def test_issues_create(self):
2024-06-18 15:00:52 +00:00
response = self.client.post('/api/2/shipping_vouchers/', {'voucher': '1234', 'type': '2kg-eu'})
2024-06-15 17:27:20 +00:00
self.assertEqual(response.status_code, 201)
2024-06-18 15:00:52 +00:00
self.assertEqual(response.json()['voucher'], '1234')
2024-06-15 17:27:20 +00:00
self.assertEqual(response.json()['used_at'], None)
self.assertEqual(response.json()['issue_thread'], None)