mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-05 10:42:41 -05:00
Check for precompiled letter permission in the post notification
This commit is contained in:
@@ -16,7 +16,7 @@ from app.models import (
|
|||||||
SMS_TYPE,
|
SMS_TYPE,
|
||||||
EMAIL_TYPE,
|
EMAIL_TYPE,
|
||||||
LETTER_TYPE,
|
LETTER_TYPE,
|
||||||
# PRECOMPILED_LETTER,
|
PRECOMPILED_LETTER,
|
||||||
PRIORITY,
|
PRIORITY,
|
||||||
KEY_TYPE_TEST,
|
KEY_TYPE_TEST,
|
||||||
KEY_TYPE_TEAM,
|
KEY_TYPE_TEAM,
|
||||||
@@ -69,7 +69,7 @@ def post_precompiled_letter_notification():
|
|||||||
|
|
||||||
# Check both permission to send letters and permission to send pre-compiled PDFs
|
# Check both permission to send letters and permission to send pre-compiled PDFs
|
||||||
check_service_has_permission(LETTER_TYPE, authenticated_service.permissions)
|
check_service_has_permission(LETTER_TYPE, authenticated_service.permissions)
|
||||||
# check_service_has_permission(PRECOMPILED_LETTER, authenticated_service.permissions)
|
check_service_has_permission(PRECOMPILED_LETTER, authenticated_service.permissions)
|
||||||
|
|
||||||
check_rate_limiting(authenticated_service, api_user)
|
check_rate_limiting(authenticated_service, api_user)
|
||||||
|
|
||||||
|
|||||||
@@ -697,7 +697,25 @@ def test_post_email_notification_with_invalid_reply_to_id_returns_400(client, sa
|
|||||||
assert 'BadRequestError' in resp_json['errors'][0]['error']
|
assert 'BadRequestError' in resp_json['errors'][0]['error']
|
||||||
|
|
||||||
|
|
||||||
def test_post_precompiled_letter_notification_returns_201(client, sample_service, notify_user, mocker):
|
def test_post_precompiled_letter_requires_permission(client, sample_service, notify_user, mocker):
|
||||||
|
mocker.patch('app.v2.notifications.post_notifications.upload_letter_pdf')
|
||||||
|
data = {
|
||||||
|
"reference": "letter-reference",
|
||||||
|
"content": "bGV0dGVyLWNvbnRlbnQ="
|
||||||
|
}
|
||||||
|
auth_header = create_authorization_header(service_id=sample_service.id)
|
||||||
|
response = client.post(
|
||||||
|
path="v2/notifications/letter",
|
||||||
|
data=json.dumps(data),
|
||||||
|
headers=[('Content-Type', 'application/json'), auth_header])
|
||||||
|
|
||||||
|
assert response.status_code == 400, response.get_data(as_text=True)
|
||||||
|
resp_json = json.loads(response.get_data(as_text=True))
|
||||||
|
assert resp_json['errors'][0]['message'] == 'Cannot send precompiled_letters'
|
||||||
|
|
||||||
|
|
||||||
|
def test_post_precompiled_letter_notification_returns_201(client, notify_user, mocker):
|
||||||
|
sample_service = create_service(service_permissions=['letter', 'precompiled_letter'])
|
||||||
s3mock = mocker.patch('app.v2.notifications.post_notifications.upload_letter_pdf')
|
s3mock = mocker.patch('app.v2.notifications.post_notifications.upload_letter_pdf')
|
||||||
data = {
|
data = {
|
||||||
"reference": "letter-reference",
|
"reference": "letter-reference",
|
||||||
|
|||||||
Reference in New Issue
Block a user