Fix and refactor action_required_by

This commit is contained in:
richard-dds
2018-08-07 16:22:24 -04:00
parent 52bd76e6ee
commit 0c9005aaf6
4 changed files with 57 additions and 19 deletions

View File

@@ -1,19 +1,26 @@
import factory
from uuid import uuid4
from atst.models import Request
from atst.models import Request, RequestStatusEvent
from atst.models.pe_number import PENumber
from atst.models.task_order import TaskOrder
from atst.models.user import User
from atst.models.role import Role
class RequestStatusFactory(factory.alchemy.SQLAlchemyModelFactory):
class Meta:
model = RequestStatusEvent
class RequestFactory(factory.alchemy.SQLAlchemyModelFactory):
class Meta:
model = Request
id = factory.Sequence(lambda x: uuid4())
status_events = factory.RelatedFactory(RequestStatusFactory, "request", new_status="started")
class PENumberFactory(factory.alchemy.SQLAlchemyModelFactory):

View File

@@ -1,5 +1,21 @@
from tests.factories import RequestFactory
from atst.domain.requests import Requests, RequestStatus
def test_started_request_requires_mo_action():
request = RequestFactory.create()
assert Requests.action_required_by(request) == "mission_owner"
def test_pending_financial_requires_mo_action():
request = RequestFactory.create()
request = Requests.set_status(request, RequestStatus.PENDING_FINANCIAL_VERIFICATION)
assert Requests.action_required_by(request) == "mission_owner"
def test_pending_ccpo_approval_requires_ccpo():
request = RequestFactory.create()
request = Requests.set_status(request, RequestStatus.PENDING_CCPO_APPROVAL)
assert Requests.action_required_by(request) == "ccpo"