"""Functional tests for getting a batch transfer.""" from unittest.mock import MagicMock, patch from oto import status from tests.testutils import db, mock_auth from tests.testutils import transferwise_fixtures as fixtures @patch("collaborator.models.transferwise.requests") @db.test_schema_default_seed def test_get_batch_group(mock_transferwise, auth_client, mocker): """Test get batch group handler.""" vendor_id = 24601 mock_auth(mocker, vendor_id) url = "/transferwise/profile/4497/batch-group/784d48fd-0f1a-49c8-bf11-fb0998714352" mock_response = MagicMock() mock_response.status_code = 200 mock_response.json.return_value = fixtures.BATCH_COMPLETED_RESPONSE mock_transferwise.get.return_value = mock_response result = auth_client.get(url, query_string={"vendor_id": vendor_id}) assert result.json == fixtures.BATCH_COMPLETED_RESPONSE assert result.status_code == 200 @patch("collaborator.models.transferwise.requests") @db.test_schema_default_seed def test_get_batch_no_access(mock_transferwise, auth_client, mock_account, mocker): """Test getting a TransferWise batch with the wrong account ID.""" mock_auth(mocker, 0) mock_response = MagicMock() mock_response.status_code = 200 mock_response.json.return_value = fixtures.BATCH_COMPLETED_RESPONSE mock_transferwise.get.return_value = mock_response url = "/transferwise/profile/4497/batch-group/784d48fd-0f1a-49c8-bf11-fb0998714352" result = auth_client.get(url, query_string={"vendor_id": mock_account.id}) assert result.status_code == status.FORBIDDEN