def test_provider_book_with_self(um_fixture): am = AppointmentManager() with pytest.raises(BookingError) as info: am.make_appt_and_add_appointment_to_manager('*****@*****.**', '*****@*****.**', 'centre_id', '2019-08-09', '09:30', 'reason')
def test_past_date_and_time_slot(): am = AppointmentManager() with pytest.raises(DateTimeValidityError) as info: am.make_appt_and_add_appointment_to_manager('*****@*****.**', '*****@*****.**', 'centre_id', '2016-08-09', '09:30', 'reason')
def test_valid_booking(um_fixture): am = AppointmentManager() appt = am.make_appt_and_add_appointment_to_manager('*****@*****.**', '*****@*****.**', 'centre_id', '2019-08-09', '09:30', 'reason') assert (type(appt) == Appointment) assert (appt.patient_email == '*****@*****.**') assert (appt.provider_email == '*****@*****.**') assert (appt.centre_id == 'centre_id') assert (appt.date == '2019-08-09') assert (appt.time_slot == '09:30') assert (appt.reason == 'reason') assert (appt in am.appointments)
def test_invalid_date(um_fixture): am = AppointmentManager() um = um_fixture provider = um.get_user("*****@*****.**") with pytest.raises(DateTimeValidityError) as info: provider.get_availability(provider.centres[0], 19922, 13, 2222) with pytest.raises(DateTimeValidityError) as info: provider.get_availability(provider.centres[0], 'lol', 12, 12) avail = provider.get_availability(provider.centres[0], 2019, 10, 15) assert (type(avail) is list)
def appointment_manager(): am = AppointmentManager() return am
from flask import Flask from model.centre_manager import CentreManager from model.user_manager import UserManager from model.appointment_manager import AppointmentManager from model.system import link_centre_provider from model.permissions import Permissions from model.notifications_manager import NotificationsManager # Instantiate 'global' variables app = Flask(__name__) app.secret_key = 'super secret shhhh' user_manager = UserManager.load_data() centre_manager = CentreManager.load_data() link_centre_provider(centre_manager, user_manager) appt_manager = AppointmentManager.load_data() permissions = Permissions.load_data(user_manager.patients, user_manager.providers) notifications_manager = NotificationsManager(user_manager.patients, user_manager.providers, permissions) notifications_manager.generate_matrix()