atst/tests/routes/test_requests_index.py

43 lines
1.3 KiB
Python

from flask import url_for
from atst.routes.requests.index import RequestsIndex
from tests.factories import RequestFactory, UserFactory
from atst.domain.requests import Requests
def test_action_required_mission_owner():
creator = UserFactory.create()
requests = RequestFactory.create_batch(5, creator=creator)
Requests.submit(requests[0])
context = RequestsIndex(creator).execute()
assert context["requests"][0]["action_required"] == False
def test_action_required_ccpo():
creator = UserFactory.create()
requests = RequestFactory.create_batch(5, creator=creator)
Requests.submit(requests[0])
ccpo = UserFactory.from_atat_role("ccpo")
context = RequestsIndex(ccpo).execute()
assert context["num_action_required"] == 1
def test_ccpo_sees_approval_screen():
ccpo = UserFactory.from_atat_role("ccpo")
request = RequestFactory.create()
Requests.submit(request)
ccpo_context = RequestsIndex(ccpo).execute()
assert (
ccpo_context["requests"][0]["edit_link"]
== url_for("requests.approval", request_id=request.id)
)
mo_context = RequestsIndex(request.creator).execute()
assert (
mo_context["requests"][0]["edit_link"]
!= url_for("requests.approval", request_id=request.id)
)