settings split for development and production.py
This commit is contained in:
Binary file not shown.
+4
-1
@@ -41,4 +41,7 @@ class Booking(models.Model):
|
||||
|
||||
@property
|
||||
def containers_left(self):
|
||||
return self.container_count - (self.container_expedited_count or 0)
|
||||
return self.container_count - (self.container_expedited_count or 0)
|
||||
|
||||
class Meta:
|
||||
app_label = 'booking'
|
||||
+48
-2
@@ -1,3 +1,49 @@
|
||||
from django.test import TestCase
|
||||
from django.test import TestCase, Client
|
||||
from django.urls import reverse
|
||||
from django.contrib.auth import get_user_model
|
||||
from booking.models import Booking
|
||||
from common.models import LinesModel, ContainerTypeModel
|
||||
|
||||
# Create your tests here.
|
||||
class BookingViewsTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.client = Client()
|
||||
DepotUser = get_user_model()
|
||||
self.user = DepotUser.objects.create_user(username='testuser', password='password', user_type='EM')
|
||||
self.client.login(username='testuser', password='password')
|
||||
self.line = LinesModel.objects.create(name='Test Line')
|
||||
self.container_type = ContainerTypeModel.objects.create(name='20ft')
|
||||
self.booking = Booking.objects.create(
|
||||
number='BOOK123',
|
||||
container_type=self.container_type,
|
||||
container_count=10,
|
||||
line=self.line,
|
||||
created_by=self.user.id,
|
||||
updated_by=self.user.id
|
||||
)
|
||||
|
||||
def test_booking_list_view(self):
|
||||
response = self.client.get(reverse('booking-list'))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, 'booking/booking-list.html')
|
||||
self.assertContains(response, self.booking.number)
|
||||
|
||||
def test_booking_create_view(self):
|
||||
response = self.client.post(reverse('booking-create'), {
|
||||
'number': 'BOOK456',
|
||||
'container_type': self.container_type.id,
|
||||
'container_count': 5,
|
||||
'line': self.line.id,
|
||||
})
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertTrue(Booking.objects.filter(number='BOOK456').exists())
|
||||
|
||||
def test_booking_update_view(self):
|
||||
response = self.client.post(reverse('booking-update', args=[self.booking.id]), {
|
||||
'number': 'BOOK123-updated',
|
||||
'container_type': self.container_type.id,
|
||||
'container_count': 15,
|
||||
'line': self.line.id,
|
||||
})
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.booking.refresh_from_db()
|
||||
self.assertEqual(self.booking.number, 'BOOK123-updated')
|
||||
@@ -44,7 +44,7 @@ class CreateBookingView(LoginRequiredMixin, UserPassesTestMixin, LineFilterFormM
|
||||
return super().form_valid(form)
|
||||
|
||||
def test_func(self):
|
||||
self.request.user.has_company_perm('can_edit_preinfo') or self.request.user.user_type == 'CA'
|
||||
return self.request.user.has_company_perm('can_manage_booking') or self.request.user.user_type == 'CA'
|
||||
|
||||
|
||||
class ClientBookingUpdateView(LoginRequiredMixin, UserPassesTestMixin, LineFilterFormMixin, CreateView):
|
||||
|
||||
Reference in New Issue
Block a user