# Class AppointmentRepositoryTest

Namespace
  adas_core.Test.Repositories

Assembly
  adas-core.Test.dll

    [TestFixture]
    [Category("Integration")]
    public class AppointmentRepositoryTest

Inheritance
  object
  AppointmentRepositoryTest

Inherited Members
  object.Equals(object)
  object.Equals(object, object)
  object.GetHashCode()
  object.GetType()
  object.MemberwiseClone()
  object.ReferenceEquals(object, object)
  object.ToString()

Extension Methods
  NumberUtils.IsNumber(object)
  NumberUtils.ToDouble(object)
  ObjectUtils.ToStr(object?)

## Methods

### FindByLocation_Find_Patient_Return_Appointment()

Verifies that FindByLocation(PatientLocation) successfully retrieves the appointment associated with a patient located at the specified PatientLocation.

    [Test]
    public Task FindByLocation_Find_Patient_Return_Appointment()

#### Returns

Task

### FindByLocation_Not_Find_Patient_Return_Null()

Verifies that AppointmentRepository.`FindByLocation` returns an empty (non-null) collection when no patient is associated with the specified location.

    [Test]
    public Task FindByLocation_Not_Find_Patient_Return_Null()

#### Returns

Task

### FindByPatientAndReason_Find_Patient_Return_Appointment()

Tests that FindByPatientAndReason returns a non-null appointment containing the expected AppointmentReason for the specified patient.

    [Test]
    public Task FindByPatientAndReason_Find_Patient_Return_Appointment()

#### Returns

Task

### FindByPatientAndReason_Not_Find_Patient_Return_Null()

Verifies that the repository returns null when searching for an appointment by patient ID and a reason that does not match any existing appointment.

    [Test]
    public Task FindByPatientAndReason_Not_Find_Patient_Return_Null()

#### Returns

Task

### FindByPatientAndVisitNumber_Find_Patient_Return_Appointment()

Verifies that the repository's FindByPatientAndVisitNumber method successfully retrieves the corresponding appointment when a valid patient identifier and an existing visit number are supplied.

    [Test]
    public Task FindByPatientAndVisitNumber_Find_Patient_Return_Appointment()

#### Returns

Task

### FindByPatientAndVisitNumber_Not_Find_Patient_Return_Null()

Verifies that the repository returns `null` when no patient is found matching the specified patient identifier and visit number.

    [Test]
    public Task FindByPatientAndVisitNumber_Not_Find_Patient_Return_Null()

#### Returns

Task

### GetByPatient_Find_Patient_Return_List()

Verifies that AppointmentRepository.GetByPatient returns a non-null, non-empty list when a valid patient identifier is provided.

    [Test]
    public Task GetByPatient_Find_Patient_Return_List()

#### Returns

Task

### GetByPatient_not_Find_Patient_Return_Empty_List()

Verifies that GetByPatient(ObjectId) returns a non-null, empty list when no records are found for the specified patient identifier.

    [Test]
    public Task GetByPatient_not_Find_Patient_Return_Empty_List()

#### Returns

Task

### Init()

Performs one-time setup for integration tests by resetting the patients_appointments collection and seeding it with two test patient appointments: one with minimal fields and another extended with visit number, appointment reason, and resource groups.

    [OneTimeSetUp]
    public Task Init()

#### Returns

Task