Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.test import TestCase
- from api.models import *
- from accounts.models import *
- from api.serializers import *
- from rest_framework.exceptions import ValidationError
- class ModelsTestCase(TestCase):
- def setUp(self):
- room = Room.objects.create() #1-я тестовая комната
- user = User.objects.create() #1-й тестовый пользователь
- def testCreateBooking(self):
- '''Тест на нормальное создание бронирование'''
- rq = {
- 'room':1, #1-я тестовая комната
- 'customer':1, #1-й тестовый пользователь
- 'arrivalDate':'2022-09-09', # день въёзда
- 'departureDate':'2022-09-10', # день въезда
- 'dateApproach':0, # доп день на вьезд
- 'adultCount':1, # количество взрослых персон
- 'childCount':0, # количество детей
- 'petsCount':0, # количество питомцев
- 'isPaid':1 # статус оптаты
- }
- data = BookingItemCreateSerializer( data = rq )
- data.is_valid( raise_exception = True )
- def testBookingInThePast(self):
- '''Проверка бронирования в прошлое'''
- rq = {
- 'room':1, #1-я тестовая комната
- 'customer':1, #1-й тестовый пользователь
- 'arrivalDate':'1999-09-12', # день въёзда
- 'departureDate':'1999-09-13', # день въезда
- 'dateApproach':0, # доп день на вьезд
- 'adultCount':1, # количество взрослых персон
- 'childCount':0, # количество детей
- 'petsCount':0, # количество питомцев
- 'isPaid':1 # статус оптаты
- }
- data = BookingItemCreateSerializer( data = rq )
- try:
- data.is_valid( raise_exception = True )
- except ValidationError as error:
- #print( error.detail )
- self.assertEqual( error.detail['error'][0], 'Вы не можете бронировать в прошлое')
- def testBookingDates(self):
- '''Проверка на то, что дата прибытия должна быть перед датой выезда'''
- rq = {
- 'room':1, #1-я тестовая комната
- 'customer':1, #1-й тестовый пользователь
- 'arrivalDate':'2024-09-12', # день въёзда
- 'departureDate':'2023-09-13', # день въезда
- 'dateApproach':0, # доп день на вьезд
- 'adultCount':1, # количество взрослых персон
- 'childCount':0, # количество детей
- 'petsCount':0, # количество питомцев
- 'isPaid':1 # статус оптаты
- }
- data = BookingItemCreateSerializer( data = rq )
- try:
- data.is_valid( raise_exception = True )
- except ValidationError as error:
- #print( error.detail )
- self.assertEqual( error.detail['error'][0], 'Дата отбытия должна быть после даты прибытия')
- def testBookingAdultCount(self):
- '''Проверка на наличие взрослых при бронировании'''
- rq = {
- 'room':1, #1-я тестовая комната
- 'customer':1, #1-й тестовый пользователь
- 'arrivalDate':'2022-09-12', # день въёзда
- 'departureDate':'2022-09-13', # день въезда
- 'dateApproach':0, # доп день на вьезд
- 'adultCount':0, # количество взрослых персон
- 'childCount':0, # количество детей
- 'petsCount':0, # количество питомцев
- 'isPaid':1 # статус оптаты
- }
- data = BookingItemCreateSerializer( data = rq )
- try:
- data.is_valid( raise_exception = True )
- except ValidationError as error:
- #print( error.detail )
- self.assertEqual( error.detail['error'][0], 'Количество взрослых должно быть 1 или более')
- def testBusyBooking(self):
- '''Проверка бронирования на занятый диапазон времени'''
- rq = {
- 'room':1, #1-я тестовая комната
- 'customer':1, #1-й тестовый пользователь
- 'arrivalDate':'2022-09-09', # день въёзда
- 'departureDate':'2022-09-15', # день въезда
- 'dateApproach':0, # доп день на вьезд
- 'adultCount':1, # количество взрослых персон
- 'childCount':0, # количество детей
- 'petsCount':0, # количество питомцев
- 'isPaid':1 # статус оптаты
- }
- data = BookingItemCreateSerializer( data = rq )
- data.is_valid( raise_exception = True )
- data.save()
- rq = {
- 'room':1, #1-я тестовая комната
- 'customer':1, #1-й тестовый пользователь
- 'arrivalDate':'2022-09-12', # день въёзда
- 'departureDate':'2022-09-13', # день въезда
- 'dateApproach':0, # доп день на вьезд
- 'adultCount':1, # количество взрослых персон
- 'childCount':0, # количество детей
- 'petsCount':0, # количество питомцев
- 'isPaid':1 # статус оптаты
- }
- data = BookingItemCreateSerializer( data = rq )
- try:
- data.is_valid( raise_exception = True )
- except ValidationError as error:
- #print( error.detail )
- self.assertEqual( error.detail['error'][0], 'Бронирование на этот диапазон времени занято')
- '''
- fields = ( 'id', 'room' ,'customer','arrivaldate' ,'departuredate',
- 'dateapproach','adultcount','childcount','petscount','ispaid' )
- extra_kwargs = { 'customer':{'write_only': true} }
- '''
Advertisement
Add Comment
Please, Sign In to add comment