atst/tests/routes/test_request_approval.py
2018-09-07 09:44:48 -04:00

39 lines
1.3 KiB
Python

import os
from flask import url_for
from atst.models.attachment import Attachment
from tests.factories import RequestFactory, TaskOrderFactory, UserFactory
def test_approval():
pass
def test_task_order_download(app, client, user_session, pdf_upload):
user = UserFactory.create()
user_session(user)
attachment = Attachment.attach(pdf_upload)
task_order = TaskOrderFactory.create(number="abc123", pdf=attachment)
request = RequestFactory.create(task_order=task_order, creator=user)
# ensure that real data for pdf upload has been flushed to disk
pdf_upload.seek(0)
pdf_content = pdf_upload.read()
pdf_upload.close()
full_path = os.path.join(app.config.get("STORAGE_CONTAINER"), attachment.object_name)
with open(full_path, "wb") as output_file:
output_file.write(pdf_content)
output_file.flush()
response = client.get(url_for("requests.task_order_pdf_download", request_id=request.id))
assert response.data == pdf_content
def test_task_order_download_does_not_exist(client, user_session):
user = UserFactory.create()
user_session(user)
request = RequestFactory.create(creator=user)
response = client.get(url_for("requests.task_order_pdf_download", request_id=request.id))
assert response.status_code == 404