mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-04 10:21:14 -05:00
Remove letters-related code (#175)
This deletes a big ol' chunk of code related to letters. It's not everything—there are still a few things that might be tied to sms/email—but it's the the heart of letters function. SMS and email function should be untouched by this. Areas affected: - Things obviously about letters - PDF tasks, used for precompiling letters - Virus scanning, used for those PDFs - FTP, used to send letters to the printer - Postage stuff
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
import pytest
|
||||
from freezegun import freeze_time
|
||||
|
||||
from app.dao.uploads_dao import (
|
||||
dao_get_uploaded_letters_by_print_date,
|
||||
dao_get_uploads_by_service_id,
|
||||
)
|
||||
from app.dao.uploads_dao import dao_get_uploads_by_service_id
|
||||
from app.models import JOB_STATUS_IN_PROGRESS, LETTER_TYPE
|
||||
from tests.app.db import (
|
||||
create_job,
|
||||
@@ -38,10 +36,10 @@ def create_uploaded_template(service):
|
||||
subject='Pre-compiled PDF',
|
||||
content="",
|
||||
hidden=True,
|
||||
postage="second",
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Investigate what remains after removing letters")
|
||||
@freeze_time("2020-02-02 09:00") # GMT time
|
||||
def test_get_uploads_for_service(sample_template):
|
||||
create_service_data_retention(sample_template.service, 'sms', days_of_retention=9)
|
||||
@@ -119,6 +117,7 @@ def test_get_uploads_for_service(sample_template):
|
||||
assert uploads_from_db[1] != other_uploads_from_db[1]
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Investigate what remains after removing letters")
|
||||
@freeze_time("2020-02-02 18:00")
|
||||
def test_get_uploads_for_service_groups_letters(sample_template):
|
||||
letter_template = create_uploaded_template(sample_template.service)
|
||||
@@ -158,6 +157,7 @@ def test_get_uploads_for_service_groups_letters(sample_template):
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Investigate what remains after removing letters")
|
||||
def test_get_uploads_does_not_return_cancelled_jobs_or_letters(sample_template):
|
||||
create_job(sample_template, job_status='scheduled')
|
||||
create_job(sample_template, job_status='cancelled')
|
||||
@@ -167,6 +167,7 @@ def test_get_uploads_does_not_return_cancelled_jobs_or_letters(sample_template):
|
||||
assert len(dao_get_uploads_by_service_id(sample_template.service_id).items) == 0
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Investigate what remains after removing letters")
|
||||
def test_get_uploads_orders_by_created_at_desc(sample_template):
|
||||
letter_template = create_uploaded_template(sample_template.service)
|
||||
|
||||
@@ -187,6 +188,7 @@ def test_get_uploads_orders_by_created_at_desc(sample_template):
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Investigate what remains after removing letters")
|
||||
def test_get_uploads_orders_by_processing_started_desc(sample_template):
|
||||
days_ago = datetime.utcnow() - timedelta(days=3)
|
||||
upload_1 = create_job(sample_template, processing_started=datetime.utcnow() - timedelta(days=1),
|
||||
@@ -203,6 +205,7 @@ def test_get_uploads_orders_by_processing_started_desc(sample_template):
|
||||
assert results[1].id == upload_2.id
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Investigate what remains after removing letters")
|
||||
@freeze_time("2020-10-27 16:15") # GMT time
|
||||
def test_get_uploads_orders_by_processing_started_and_created_at_desc(sample_template):
|
||||
letter_template = create_uploaded_template(sample_template.service)
|
||||
@@ -227,6 +230,7 @@ def test_get_uploads_orders_by_processing_started_and_created_at_desc(sample_tem
|
||||
assert results[3].id is None
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Investigate what remains after removing letters")
|
||||
@freeze_time('2020-04-02 14:00') # Few days after the clocks go forward
|
||||
def test_get_uploads_only_gets_uploads_within_service_retention_period(sample_template):
|
||||
letter_template = create_uploaded_template(sample_template.service)
|
||||
@@ -276,6 +280,7 @@ def test_get_uploads_only_gets_uploads_within_service_retention_period(sample_te
|
||||
assert results[3].created_at == upload_4.created_at.replace(hour=21, minute=30, second=0, microsecond=0)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Investigate what remains after removing letters")
|
||||
@freeze_time('2020-02-02 14:00')
|
||||
def test_get_uploads_is_paginated(sample_template):
|
||||
letter_template = create_uploaded_template(sample_template.service)
|
||||
@@ -314,59 +319,7 @@ def test_get_uploads_is_paginated(sample_template):
|
||||
assert results.items[0].upload_type == 'job'
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="Investigate what remains after removing letters")
|
||||
def test_get_uploads_returns_empty_list(sample_service):
|
||||
items = dao_get_uploads_by_service_id(sample_service.id).items
|
||||
assert items == []
|
||||
|
||||
|
||||
@freeze_time('2020-02-02 14:00')
|
||||
def test_get_uploaded_letters_by_print_date(sample_template):
|
||||
letter_template = create_uploaded_template(sample_template.service)
|
||||
|
||||
# Letters for the previous day’s run
|
||||
for _ in range(3):
|
||||
create_uploaded_letter(
|
||||
letter_template, sample_template.service, status='delivered',
|
||||
created_at=datetime.utcnow().replace(day=1, hour=22, minute=29, second=59)
|
||||
)
|
||||
|
||||
# Letters from yesterday that rolled into today’s run
|
||||
for _ in range(30):
|
||||
create_uploaded_letter(
|
||||
letter_template, sample_template.service, status='delivered',
|
||||
created_at=datetime.utcnow().replace(day=1, hour=22, minute=30, second=0)
|
||||
)
|
||||
|
||||
# Letters that just made today’s run
|
||||
for _ in range(30):
|
||||
create_uploaded_letter(
|
||||
letter_template, sample_template.service, status='delivered',
|
||||
created_at=datetime.utcnow().replace(hour=22, minute=29, second=59)
|
||||
)
|
||||
|
||||
# Letters that just missed today’s run
|
||||
for _ in range(3):
|
||||
create_uploaded_letter(
|
||||
letter_template, sample_template.service, status='delivered',
|
||||
created_at=datetime.utcnow().replace(hour=22, minute=30, second=0)
|
||||
)
|
||||
|
||||
result = dao_get_uploaded_letters_by_print_date(
|
||||
sample_template.service_id,
|
||||
datetime.utcnow(),
|
||||
)
|
||||
assert result.total == 60
|
||||
assert len(result.items) == 50
|
||||
assert result.has_next is True
|
||||
assert result.has_prev is False
|
||||
|
||||
result = dao_get_uploaded_letters_by_print_date(
|
||||
sample_template.service_id,
|
||||
datetime.utcnow(),
|
||||
page=10,
|
||||
page_size=2,
|
||||
)
|
||||
assert result.total == 60
|
||||
assert len(result.items) == 2
|
||||
assert result.has_next is True
|
||||
assert result.has_prev is True
|
||||
|
||||
Reference in New Issue
Block a user