|
from io import BytesIO
|
|
|
|
import pytest
|
|
|
|
from .test_payloads.payload_document_router import *
|
|
|
|
|
|
|
|
@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!"
|
|
|
|
|
|
|
|
@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!"
|
|
|
|
|
|
|
|
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!"
|
|
|
|
|
|
|
|
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"
|
|
|
|
|
|
|
|
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"
|
|
|