Skip to content

Commit

Permalink
refactor(user_actions): Fix accept_submission action creation, remove…
Browse files Browse the repository at this point in the history
… submission_id from signing action

closes cfpb#551
  • Loading branch information
michaeljwood committed Jan 30, 2025
1 parent 1453629 commit 24df850
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 25 deletions.
14 changes: 6 additions & 8 deletions src/sbl_filing_api/routers/filing.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,6 @@ async def sign_filing(request: Request, lei: str, period_code: str):
UserActionDTO(
user_id=request.user.id,
filing_id=filing.id,
submission_id=latest_sub.id,
user_name=request.user.name,
user_email=request.user.email,
action_type=UserActionType.SIGN,
Expand Down Expand Up @@ -262,18 +261,17 @@ async def accept_submission(request: Request, counter: int, lei: str, period_cod
detail=f"Submission {counter} for LEI {lei} in filing period {period_code} is not in an acceptable state. Submissions must be validated successfully or with only warnings to be accepted.",
)

accepter = await repo.add_user_action(
request.state.db_session,
UserActionDTO(
submission.state = SubmissionState.SUBMISSION_ACCEPTED
submission.user_actions.append(
UserActionDAO(
filing_id=submission.filing,
submission_id=submission.id,
user_id=request.user.id,
user_name=request.user.name,
user_email=request.user.email,
action_type=UserActionType.ACCEPT,
),
)
)

submission.accepter_id = accepter.id
submission.state = SubmissionState.SUBMISSION_ACCEPTED
submission = await repo.update_submission(request.state.db_session, submission)
return submission

Expand Down
31 changes: 14 additions & 17 deletions tests/api/routers/test_filing_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -914,8 +914,8 @@ async def test_accept_submission(self, mocker: MockerFixture, app_fixture: FastA

user_action_accept = UserActionDAO(
id=3,
user_id="1234-5678-ABCD-EFGH",
user_name="test accepter",
user_id="123456-7890-ABCDEF-GHIJ",
user_name="Test User",
user_email="[email protected]",
action_type=UserActionType.ACCEPT,
timestamp=datetime.datetime.now(),
Expand All @@ -932,9 +932,6 @@ async def test_accept_submission(self, mocker: MockerFixture, app_fixture: FastA
user_actions=[user_action_submit],
)

update_accepter_mock = mocker.patch("sbl_filing_api.entities.repos.submission_repo.add_user_action")
update_accepter_mock.return_value = user_action_accept

update_mock = mocker.patch("sbl_filing_api.entities.repos.submission_repo.update_submission")
update_mock.return_value = SubmissionDAO(
id=1,
Expand All @@ -958,22 +955,23 @@ async def test_accept_submission(self, mocker: MockerFixture, app_fixture: FastA
mock.return_value.state = SubmissionState.VALIDATION_SUCCESSFUL
res = client.put("/v1/filing/institutions/1234567890ZXWVUTSR00/filings/2024/submissions/4/accept")
update_mock.assert_called_once()
update_accepter_mock.assert_called_once_with(
ANY,
UserActionDTO(
user_id="123456-7890-ABCDEF-GHIJ",
user_name="Test User",
user_email="[email protected]",
action_type=UserActionType.ACCEPT,
),
)
submission_arg = update_mock.call_args.args[-1]
accepter = submission_arg.user_actions[-1]
assert accepter.id is None
assert accepter.timestamp is None
assert accepter.filing_id == 1
assert accepter.submission_id == 1
assert accepter.user_id == "123456-7890-ABCDEF-GHIJ"
assert accepter.user_name == "Test User"
assert accepter.user_email == "[email protected]"
assert accepter.action_type == UserActionType.ACCEPT

assert res.json()["state"] == "SUBMISSION_ACCEPTED"
assert res.json()["id"] == 1
assert res.json()["counter"] == 4
assert res.json()["accepter"]["id"] == 3
assert res.json()["accepter"]["user_id"] == "1234-5678-ABCD-EFGH"
assert res.json()["accepter"]["user_name"] == "test accepter"
assert res.json()["accepter"]["user_id"] == "123456-7890-ABCDEF-GHIJ"
assert res.json()["accepter"]["user_name"] == "Test User"
assert res.json()["accepter"]["user_email"] == "[email protected]"
assert res.json()["accepter"]["action_type"] == UserActionType.ACCEPT
assert res.status_code == 200
Expand Down Expand Up @@ -1042,7 +1040,6 @@ async def test_good_sign_filing(
ANY,
UserActionDTO(
filing_id=1,
submission_id=1,
user_id="123456-7890-ABCDEF-GHIJ",
user_name="Test User",
user_email="[email protected]",
Expand Down

0 comments on commit 24df850

Please sign in to comment.