"""Tests for POST /recipient/dataloader endpoint.""" import json from oto import status from tests.testutils import db, mock_auth @db.test_schema_default_seed def test_post_recipient_dataloader(auth_client, mocker): """Expect to bulk fetch recipients.""" mock_auth(mocker, 6666) data = {"recipient_ids": [1, 4]} result = auth_client.post( "/recipient/dataloader", data=json.dumps(data), content_type="application/json" ) result_data = json.loads(result.data.decode()) assert result.status_code == status.OK assert result_data == [ { "data": { "id": 1, "transferwise_id": 11112222, "name": "SomeGuy", "currency": "USD", "created_by": "alw:111", "created_date": "2019-09-08T07:06:05", "deleted_by": None, "deleted_date": None, } }, { "data": { "id": 4, "transferwise_id": 44445555, "name": "Third Guy", "currency": "GBP", "created_by": "alw:123", "created_date": "2020-10-09T08:07:06", "deleted_by": None, "deleted_date": None, } }, ] @db.test_schema_default_seed def test_post_recipient_dataloader_missing_recipient_ids(auth_client, mocker): """Expect a 400 when recipient_ids is absent.""" mock_auth(mocker, 6666) result = auth_client.post( "/recipient/dataloader", data=json.dumps({}), content_type="application/json" ) assert result.status_code == status.BAD_REQUEST @db.test_schema_default_seed def test_post_recipient_dataloader_recipient_ids_not_a_list(auth_client, mocker): """Expect a 400 when recipient_ids is not a list.""" mock_auth(mocker, 6666) result = auth_client.post( "/recipient/dataloader", data=json.dumps({"recipient_ids": "1"}), content_type="application/json", ) assert result.status_code == status.BAD_REQUEST