You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
2.1 KiB
Python
48 lines
2.1 KiB
Python
from django.test import TestCase, Client
|
|
from django.urls import reverse
|
|
from django.contrib.auth import get_user_model
|
|
from containers.models import Container
|
|
from common.models import LinesModel, ContainerTypeModel
|
|
from preinfo.models import Preinfo
|
|
|
|
class ContainerViewsTestCase(TestCase):
|
|
def setUp(self):
|
|
self.client = Client()
|
|
DepotUser = get_user_model()
|
|
self.user = DepotUser.objects.create_user(username='testuser', password='password', user_type='E')
|
|
self.client.login(username='testuser', password='password')
|
|
self.line = LinesModel.objects.create(name='Test Line')
|
|
self.container_type = ContainerTypeModel.objects.create(name='20ft')
|
|
self.preinfo = Preinfo.objects.create(number='PRE123', line=self.line, container_type=self.container_type)
|
|
self.container = Container.objects.create(
|
|
number='TEST1234567',
|
|
line=self.line,
|
|
container_type=self.container_type,
|
|
received_by=self.user,
|
|
preinfo=self.preinfo
|
|
)
|
|
|
|
def test_container_list_view(self):
|
|
response = self.client.get(reverse('container-list'))
|
|
self.assertEqual(response.status_code, 200)
|
|
self.assertTemplateUsed(response, 'containers/container-list.html')
|
|
self.assertContains(response, self.container.number)
|
|
|
|
def test_container_receive_view(self):
|
|
response = self.client.post(reverse('container-receive'), {
|
|
'number': 'TEST7654321',
|
|
'line': self.line.id,
|
|
'container_type': self.container_type.id,
|
|
'preinfo': self.preinfo.id,
|
|
})
|
|
self.assertEqual(response.status_code, 302)
|
|
self.assertTrue(Container.objects.filter(number='TEST7654321').exists())
|
|
|
|
def test_container_expedition_view(self):
|
|
response = self.client.post(reverse('container-expedition', args=[self.container.id]), {
|
|
'expedition_vehicle': 'TRUCK123',
|
|
})
|
|
self.assertEqual(response.status_code, 302)
|
|
self.container.refresh_from_db()
|
|
self.assertTrue(self.container.expedited)
|
|
self.assertEqual(self.container.expedition_vehicle, 'TRUCK123') |