mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-01 23:55:58 -05:00
Merge pull request #706 from alphagov/sort-jobs-by-processed-time-first
Sort jobs by processed time first
This commit is contained in:
@@ -264,7 +264,8 @@ def sample_job(notify_db,
|
||||
notification_count=1,
|
||||
created_at=None,
|
||||
job_status='pending',
|
||||
scheduled_for=None):
|
||||
scheduled_for=None,
|
||||
processing_started=None):
|
||||
if service is None:
|
||||
service = sample_service(notify_db, notify_db_session)
|
||||
if template is None:
|
||||
@@ -281,7 +282,8 @@ def sample_job(notify_db,
|
||||
'created_at': created_at or datetime.utcnow(),
|
||||
'created_by': service.created_by,
|
||||
'job_status': job_status,
|
||||
'scheduled_for': scheduled_for
|
||||
'scheduled_for': scheduled_for,
|
||||
'processing_started': processing_started
|
||||
}
|
||||
job = Job(**data)
|
||||
dao_create_job(job)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from datetime import datetime, timedelta
|
||||
from functools import partial
|
||||
import uuid
|
||||
|
||||
from freezegun import freeze_time
|
||||
@@ -192,23 +193,24 @@ def test_get_jobs_for_service_with_limit_days_edge_case(notify_db, notify_db_ses
|
||||
assert job_eight_days_old not in jobs_limit_days
|
||||
|
||||
|
||||
def test_get_jobs_for_service_in_created_at_order(notify_db, notify_db_session, sample_template):
|
||||
job_1 = create_job(
|
||||
notify_db, notify_db_session, sample_template.service, sample_template, created_at=datetime.utcnow())
|
||||
job_2 = create_job(
|
||||
notify_db, notify_db_session, sample_template.service, sample_template, created_at=datetime.utcnow())
|
||||
job_3 = create_job(
|
||||
notify_db, notify_db_session, sample_template.service, sample_template, created_at=datetime.utcnow())
|
||||
job_4 = create_job(
|
||||
notify_db, notify_db_session, sample_template.service, sample_template, created_at=datetime.utcnow())
|
||||
def test_get_jobs_for_service_in_processed_at_then_created_at_order(notify_db, notify_db_session, sample_template):
|
||||
|
||||
_create_job = partial(create_job, notify_db, notify_db_session, sample_template.service, sample_template)
|
||||
from_hour = partial(datetime, 2001, 1, 1)
|
||||
|
||||
created_jobs = [
|
||||
_create_job(created_at=from_hour(2), processing_started=None),
|
||||
_create_job(created_at=from_hour(1), processing_started=None),
|
||||
_create_job(created_at=from_hour(1), processing_started=from_hour(4)),
|
||||
_create_job(created_at=from_hour(2), processing_started=from_hour(3)),
|
||||
]
|
||||
|
||||
jobs = dao_get_jobs_by_service_id(sample_template.service.id).items
|
||||
|
||||
assert len(jobs) == 4
|
||||
assert jobs[0].id == job_4.id
|
||||
assert jobs[1].id == job_3.id
|
||||
assert jobs[2].id == job_2.id
|
||||
assert jobs[3].id == job_1.id
|
||||
assert len(jobs) == len(created_jobs)
|
||||
|
||||
for index in range(0, len(created_jobs)):
|
||||
assert jobs[index].id == created_jobs[index].id
|
||||
|
||||
|
||||
def test_update_job(sample_job):
|
||||
|
||||
Reference in New Issue
Block a user