"""Functional tests for creating a TransferWise Recipient.""" from unittest.mock import MagicMock, patch from tests.testutils import db, mock_auth @patch("collaborator.models.transferwise.requests") @db.test_schema_default_seed def test_create_recipient(mock_transferwise, auth_client, mocker, mock_account): """Test create recipient handler.""" mock_auth(mocker, mock_account.id) mock_response = MagicMock() mock_response.status_code = 201 mock_response.json.return_value = { "id": 1, "currency": "USD", "accountHolderName": "Test", } mock_transferwise.post.return_value = mock_response data = { "profile": 12341234, "currency": "GBP", "type": "sort_code", "ownedByCustomer": True, "accountHolderName": "Jacob Collier", "details": { "legalType": "PRIVATE", "sortCode": "231470", "accountNumber": "28821822", }, } result = auth_client.post("/transferwise/collaborator/1/recipient", json=data) assert result.status_code == 200 @patch("collaborator.models.transferwise.requests") @db.test_schema_default_seed def test_create_recipient_bad_params( mock_transferwise, auth_client, mocker, mock_account ): """Test refresh account requirements handler with bad params.""" mock_auth(mocker, mock_account.id) mock_response = MagicMock() mock_response.status_code = 500 mock_transferwise.post.return_value = mock_response result = auth_client.post("/transferwise/collaborator/1/recipient", json={}) assert result.status_code == 400