"""Functional tests for closing statement periods.""" import json from unittest.mock import ANY from collaborator.logic import statement_period from tests.testutils import db, mock_auth @db.test_schema_default_seed def test_close_statement_period(auth_client, mocker, mock_account): """Test close statement period handler.""" mock_auth(mocker, 24601) mocker.patch( "collaborator.models.rds.statement_period_persister.ows_royalties." "get_current_abacus_statement_period", return_value={"statement_period_id": 123}, ) mocker.patch.object( statement_period.ows_notifications, "trigger_closed_period_notifications" ) result = auth_client.put( "/statement-period/close", data=json.dumps({"vendor_id": mock_account.id, "name": "Period Name"}), content_type="application/json", ) assert result.json == { "id": 90211, "name": None, "status": "OPEN", "vendor_id": mock_account.id, "created_date": ANY, "updated_date": ANY, "abacus_statement_period_id": 123, } assert result.status_code == 200