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 from django.contrib.auth.models import Permission from knox.models import AuthToken class ShippingCodeApiTest(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_codes/') self.assertEqual(response.status_code, 200) self.assertEqual(response.json(), []) def test_issues_create(self): response = self.client.post('/api/2/shipping_codes/', {'code': '1234'}) 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)