|
from .test_payloads.payload_tools_router import *
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_get_current_offer_consumer(test_client, consumer_header):
|
|
url = "/tools/get_current_offer_consumer"
|
|
response = test_client.get(url, headers=consumer_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Application details not found":
|
|
assert response["message"] == "Application details not found"
|
|
else:
|
|
assert response["message"] == "No rate has been assigned by the Loan officer"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "Please fill product and pricing details to continue"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Offer details fetched successfully!"
|
|
|
|
|
|
|
|
def test_get_amortization_schedule_consumer(test_client, consumer_header):
|
|
url = "/tools/get_amortization_schedule_consumer"
|
|
response = test_client.get(url, headers=consumer_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Application details not found":
|
|
assert response["message"] == "Application details not found"
|
|
else:
|
|
assert response["message"] == "No rate has been assigned by the Loan officer"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "Details not found"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Amortization details fetched successfully!"
|
|
|
|
|
|
|
|
def test_download_quote_consumer(test_client, application_id, consumer_header):
|
|
payload = quote_payload
|
|
url = f"/tools/download_quote_consumer/application/{application_id}"
|
|
response = test_client.post(url, json=payload, headers=consumer_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Please provide application id":
|
|
assert response["message"] == "Please provide application id"
|
|
else:
|
|
assert response["message"] == "Please provide 1 to 3 quote's details"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "File not found"
|
|
else:
|
|
assert response.status_code == 200
|
|
|
|
|
|
|
|
def test_compare_offer_by_user_input_consumer(test_client, consumer_header):
|
|
payload = compare_offer_payload
|
|
url = "/tools/compare_offer_by_user_input_consumer"
|
|
response = test_client.post(url, json=payload, headers=consumer_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "":
|
|
assert response["message"] == "Please provide application id"
|
|
else:
|
|
assert response["message"] == "Maximum 2 existing offers can be passed"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Product comparision details fetched"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_get_current_offer(test_client, application_id, loan_officer_header):
|
|
url = f"/tools/get_current_offer/application/{application_id}"
|
|
response = test_client.get(url, headers=loan_officer_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Please provide application id":
|
|
assert response["message"] == "Please provide application id"
|
|
else:
|
|
assert response["message"] == "No rate has been assigned by the Loan officer"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "Please fill product and pricing details to continue"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Offer details fetched successfully!"
|
|
|
|
|
|
|
|
def test_get_amortization_schedule(test_client, application_id, loan_officer_header):
|
|
url = f"/tools/get_amortization_schedule/application/{application_id}"
|
|
response = test_client.get(url, headers=loan_officer_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Please provide application id":
|
|
assert response["message"] == "Please provide application id"
|
|
else:
|
|
assert response["message"] == "No rate has been assigned by the Loan officer"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "Details not found"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Amortization details fetched successfully!"
|
|
|
|
|
|
|
|
def test_download_quote_tools(test_client, application_id, loan_officer_header):
|
|
payload = quote_payload
|
|
url = f"/tools/download_quote/application/{application_id}"
|
|
response = test_client.post(url, json=payload, headers=loan_officer_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Please provide application id":
|
|
assert response["message"] == "Please provide application id"
|
|
else:
|
|
assert response["message"] == "Please provide 1 to 3 quote's details"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "File not found"
|
|
else:
|
|
assert response.status_code == 200
|
|
|
|
|
|
|
|
def test_compare_offer_by_user_input_tools(test_client, application_id, loan_officer_header):
|
|
payload = compare_offer_payload
|
|
payload["application_id"] = application_id
|
|
url = "/tools/compare_offer_by_user_input"
|
|
response = test_client.post(url, json=payload, headers=loan_officer_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Please provide application id":
|
|
assert response["message"] == "Please provide application id"
|
|
if response["message"] == "Maximum 2 existing offers can be passed":
|
|
assert response["message"] == "Maximum 2 existing offers can be passed"
|
|
else:
|
|
assert response["message"] == "Loan amount cannot be greater than Estimated Sales Price of the Property"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Product comparision details fetched"
|
|
|
|
|
|
|
|
def test_get_users_tools(test_client, loan_officer_header):
|
|
url = "/tools/get_users"
|
|
response = test_client.post(url, headers=loan_officer_header)
|
|
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "User profile data fetched succesfully"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_get_current_offer_admin(test_client, application_id, loan_officer_admin_header):
|
|
url = f"/tools/get_current_offer/application/{application_id}"
|
|
response = test_client.get(url, headers=loan_officer_admin_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Please provide application id":
|
|
assert response["message"] == "Please provide application id"
|
|
else:
|
|
assert response["message"] == "No rate has been assigned by the Loan officer"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "Please fill product and pricing details to continue"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Offer details fetched successfully!"
|
|
|
|
|
|
|
|
def test_get_amortization_schedule_admin(test_client, application_id, loan_officer_admin_header):
|
|
url = f"/tools/get_amortization_schedule/application/{application_id}"
|
|
response = test_client.get(url, headers=loan_officer_admin_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Please provide application id":
|
|
assert response["message"] == "Please provide application id"
|
|
else:
|
|
assert response["message"] == "No rate has been assigned by the Loan officer"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "Details not found"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Amortization details fetched successfully!"
|
|
|
|
|
|
|
|
def test_download_quote_tools_admin(test_client, application_id, loan_officer_admin_header):
|
|
payload = quote_payload
|
|
url = f"/tools/download_quote/application/{application_id}"
|
|
response = test_client.post(url, json=payload, headers=loan_officer_admin_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Please provide application id":
|
|
assert response["message"] == "Please provide application id"
|
|
else:
|
|
assert response["message"] == "Please provide 1 to 3 quote's details"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "File not found"
|
|
else:
|
|
assert response.status_code == 200
|
|
|
|
|
|
|
|
def test_compare_offer_by_user_input_tools_admin(test_client, application_id, loan_officer_admin_header):
|
|
payload = compare_offer_payload
|
|
payload["application_id"] = application_id
|
|
url = "/tools/compare_offer_by_user_input"
|
|
response = test_client.post(url, json=payload, headers=loan_officer_admin_header)
|
|
|
|
if response.status_code == 400:
|
|
assert response.status_code == 400
|
|
response = response.json()
|
|
assert response["status"] == 400
|
|
if response["message"] == "Please provide application id":
|
|
assert response["message"] == "Please provide application id"
|
|
if response["message"] == "Maximum 2 existing offers can be passed":
|
|
assert response["message"] == "Maximum 2 existing offers can be passed"
|
|
else:
|
|
assert response["message"] == "Loan amount cannot be greater than Estimated Sales Price of the Property"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Product comparision details fetched"
|
|
|
|
|
|
|
|
def test_get_users_tools_admin(test_client, loan_officer_admin_header):
|
|
url = "/tools/get_users"
|
|
response = test_client.post(url, headers=loan_officer_admin_header)
|
|
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "User profile data fetched succesfully"
|
|
|