MIRA_LABS_AI / demo-backend /document-service /tests /test_loan_officer_router.py
ans123's picture
Initial upload from Colab
ef1ad9e verified
from io import BytesIO
import pytest
from .test_payloads.payload_document_router import *
# upload file for consumer by loan officer
@pytest.mark.parametrize("file, form_data", upload_document_payload)
def test_lo_upload_document(file, form_data, test_client, loan_officer_header):
file_data = BytesIO(file["file_content"])
file_name = file["file_name"]
content_type = file["content_type"]
file = {"file": (file_name, file_data, content_type)}
data = {
"userId": form_data["user_id"],
"applicationId": form_data["application_id"],
"userProfileId": form_data["user_profile_id"],
"documentTypeId": form_data["document_type_id"],
"documentSubTypeId": form_data["document_sub_type_id"],
"documentTitle": form_data["document_title"],
}
url = "/loan_officer/upload_file"
response = test_client.post(url, data=data, files=file, headers=loan_officer_header)
assert response.status_code == 200
response = response.json()
assert response["status"] == 200
assert response["message"] == "File uploaded succesfully!"
# update existing file for consumer by loan officer
@pytest.mark.parametrize("file, form_data", update_document_payload)
def test_lo_update_document(file, form_data, test_client, loan_officer_header):
document_id = 495
file_data = BytesIO(file["file_content"])
file_name = file["file_name"]
content_type = file["content_type"]
file = {"file": (file_name, file_data, content_type)}
data = {
"userId": form_data["user_id"],
"applicationId": form_data["application_id"],
"documentTitle": form_data["document_title"],
}
url = f"/loan_officer/update_file/{document_id}"
response = test_client.put(url, data=data, files=file, headers=loan_officer_header)
assert response.status_code == 200
response = response.json()
assert response["status"] == 200
assert response["message"] == "File updated succesfully!"
# read file
def test_lo_read_file(test_client, loan_officer_header):
document_id = 495
user_id = 425
url = f"/loan_officer/read_file?document_id={document_id}&user_id={user_id}"
response = test_client.get(url, headers=loan_officer_header)
if response.status_code == 200:
assert response.status_code == 200
elif response.status_code == 500:
response = response.json()
assert response["message"] == "404: Document does not exist!"
# fetch users document list
def test_lo_list_documents(test_client, loan_officer_header):
document_id = 495
user_id = 425
url = f"/loan_officer/documents/user/{user_id}/application/{document_id}"
response = test_client.get(url, headers=loan_officer_header)
assert response.status_code == 200
response = response.json()
assert response["status"] == 200
assert response["message"] == "Document types retrieved successfully"
# delete existing document
def test_lo_delete_document(test_client, loan_officer_header):
document_id = 495
url = f"/loan_officer/document/{document_id}"
response = test_client.delete(url, headers=loan_officer_header)
if response.status_code == 200:
response = response.json()
assert response["status"] == 200
assert response["message"] == "User Document deleted successfully"
elif response.status_code == 404:
response = response.json()
assert response["status"] == 404
assert response["message"] == "No documents found"