Przejdź do treści

Test TestIntegracyjnyDostepnoscEksport

Test integracyjny sprawdzający pełny przebieg procesu rezerwacyjnego:
od dodania pokoju i rejestracji gościa, przez dokonanie i opłacenie rezerwacji,
aż po sprawdzenie historii płatności, dostępności pokoi i eksport danych do pliku CSV.

Weryfikowane są następujące funkcjonalności: - dodanie pokoju do hotelu, - rejestracja gościa, - dokonanie i opłacenie rezerwacji, - przypisanie gościa do pokoju w danym terminie, - sprawdzenie historii rezerwacji i płatności, - eksport danych do pliku .csv, - filtrowanie dostępnych pokoi.


Dokumentacja techniczna

Bases: TestCase

Test integracyjny sprawdzający pełny przebieg rezerwacji: od dodania pokoju i rejestracji gościa, przez dokonanie i opłacenie rezerwacji, aż po sprawdzenie dostępności pokoi, historii płatności oraz eksport danych do pliku CSV.

test_dostepnosc_eksport(mock_input)

Test obejmuje: dodanie pokoju i gościa, rezerwację i potwierdzenie płatności, sprawdzenie w jakim pokoju przebywa gość, podgląd rezerwacji pokoju i płatności, eksport danych do pliku .csv, sprawdzenie dostępnych pokoi w zadanym przedziale.

Source code in tests/integration/test_integracyjny_dostepnosc_eksport.py
@patch('builtins.input')
def test_dostepnosc_eksport(self, mock_input):
    """ Test obejmuje:
            dodanie pokoju i gościa,
            rezerwację i potwierdzenie płatności,
            sprawdzenie w jakim pokoju przebywa gość,
            podgląd rezerwacji pokoju i płatności,
            eksport danych do pliku .csv,
            sprawdzenie dostępnych pokoi w zadanym przedziale. """

    dzisiaj = date.today()
    jutro = dzisiaj + timedelta(days=1)

    dane_do_testu = [
        "100",
        "single",
        "200",
        "1",
        "Jan",
        "Kowalski",
        "jankowalski@email.com",
        "123456789"
    ]

    mock_input.side_effect = dane_do_testu
    add_room()
    register_guest()

    gosc_id = list(guest_reservations.keys())[0]


    mock_input.side_effect = [gosc_id, dzisiaj.strftime("%Y-%m-%d"),
                              jutro.strftime("%Y-%m-%d"), "100", "karta"]
    make_reservation()

    platnosc = list(payments.values())[0]
    mock_input.side_effect = [platnosc.payment_id]
    confirm_payment()

    mock_input.side_effect = [gosc_id, dzisiaj.strftime("%Y-%m-%d")]
    check_guest_room()


    mock_input.side_effect = ["100"]
    show_room_reservations()

    mock_input.side_effect = [gosc_id]
    show_guest_payments()

    export_reservations_to_csv()
    self.assertTrue(os.path.exists("rezerwacje_export.csv"))
    print("Plik CSV został wygenerowany.")

    mock_input.side_effect = [
        dzisiaj.strftime("%Y-%m-%d"),
        jutro.strftime("%Y-%m-%d")
    ]
    show_available_rooms()