"""Tests for utils module.""" from unittest.mock import MagicMock import config import pytest from reserves_schedule.utils import chunk_post_payload, make_request_in_batches @pytest.mark.parametrize('chunk_size', [1, 3, 5, 10, 100]) def test_chunk_post_payload(chunk_size): """Test for chunk_past_payload method.""" initial_payload = [f'item {ind}' for ind in range(1, 21)] chunked_payload = [] for chunk in chunk_post_payload(initial_payload, chunk_size=chunk_size): chunked_payload += chunk assert initial_payload == chunked_payload def test_make_request_in_batches(): """Test for make_request_in_batches method.""" method_to_call = MagicMock() method_to_call.return_value = { 'items': [1, 2, 3, 4], 'total_count': 10 } config.BATCH_SIZE_GET = 4 result_items = [] for items in make_request_in_batches(method_to_call): result_items += items assert method_to_call.call_count == 3 assert result_items == [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]