Test TestIntegracyjnyRezerwacja
Test integracyjny sprawdzający poprawność procesu rezerwacji oraz płatności.
Obejmuje pełny przebieg: od dodania pokoju, przez rejestrację gościa, aż po stworzenie rezerwacji i potwierdzenie płatności.
Weryfikowane są:
- poprawne dodanie pokoju do systemu,
- rejestracja gościa i zapisanie jego danych,
- przypisanie rezerwacji do gościa i pokoju w określonym terminie,
- utworzenie obiektu płatności oraz zmiana jej statusu po potwierdzeniu.
Dokumentacja techniczna
Bases: TestCase
Test integracyjny sprawdzający proces rezerwacji oraz płatności:
dodanie pokoju, rejestracja gościa, dokonanie rezerwacji oraz potwierdzenie płatności.
test_rezerwacja_i_platnosc(mock_input)
Test obejmuje:
dodanie pokoju i weryfikację jego obecności w systemie,
rejestrację gościa,
dokonanie rezerwacji z przypisaną płatnością,
potwierdzenie płatności i zmianę jej statusu.
Source code in tests/integration/test_integracyjny_rezerwacja_platnosc.py
| @patch('builtins.input')
def test_rezerwacja_i_platnosc(self, mock_input):
""" Test obejmuje:
dodanie pokoju i weryfikację jego obecności w systemie,
rejestrację gościa,
dokonanie rezerwacji z przypisaną płatnością,
potwierdzenie płatności i zmianę jej statusu. """
dzisiaj = date.today()
jutro = dzisiaj + timedelta(days=1)
dane_wejsciowe = [
"100",
"single",
"200",
"1",
"Jan",
"Kowalski",
"jankowalski@email.com",
"123456789"
]
mock_input.side_effect = dane_wejsciowe
add_room()
self.assertEqual(len(hotel.get_all_rooms()), 1)
register_guest()
self.assertEqual(len(guests), 1)
lista_gosci = list(guests.keys())
gosc_id = lista_gosci[0]
mock_input.side_effect = [
gosc_id,
dzisiaj.strftime("%Y-%m-%d"),
jutro.strftime("%Y-%m-%d"),
"100",
"karta"
]
make_reservation()
self.assertEqual(len(hotel.get_all_reservations()), 1)
self.assertEqual(len(payments), 1)
lista_platnosci = list(payments.values())
platnosc = lista_platnosci[0]
self.assertFalse(platnosc.paid)
mock_input.side_effect = [platnosc.payment_id]
confirm_payment()
self.assertTrue(platnosc.paid)
|