Merge pull request #178 from dod-ccpo/kpi-159705475

Add counts for KPI (159705475)
This commit is contained in:
patricksmithdds
2018-08-15 12:04:28 -04:00
committed by GitHub
8 changed files with 107 additions and 19 deletions

View File

@@ -69,6 +69,7 @@ def session(db, request):
]
for factory in factory_list:
factory._meta.sqlalchemy_session = session
factory._meta.sqlalchemy_session_persistence = "commit"
yield session

View File

@@ -3,9 +3,10 @@ from uuid import uuid4
from atst.domain.exceptions import NotFoundError
from atst.domain.requests import Requests
from atst.models.request import Request
from atst.models.request_status_event import RequestStatus
from tests.factories import RequestFactory, UserFactory
from tests.factories import RequestFactory, UserFactory, RequestStatusEventFactory
@pytest.fixture(scope="function")
@@ -63,3 +64,27 @@ def test_exists(session):
request = RequestFactory.create(creator=user_allowed)
assert Requests.exists(request.id, user_allowed)
assert not Requests.exists(request.id, user_denied)
def test_status_count(session):
# make sure table is empty
session.query(Request).delete()
request1 = RequestFactory.create()
request2 = RequestFactory.create()
RequestStatusEventFactory.create(sequence=2, request_id=request2.id, new_status=RequestStatus.PENDING_FINANCIAL_VERIFICATION)
assert Requests.status_count(RequestStatus.PENDING_FINANCIAL_VERIFICATION) == 1
assert Requests.status_count(RequestStatus.STARTED) == 1
assert Requests.in_progress_count() == 2
def test_status_count_scoped_to_creator(session):
# make sure table is empty
session.query(Request).delete()
user = UserFactory.create()
request1 = RequestFactory.create()
request2 = RequestFactory.create(creator=user)
assert Requests.status_count(RequestStatus.STARTED) == 2
assert Requests.status_count(RequestStatus.STARTED, creator=user) == 1

View File

@@ -39,6 +39,7 @@ class RequestStatusEventFactory(factory.alchemy.SQLAlchemyModelFactory):
model = RequestStatusEvent
id = factory.Sequence(lambda x: uuid4())
sequence = 1
class RequestFactory(factory.alchemy.SQLAlchemyModelFactory):

View File

@@ -65,6 +65,6 @@ def test_request_status_pending_expired_displayname():
def test_request_status_pending_deleted_displayname():
request = RequestFactory.create()
request = Requests.set_status(request, RequestStatus.DELETED)
request = Requests.set_status(request, RequestStatus.CANCELED)
assert request.status_displayname == "Deleted"
assert request.status_displayname == "Canceled"