Skip to content

Commit

Permalink
add back person_router tests
Browse files Browse the repository at this point in the history
  • Loading branch information
m-goggins committed Feb 26, 2025
1 parent 1f9774f commit ae718bd
Showing 1 changed file with 110 additions and 110 deletions.
220 changes: 110 additions & 110 deletions tests/unit/routes/test_person_router.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,113 +228,113 @@ def testInvalidPerson(self, client):
assert response.status_code == 404


# class TestGetOrphanedPersons:
# def testGetOrphanedPersons(self, client):
# person1 = models.Person()
# patient1 = models.Patient(person=person1, data={})

# person2 = models.Person()
# client.session.add_all([patient1, person2])
# client.session.flush()

# response = client.get("/person/orphaned")
# assert response.status_code == 200
# assert response.json() == {
# "data": [str(person2.reference_id)],
# "meta": {"next_cursor": None, "next": None},
# }

# def test_no_orphaned_persons(self, client):
# response = client.get("/person/orphaned")
# assert response.status_code == 200
# assert response.json() == {
# "data": [],
# "meta": {"next_cursor": None, "next": None},
# }

# def test_get_orphaned_persons_with_limit(self, client):
# person1 = models.Person(id=1)
# person2 = models.Person(id=2)
# person3 = models.Person(id=3)
# person4 = models.Person(id=4)
# client.session.add_all([person1, person2, person3, person4])
# client.session.flush()

# response = client.get("/person/orphaned?limit=2")
# assert response.status_code == 200
# assert response.json() == {
# "data": [str(person1.reference_id), str(person2.reference_id)],
# "meta": {
# "next_cursor": str(person2.reference_id),
# "next": f"http://testserver/person/orphaned?limit=2&cursor={str(person2.reference_id)}",
# },
# }

# response = client.get(f"/person/orphaned?limit=2&cursor={person2.reference_id}")
# assert response.json() == {
# "data": [str(person3.reference_id), str(person4.reference_id)],
# "meta": {
# "next_cursor": str(person4.reference_id),
# "next": f"http://testserver/person/orphaned?limit=2&cursor={str(person4.reference_id)}",
# },
# }

# response = client.get(f"/person/orphaned?limit=5&cursor={person2.reference_id}")
# assert response.json() == {
# "data": [str(person3.reference_id), str(person4.reference_id)],
# "meta": {"next_cursor": None, "next": None},
# }

# def test_get_orphaned_persons_with_cursor(self, client):
# person1 = models.Person(reference_id=uuid.uuid4(), id=1)
# patient1 = models.Patient(person=person1)
# patient2 = models.Patient(person=None)
# person3 = models.Person(id=3)
# person4 = models.Person(id=4)
# client.session.add_all([patient1, patient2, person3, person4])
# client.session.flush()

# # Retrieve 1 person after person 1, return no cursor
# response = client.get(f"/person/orphaned?&cursor={person3.reference_id}")
# assert response.status_code == 200
# assert response.json() == {
# "data": [str(person4.reference_id)],
# "meta": {
# "next_cursor": None,
# "next": None,
# },
# }

# # Retrieve 1 person after person 1, return cursor for person 3
# response = client.get(f"/person/orphaned?limit=1&cursor={person1.reference_id}")
# assert response.json() == {
# "data": [str(person3.reference_id)],
# "meta": {
# "next_cursor": str(person3.reference_id),
# "next": f"http://testserver/person/orphaned?limit=1&cursor={str(person3.reference_id)}",
# },
# }

# # Retrieve 2 persons after person 2, return cursor for person 4
# response = client.get(f"/person/orphaned?limit=2&cursor={person1.reference_id}")
# assert response.json() == {
# "data": [str(person3.reference_id), str(person4.reference_id)],
# "meta": {
# "next_cursor": str(person4.reference_id),
# "next": f"http://testserver/person/orphaned?limit=2&cursor={str(person4.reference_id)}",
# },
# }

# def test_invalid_cursor(self, client):
# # Return 422 if bad patient reference_id is provided as cursor
# response = client.get(f"/person/orphaned?limit=1&cursor={uuid.uuid4()}")
# assert response.status_code == 422
# assert response.json() == {
# "detail": [
# {
# "loc": ["query", "cursor"],
# "msg": "Cursor is an invalid Person reference_id",
# "type": "value_error",
# }
# ]
# }
class TestGetOrphanedPersons:
def testGetOrphanedPersons(self, client):
person1 = models.Person()
patient1 = models.Patient(person=person1, data={})

person2 = models.Person()
client.session.add_all([patient1, person2])
client.session.flush()

response = client.get("/person/orphaned")
assert response.status_code == 200
assert response.json() == {
"data": [str(person2.reference_id)],
"meta": {"next_cursor": None, "next": None},
}

def test_no_orphaned_persons(self, client):
response = client.get("/person/orphaned")
assert response.status_code == 200
assert response.json() == {
"data": [],
"meta": {"next_cursor": None, "next": None},
}

def test_get_orphaned_persons_with_limit(self, client):
person1 = models.Person(id=1)
person2 = models.Person(id=2)
person3 = models.Person(id=3)
person4 = models.Person(id=4)
client.session.add_all([person1, person2, person3, person4])
client.session.flush()

response = client.get("/person/orphaned?limit=2")
assert response.status_code == 200
assert response.json() == {
"data": [str(person1.reference_id), str(person2.reference_id)],
"meta": {
"next_cursor": str(person2.reference_id),
"next": f"http://testserver/person/orphaned?limit=2&cursor={str(person2.reference_id)}",
},
}

response = client.get(f"/person/orphaned?limit=2&cursor={person2.reference_id}")
assert response.json() == {
"data": [str(person3.reference_id), str(person4.reference_id)],
"meta": {
"next_cursor": str(person4.reference_id),
"next": f"http://testserver/person/orphaned?limit=2&cursor={str(person4.reference_id)}",
},
}

response = client.get(f"/person/orphaned?limit=5&cursor={person2.reference_id}")
assert response.json() == {
"data": [str(person3.reference_id), str(person4.reference_id)],
"meta": {"next_cursor": None, "next": None},
}

def test_get_orphaned_persons_with_cursor(self, client):
person1 = models.Person(reference_id=uuid.uuid4(), id=1)
patient1 = models.Patient(person=person1)
patient2 = models.Patient(person=None)
person3 = models.Person(id=3)
person4 = models.Person(id=4)
client.session.add_all([patient1, patient2, person3, person4])
client.session.flush()

# Retrieve 1 person after person 1, return no cursor
response = client.get(f"/person/orphaned?&cursor={person3.reference_id}")
assert response.status_code == 200
assert response.json() == {
"data": [str(person4.reference_id)],
"meta": {
"next_cursor": None,
"next": None,
},
}

# Retrieve 1 person after person 1, return cursor for person 3
response = client.get(f"/person/orphaned?limit=1&cursor={person1.reference_id}")
assert response.json() == {
"data": [str(person3.reference_id)],
"meta": {
"next_cursor": str(person3.reference_id),
"next": f"http://testserver/person/orphaned?limit=1&cursor={str(person3.reference_id)}",
},
}

# Retrieve 2 persons after person 2, return cursor for person 4
response = client.get(f"/person/orphaned?limit=2&cursor={person1.reference_id}")
assert response.json() == {
"data": [str(person3.reference_id), str(person4.reference_id)],
"meta": {
"next_cursor": str(person4.reference_id),
"next": f"http://testserver/person/orphaned?limit=2&cursor={str(person4.reference_id)}",
},
}

def test_invalid_cursor(self, client):
# Return 422 if bad patient reference_id is provided as cursor
response = client.get(f"/person/orphaned?limit=1&cursor={uuid.uuid4()}")
assert response.status_code == 422
assert response.json() == {
"detail": [
{
"loc": ["query", "cursor"],
"msg": "Cursor is an invalid Person reference_id",
"type": "value_error",
}
]
}

0 comments on commit ae718bd

Please sign in to comment.