mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-30 14:31:57 -05:00
Fixed bug in letter job schedule
This commit is contained in:
@@ -41,6 +41,7 @@ from app.dao.provider_details_dao import (
|
||||
from app.models import (
|
||||
Service, Template,
|
||||
SMS_TYPE, LETTER_TYPE,
|
||||
JOB_STATUS_READY_TO_SEND,
|
||||
MonthlyBilling)
|
||||
from app.utils import get_london_midnight_in_utc, convert_utc_to_bst
|
||||
from tests.app.db import create_notification, create_service, create_template, create_job, create_rate
|
||||
@@ -683,16 +684,17 @@ def test_populate_monthly_billing_updates_correct_month_in_bst(sample_template):
|
||||
assert monthly_billing[1].monthly_totals[0]['total_cost'] == 0.0123
|
||||
|
||||
|
||||
def test_run_letter_jobs(client, mocker):
|
||||
job_ids = [str(uuid.uuid4()), str(uuid.uuid4())]
|
||||
def test_run_letter_jobs(client, mocker, sample_letter_template):
|
||||
jobs = [create_job(template=sample_letter_template, job_status=JOB_STATUS_READY_TO_SEND),
|
||||
create_job(template=sample_letter_template, job_status=JOB_STATUS_READY_TO_SEND)]
|
||||
mocker.patch(
|
||||
"app.celery.scheduled_tasks.dao_get_letter_jobs_by_status",
|
||||
return_value=job_ids
|
||||
return_value=jobs
|
||||
)
|
||||
mock_celery = mocker.patch("app.celery.tasks.notify_celery.send_task")
|
||||
|
||||
run_letter_jobs()
|
||||
|
||||
mock_celery.assert_called_once_with(name=QueueNames.DVLA_FILES,
|
||||
args=(job_ids),
|
||||
args=([job.id for job in jobs]),
|
||||
queue=QueueNames.PROCESS_FTP)
|
||||
|
||||
@@ -34,6 +34,7 @@ from tests.app.conftest import sample_template as create_template
|
||||
from tests.app.db import (
|
||||
create_user,
|
||||
create_job as create_db_job,
|
||||
create_service as create_db_service,
|
||||
create_template as create_db_template
|
||||
)
|
||||
|
||||
@@ -551,16 +552,34 @@ def stats_set_up(notify_db, notify_db_session, service):
|
||||
|
||||
|
||||
def test_dao_get_letter_jobs_by_status(sample_service):
|
||||
create_db_template(service=sample_service, template_type=SMS_TYPE)
|
||||
create_db_template(service=sample_service, template_type=EMAIL_TYPE)
|
||||
another_service = create_db_service(service_name="another service")
|
||||
|
||||
sms_template = create_db_template(service=sample_service, template_type=SMS_TYPE)
|
||||
email_template = create_db_template(service=sample_service, template_type=EMAIL_TYPE)
|
||||
letter_template = create_db_template(service=sample_service, template_type=LETTER_TYPE)
|
||||
jobs = []
|
||||
jobs.append(create_db_job(letter_template, job_status=JOB_STATUS_READY_TO_SEND, original_file_name='1.csv'))
|
||||
jobs.append(create_db_job(letter_template, job_status=JOB_STATUS_READY_TO_SEND, original_file_name='2.csv'))
|
||||
create_db_job(letter_template, job_status=JOB_STATUS_SENT_TO_DVLA, original_file_name='3.csv')
|
||||
create_db_job(letter_template, job_status=JOB_STATUS_FINISHED, original_file_name='4.csv')
|
||||
create_db_job(letter_template, job_status=JOB_STATUS_PENDING, original_file_name='5.csv')
|
||||
another_letter_template = create_db_template(service=another_service, template_type=LETTER_TYPE)
|
||||
ready_letter_jobs = []
|
||||
ready_letter_jobs.append(
|
||||
create_db_job(
|
||||
letter_template,
|
||||
job_status=JOB_STATUS_READY_TO_SEND,
|
||||
original_file_name='1.csv'
|
||||
)
|
||||
)
|
||||
ready_letter_jobs.append(
|
||||
create_db_job(
|
||||
another_letter_template,
|
||||
job_status=JOB_STATUS_READY_TO_SEND,
|
||||
original_file_name='2.csv'
|
||||
)
|
||||
)
|
||||
create_db_job(sms_template, job_status=JOB_STATUS_FINISHED)
|
||||
create_db_job(email_template, job_status=JOB_STATUS_FINISHED)
|
||||
create_db_job(letter_template, job_status=JOB_STATUS_SENT_TO_DVLA)
|
||||
create_db_job(letter_template, job_status=JOB_STATUS_FINISHED)
|
||||
create_db_job(letter_template, job_status=JOB_STATUS_PENDING)
|
||||
|
||||
result = dao_get_letter_jobs_by_status(JOB_STATUS_READY_TO_SEND)
|
||||
|
||||
assert len(result) == 2
|
||||
assert set(result) == set(jobs)
|
||||
assert set(result) == set(ready_letter_jobs)
|
||||
|
||||
Reference in New Issue
Block a user