diff --git a/atst/domain/requests/requests.py b/atst/domain/requests/requests.py index f830d604..e61df2a9 100644 --- a/atst/domain/requests/requests.py +++ b/atst/domain/requests/requests.py @@ -225,8 +225,8 @@ class Requests(object): return Requests._add_review(user, request, review_data) @classmethod - def update_internal_comments(cls, user, request, comment_text): + def add_internal_comment(cls, user, request, comment_text): Authorization.check_can_approve_request(user) - request.internal_comments = RequestInternalComment(text=comment_text, user=user) - request = RequestsQuery.add_and_commit(request) + comment = RequestInternalComment(request=request, text=comment_text, user=user) + RequestsQuery.add_and_commit(comment) return request diff --git a/atst/models/request.py b/atst/models/request.py index d7d1f96c..e2dee7a4 100644 --- a/atst/models/request.py +++ b/atst/models/request.py @@ -45,7 +45,7 @@ class Request(Base, mixins.TimestampsMixin): "RequestRevision", back_populates="request", order_by="RequestRevision.sequence" ) - internal_comments = relationship("RequestInternalComment", uselist=False) + internal_comments = relationship("RequestInternalComment") @property def latest_revision(self): @@ -167,10 +167,6 @@ class Request(Base, mixins.TimestampsMixin): def reviews(self): return [status.review for status in self.status_events if status.review] - @property - def internal_comments_text(self): - return self.internal_comments.text if self.internal_comments else "" - @property def is_pending_financial_verification(self): return self.status == RequestStatus.PENDING_FINANCIAL_VERIFICATION diff --git a/tests/domain/test_requests.py b/tests/domain/test_requests.py index c9f03d8e..286e906a 100644 --- a/tests/domain/test_requests.py +++ b/tests/domain/test_requests.py @@ -223,10 +223,13 @@ def test_request_changes_to_financial_verification_info(): assert current_review.fname_mao == review_data["fname_mao"] -def test_update_internal_comments(): +def test_add_internal_comment(): request = RequestFactory.create() ccpo = UserFactory.from_atat_role("ccpo") - request = Requests.update_internal_comments(ccpo, request, "this is my comment") + assert len(request.internal_comments) == 0 - assert request.internal_comments.text == "this is my comment" + request = Requests.add_internal_comment(ccpo, request, "this is my comment") + + assert len(request.internal_comments) == 1 + assert request.internal_comments[0].text == "this is my comment"