|
from .test_payloads.payload_quick_price_router import *
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_get_quick_price(test_client, loan_officer_header):
|
|
payload = get_quick_price_payload
|
|
url = "/price/get_quick_price"
|
|
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 enter loan term details":
|
|
assert response["message"] == "Please enter loan term details"
|
|
elif response["message"] == "Please enter commitment period details":
|
|
assert response["message"] == "Please enter commitment period details"
|
|
elif response["message"] == "Please enter loan purpose details":
|
|
assert response["message"] == "Please enter loan purpose details"
|
|
elif response["message"] == "Please enter refinance purpose details":
|
|
assert response["message"] == "Please enter refinance purpose details"
|
|
elif response["message"] == "Please enter credit score":
|
|
assert response["message"] == "Please enter credit score"
|
|
else:
|
|
assert response["message"] == "Please enter LTV details"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Fetched all available products successfully!"
|
|
|
|
|
|
|
|
def test_download_quote_qp(test_client, loan_officer_header):
|
|
payload = quote_payload
|
|
url = "/price/download_quote"
|
|
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_send_quote_qp(test_client, loan_officer_header):
|
|
client_name = "Naval Verma"
|
|
client_email = "[email protected]"
|
|
payload = quote_payload
|
|
url = f"/price/send_quote?client_name={client_name}&client_email={client_email}"
|
|
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"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Email sent successfully!"
|
|
|
|
|
|
|
|
def test_compare_products_qp(test_client, loan_officer_header):
|
|
payload = compare_products_payload
|
|
url = "/product/compare_products_quick_price"
|
|
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
|
|
assert response["message"] == "Only 2 or 3 products can be compared"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "Loan officer not found."
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Product comparision details fetched"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_get_quick_price_admin(test_client, loan_officer_admin_header):
|
|
payload = get_quick_price_payload
|
|
url = "/price/get_quick_price"
|
|
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 enter loan term details":
|
|
assert response["message"] == "Please enter loan term details"
|
|
elif response["message"] == "Please enter commitment period details":
|
|
assert response["message"] == "Please enter commitment period details"
|
|
elif response["message"] == "Please enter loan purpose details":
|
|
assert response["message"] == "Please enter loan purpose details"
|
|
elif response["message"] == "Please enter refinance purpose details":
|
|
assert response["message"] == "Please enter refinance purpose details"
|
|
elif response["message"] == "Please enter credit score":
|
|
assert response["message"] == "Please enter credit score"
|
|
else:
|
|
assert response["message"] == "Please enter LTV details"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Fetched all available products successfully!"
|
|
|
|
|
|
|
|
def test_download_quote_qp_admin(test_client, loan_officer_admin_header):
|
|
payload = quote_payload
|
|
url = "/price/download_quote"
|
|
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_send_quote_qp_admin(test_client, loan_officer_admin_header):
|
|
client_name = "Naval Verma"
|
|
client_email = "[email protected]"
|
|
payload = quote_payload
|
|
url = f"/price/send_quote?client_name={client_name}&client_email={client_email}"
|
|
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"
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Email sent successfully!"
|
|
|
|
|
|
|
|
def test_compare_products_qp_admin(test_client, loan_officer_admin_header):
|
|
payload = compare_products_payload
|
|
url = "/product/compare_products_quick_price"
|
|
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
|
|
assert response["message"] == "Only 2 or 3 products can be compared"
|
|
elif response.status_code == 404:
|
|
assert response.status_code == 404
|
|
response = response.json()
|
|
assert response["status"] == 404
|
|
assert response["message"] == "Loan officer not found."
|
|
else:
|
|
assert response.status_code == 200
|
|
response = response.json()
|
|
assert response["status"] == 200
|
|
assert response["message"] == "Product comparision details fetched"
|
|
|