new request statues events should be associated with latest revision

This commit is contained in:
dandds
2018-09-04 14:33:39 -04:00
parent 59fdad8554
commit 1e0523ebf6
5 changed files with 60 additions and 5 deletions

View File

@@ -66,7 +66,9 @@ def test_should_allow_submission():
assert Requests.should_allow_submission(new_request)
RequestStatusEventFactory.create(
request=new_request, new_status=RequestStatus.CHANGES_REQUESTED
request=new_request,
new_status=RequestStatus.CHANGES_REQUESTED,
revision=new_request.latest_revision,
)
assert Requests.should_allow_submission(new_request)
@@ -101,6 +103,7 @@ def test_status_count(session):
RequestStatusEventFactory.create(
sequence=2,
request_id=request2.id,
revision=request2.latest_revision,
new_status=RequestStatus.PENDING_FINANCIAL_VERIFICATION,
)
@@ -169,3 +172,9 @@ def test_update_financial_verification_with_invalid_task_order():
request.body["financial_verification"]["task_order_number"]
== request_financial_data["task_order_number"]
)
def test_set_status_sets_revision():
request = RequestFactory.create()
Requests.set_status(request, RequestStatus.APPROVED)
assert request.latest_revision == request.status_events[-1].revision

View File

@@ -56,17 +56,28 @@ class RequestFactory(factory.alchemy.SQLAlchemyModelFactory):
model = Request
id = factory.Sequence(lambda x: uuid4())
status_events = factory.RelatedFactory(
RequestStatusEventFactory, "request", new_status=RequestStatus.STARTED
)
creator = factory.SubFactory(UserFactory)
revisions = factory.LazyAttribute(
lambda r: [RequestFactory.create_initial_revision(r)]
)
status_events = factory.RelatedFactory(
RequestStatusEventFactory,
"request",
new_status=RequestStatus.STARTED,
revision=factory.LazyAttribute(lambda se: se.factory_parent.revisions[-1]),
)
class Params:
initial_revision = None
@classmethod
def create_initial_status_event(cls, request):
return RequestStatusEventFactory(
request=request,
new_status=RequestStatus.STARTED,
revision=request.revisions,
)
@classmethod
def create_initial_revision(cls, request, dollar_value=1000000):
user = request.creator