from datetime import datetime, timedelta from django.test import TestCase, Client from authentication.models import ExtendedUser from mail.models import Email, EmailAttachment from tickets.models import IssueThread, StateChange, Comment, ShippingVoucher from django.contrib.auth.models import Permission from knox.models import AuthToken class ShippingVoucherApiTest(TestCase): 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): response = self.client.get('/api/2/shipping_vouchers/') self.assertEqual(response.status_code, 200) self.assertEqual(response.json(), []) def test_issues_list(self): ShippingVoucher.objects.create(code='1234', type='2kg-eu') response = self.client.get('/api/2/shipping_vouchers/') self.assertEqual(response.status_code, 200) self.assertEqual(response.json()[0]['code'], '1234') self.assertEqual(response.json()[0]['used_at'], None) self.assertEqual(response.json()[0]['issue_thread'], None) self.assertEqual(response.json()[0]['type'], '2kg-eu') def test_issues_create(self): response = self.client.post('/api/2/shipping_vouchers/', {'code': '1234', 'type': '2kg-eu'}) self.assertEqual(response.status_code, 201) self.assertEqual(response.json()['code'], '1234') self.assertEqual(response.json()['used_at'], None) self.assertEqual(response.json()['issue_thread'], None)