From 0f4d17a94ab408a3488e2228ee6917d03f7e1e43 Mon Sep 17 00:00:00 2001 From: richard-dds Date: Thu, 6 Jun 2019 16:21:02 -0400 Subject: [PATCH] Implemen TaskOrder.is_completed --- atst/models/task_order.py | 2 +- tests/factories.py | 1 + tests/models/test_task_order.py | 60 ++++++++++++++++++--------------- 3 files changed, 35 insertions(+), 28 deletions(-) diff --git a/atst/models/task_order.py b/atst/models/task_order.py index d34632cb..0033c5aa 100644 --- a/atst/models/task_order.py +++ b/atst/models/task_order.py @@ -67,7 +67,7 @@ class TaskOrder(Base, mixins.TimestampsMixin): @property def is_completed(self): - return True + return all([self.pdf, self.number, len(self.clins)]) @property def is_signed(self): diff --git a/tests/factories.py b/tests/factories.py index 60bd76a9..18bf7e66 100644 --- a/tests/factories.py +++ b/tests/factories.py @@ -272,6 +272,7 @@ class TaskOrderFactory(Base): portfolio = factory.SubFactory(PortfolioFactory) number = factory.LazyFunction(random_task_order_number) creator = factory.SubFactory(UserFactory) + _pdf = factory.SubFactory(AttachmentFactory) @classmethod def _create(cls, model_class, *args, **kwargs): diff --git a/tests/models/test_task_order.py b/tests/models/test_task_order.py index a9593281..39893d08 100644 --- a/tests/models/test_task_order.py +++ b/tests/models/test_task_order.py @@ -17,36 +17,42 @@ from tests.factories import ( from tests.mocks import PDF_FILENAME -class TestPeriodOfPerformance: - def test_period_of_performance_is_first_to_last_clin(self): - start_date = date(2019, 6, 6) - end_date = date(2020, 6, 6) +def test_period_of_performance_is_first_to_last_clin(): + start_date = date(2019, 6, 6) + end_date = date(2020, 6, 6) - intermediate_start_date = date(2019, 7, 1) - intermediate_end_date = date(2020, 3, 1) + intermediate_start_date = date(2019, 7, 1) + intermediate_end_date = date(2020, 3, 1) - task_order = TaskOrderFactory.create( - clins=[ - CLINFactory.create( - start_date=intermediate_start_date, end_date=intermediate_end_date - ), - CLINFactory.create( - start_date=start_date, end_date=intermediate_end_date - ), - CLINFactory.create( - start_date=intermediate_start_date, end_date=intermediate_end_date - ), - CLINFactory.create( - start_date=intermediate_start_date, end_date=end_date - ), - CLINFactory.create( - start_date=intermediate_start_date, end_date=intermediate_end_date - ), - ] - ) + task_order = TaskOrderFactory.create( + clins=[ + CLINFactory.create( + start_date=intermediate_start_date, end_date=intermediate_end_date + ), + CLINFactory.create( + start_date=start_date, end_date=intermediate_end_date + ), + CLINFactory.create( + start_date=intermediate_start_date, end_date=intermediate_end_date + ), + CLINFactory.create( + start_date=intermediate_start_date, end_date=end_date + ), + CLINFactory.create( + start_date=intermediate_start_date, end_date=intermediate_end_date + ), + ] + ) - assert task_order.start_date == start_date - assert task_order.end_date == end_date + assert task_order.start_date == start_date + assert task_order.end_date == end_date + + +def test_task_order_completed(): + assert TaskOrderFactory.create(clins=[CLINFactory.create()]).is_completed + assert not TaskOrderFactory.create().is_completed + assert not TaskOrderFactory.create(clins=[]).is_completed + assert not TaskOrderFactory.create(number=None).is_completed class TestTaskOrderStatus: