Return pendulum instance from last_submission_timestamp

This commit is contained in:
richard-dds 2018-09-04 13:09:27 -04:00
parent 6bfbaea867
commit 3af630e4dd
2 changed files with 8 additions and 6 deletions

View File

@ -2,6 +2,7 @@ from sqlalchemy import Column, func, ForeignKey
from sqlalchemy.types import DateTime from sqlalchemy.types import DateTime
from sqlalchemy.dialects.postgresql import JSONB from sqlalchemy.dialects.postgresql import JSONB
from sqlalchemy.orm import relationship from sqlalchemy.orm import relationship
import pendulum
from atst.models import Base from atst.models import Base
from atst.models.types import Id from atst.models.types import Id
@ -51,10 +52,11 @@ class Request(Base):
return False return False
@property @property
def last_submission_date(self): def last_submission_timestamp(self):
def _is_submission(status_event): def _is_submission(status_event):
return status_event.new_status == RequestStatus.SUBMITTED return status_event.new_status == RequestStatus.SUBMITTED
last_submission = first_or_none(_is_submission, reversed(self.status_events)) last_submission = first_or_none(_is_submission, reversed(self.status_events))
if last_submission: if last_submission:
return last_submission.time_created return pendulum.instance(last_submission.time_created)
return None

View File

@ -70,13 +70,13 @@ def test_should_allow_submission(new_request):
assert not Requests.should_allow_submission(new_request) assert not Requests.should_allow_submission(new_request)
def test_request_knows_its_last_submission_date(new_request): def test_request_knows_its_last_submission_timestamp(new_request):
submitted_request = Requests.submit(new_request) submitted_request = Requests.submit(new_request)
assert submitted_request.last_submission_date assert submitted_request.last_submission_timestamp
def test_request_knows_if_it_has_no_last_submission_date(new_request): def test_request_knows_if_it_has_no_last_submission_timestamp(new_request):
assert new_request.last_submission_date is None assert new_request.last_submission_timestamp is None
def test_exists(session): def test_exists(session):