"""Functional tests for getting a TransferWise batch.""" from oto import status from collaborator.constants import error from tests.testutils import db, mock_auth @db.test_schema_default_seed def test_get_batch(auth_client, mocker, mock_account): """Test getting a TransferWise batch.""" mock_auth(mocker, mock_account.id) result = auth_client.get( "/transferwise/batch/1", query_string={"vendor_id": mock_account.id} ) assert result.status_code == status.OK assert result.json["id"] == 1 @db.test_schema_default_seed def test_get_batch_not_found(auth_client, mock_account, mocker): """Test getting a TransferWise batch that doesn't exist.""" mock_auth(mocker, mock_account.id) result = auth_client.get("/transferwise/batch/999") assert result.status_code == status.NOT_FOUND assert result.json["code"] == error.ERROR_CODE_TRANSFERWISE_BATCH_NOT_FOUND @db.test_schema_default_seed def test_get_batch_no_access(auth_client, mock_account, mocker): """Test getting a TransferWise batch with the wrong account ID.""" mock_auth(mocker, 0) result = auth_client.get("/transferwise/batch/1") assert result.status_code == status.FORBIDDEN assert result.json["code"] == error.ERROR_CODE_AUTHORIZATION