qberik

Untitled

Jun 6th, 2022
1,123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.75 KB | None | 0 0
  1. from django.test import TestCase
  2. from api.models import *
  3. from accounts.models import *
  4. from api.serializers import *
  5. from rest_framework.exceptions import ValidationError
  6.  
  7. class ModelsTestCase(TestCase):
  8.  
  9.     def setUp(self):
  10.         room = Room.objects.create() #1-я тестовая комната
  11.         user = User.objects.create() #1-й тестовый пользователь
  12.    
  13.     def testCreateBooking(self):
  14.         '''Тест на нормальное создание бронирование'''
  15.         rq = {
  16.                 'room':1, #1-я тестовая комната
  17.                 'customer':1, #1-й тестовый пользователь
  18.                 'arrivalDate':'2022-09-09', # день въёзда
  19.                 'departureDate':'2022-09-10', # день въезда
  20.                 'dateApproach':0, # доп день на вьезд
  21.                 'adultCount':1, # количество взрослых персон
  22.                 'childCount':0, # количество детей
  23.                 'petsCount':0, # количество питомцев
  24.                 'isPaid':1 # статус оптаты
  25.             }
  26.         data = BookingItemCreateSerializer( data = rq )
  27.         data.is_valid( raise_exception = True )
  28.  
  29.     def testBookingInThePast(self):
  30.         '''Проверка бронирования в прошлое'''
  31.         rq = {
  32.                 'room':1, #1-я тестовая комната
  33.                 'customer':1, #1-й тестовый пользователь
  34.                 'arrivalDate':'1999-09-12', # день въёзда
  35.                 'departureDate':'1999-09-13', # день въезда
  36.                 'dateApproach':0, # доп день на вьезд
  37.                 'adultCount':1, # количество взрослых персон
  38.                 'childCount':0, # количество детей
  39.                 'petsCount':0, # количество питомцев
  40.                 'isPaid':1 # статус оптаты
  41.             }
  42.         data = BookingItemCreateSerializer( data = rq )
  43.  
  44.         try:
  45.             data.is_valid( raise_exception = True )
  46.         except ValidationError as error:
  47.             #print( error.detail )
  48.             self.assertEqual( error.detail['error'][0], 'Вы не можете бронировать в прошлое')
  49.  
  50.  
  51.     def testBookingDates(self):
  52.         '''Проверка на то, что дата прибытия должна быть перед датой выезда'''
  53.         rq = {
  54.                 'room':1, #1-я тестовая комната
  55.                 'customer':1, #1-й тестовый пользователь
  56.                 'arrivalDate':'2024-09-12', # день въёзда
  57.                 'departureDate':'2023-09-13', # день въезда
  58.                 'dateApproach':0, # доп день на вьезд
  59.                 'adultCount':1, # количество взрослых персон
  60.                 'childCount':0, # количество детей
  61.                 'petsCount':0, # количество питомцев
  62.                 'isPaid':1 # статус оптаты
  63.             }
  64.         data = BookingItemCreateSerializer( data = rq )
  65.  
  66.         try:
  67.             data.is_valid( raise_exception = True )
  68.         except ValidationError as error:
  69.             #print( error.detail )
  70.             self.assertEqual( error.detail['error'][0], 'Дата отбытия должна быть после даты прибытия')
  71.  
  72.  
  73.     def testBookingAdultCount(self):
  74.         '''Проверка на наличие взрослых при бронировании'''
  75.         rq = {
  76.                 'room':1, #1-я тестовая комната
  77.                 'customer':1, #1-й тестовый пользователь
  78.                 'arrivalDate':'2022-09-12', # день въёзда
  79.                 'departureDate':'2022-09-13', # день въезда
  80.                 'dateApproach':0, # доп день на вьезд
  81.                 'adultCount':0, # количество взрослых персон
  82.                 'childCount':0, # количество детей
  83.                 'petsCount':0, # количество питомцев
  84.                 'isPaid':1 # статус оптаты
  85.             }
  86.         data = BookingItemCreateSerializer( data = rq )
  87.  
  88.         try:
  89.             data.is_valid( raise_exception = True )
  90.         except ValidationError as error:
  91.             #print( error.detail )
  92.             self.assertEqual( error.detail['error'][0], 'Количество взрослых должно быть 1 или более')
  93.  
  94.     def testBusyBooking(self):
  95.         '''Проверка бронирования на занятый диапазон времени'''
  96.         rq = {
  97.                 'room':1, #1-я тестовая комната
  98.                 'customer':1, #1-й тестовый пользователь
  99.                 'arrivalDate':'2022-09-09', # день въёзда
  100.                 'departureDate':'2022-09-15', # день въезда
  101.                 'dateApproach':0, # доп день на вьезд
  102.                 'adultCount':1, # количество взрослых персон
  103.                 'childCount':0, # количество детей
  104.                 'petsCount':0, # количество питомцев
  105.                 'isPaid':1 # статус оптаты
  106.             }
  107.         data = BookingItemCreateSerializer( data = rq )
  108.         data.is_valid( raise_exception = True )
  109.         data.save()
  110.  
  111.         rq = {
  112.                 'room':1, #1-я тестовая комната
  113.                 'customer':1, #1-й тестовый пользователь
  114.                 'arrivalDate':'2022-09-12', # день въёзда
  115.                 'departureDate':'2022-09-13', # день въезда
  116.                 'dateApproach':0, # доп день на вьезд
  117.                 'adultCount':1, # количество взрослых персон
  118.                 'childCount':0, # количество детей
  119.                 'petsCount':0, # количество питомцев
  120.                 'isPaid':1 # статус оптаты
  121.             }
  122.         data = BookingItemCreateSerializer( data = rq )
  123.  
  124.         try:
  125.             data.is_valid( raise_exception = True )
  126.         except ValidationError as error:
  127.             #print( error.detail )
  128.             self.assertEqual( error.detail['error'][0], 'Бронирование на этот диапазон времени занято')
  129.  
  130.        
  131.  
  132.  
  133.  
  134.         '''
  135. fields = ( 'id', 'room' ,'customer','arrivaldate' ,'departuredate',
  136. 'dateapproach','adultcount','childcount','petscount','ispaid' )
  137. extra_kwargs = { 'customer':{'write_only': true} }
  138. '''
  139.  
  140.  
Advertisement
Add Comment
Please, Sign In to add comment