public void Add_appointment_to_a_patient() { // Arrange string firstName = "Type O Negative"; string lastName = "Carnivore"; DateTime appointmentDate = DateTime.Now; string interview = "The patient is quite ill right now"; DatabaseTools.AddPatientToDatabase(firstName, lastName); IEnumerable <PatientEntity> patients = _patientDal.GetAllPatients(); PatientEntity patient = patients.First(x => x.FirstName == firstName); // Act patient.AddAppointment(new AppointmentEntity { Date = appointmentDate, Interview = interview }); _patientDal.SaveOrUpdatePatient(patient); // Assert IList <AppointmentEntity> appointments = DatabaseTools.GetAllAppointments(); Assert.That(appointments.Count, Is.EqualTo(1)); AppointmentEntity resultAppointment = appointments.First(); Assert.AreEqual(resultAppointment.Date.Date, appointmentDate.Date); StringAssert.Contains(interview, resultAppointment.Interview); Assert.AreEqual(resultAppointment.Patient.Id, appointments.Last().Patient.Id); }
public void Add_additional_appointment_to_a_patient() { // Arrange string firstName = "Type O Negative"; string lastName = "Carnivore"; DateTime newerAppointmentDate = DateTime.Now; DateTime olderAppointmentDate = DateTime.Now - TimeSpan.FromDays(7); DatabaseTools.AddPatientToDatabase(firstName, lastName, newerAppointmentDate); IEnumerable <PatientEntity> patients = _patientDal.GetAllPatients(); PatientEntity patient = patients.First(x => x.FirstName == firstName); // Act patient.AddAppointment(new AppointmentEntity { Date = olderAppointmentDate }); _patientDal.SaveOrUpdatePatient(patient); // Assert IList <AppointmentEntity> appointments = DatabaseTools.GetAllAppointments(); appointments.OrderBy(x => x.Date); Assert.That(appointments.Count, Is.EqualTo(2)); Assert.AreEqual(appointments.First().Date.Date, olderAppointmentDate.Date); Assert.AreEqual(appointments.Last().Date.Date, newerAppointmentDate.Date); Assert.AreEqual(appointments.First().Patient.Id, appointments.Last().Patient.Id); }
public void Delete_patient_from_database() { // Arrange string firstName = "Josh"; string lastName = "Silver"; DateTime appointmentDate = DateTime.Now; DatabaseTools.AddPatientToDatabase(firstName, lastName, appointmentDate); IList <PatientEntity> patients = DatabaseTools.GetPatientFromDatabase(firstName, lastName); // Act _patientDal.DeletePatient(patients.First()); // Assert IList <PatientEntity> patientsAfterDelete = DatabaseTools.GetPatientFromDatabase(firstName, lastName); Assert.IsNotNull(patientsAfterDelete); Assert.IsEmpty(patientsAfterDelete); IList <AppointmentEntity> appointments = DatabaseTools.GetAllAppointments(); Assert.IsNotNull(appointments); Assert.IsEmpty(appointments); }