"""Unit tests for WorksheetAdjustmentDetail handler.""" from unittest.mock import call, patch from owsresponse import response from werkzeug.datastructures import ImmutableMultiDict from abacus_worksheet.schemas.worksheet_adjustment_detail import ( WorksheetAdjustmentDetailSchema, ) @patch( 'abacus_worksheet.blueprints.worksheet_adjustment_detail' '.get_by_worksheet_adjustment_id' ) def test_get_worksheet_adjustment_details( mock_logic, mock_worksheet_adjustment_detail_data, fixture_client ): """Test to get worksheet adjustment details by worksheet_adjustment_id.""" worksheet_adjustment_detail_data = WorksheetAdjustmentDetailSchema().dump( mock_worksheet_adjustment_detail_data ) mock_response = {'items': [worksheet_adjustment_detail_data], 'total_count': 1} worksheet_adjustment_id = 1 mock_logic.return_value = response.Response(message=mock_response, status=200) res = fixture_client.get( f'/worksheet-adjustment/{worksheet_adjustment_id}/details/?limit=2&offset=0' ) assert res.status_code == 200 assert res.json == mock_response assert mock_logic.call_args_list == [ call(1, ImmutableMultiDict([('limit', '2'), ('offset', '0')])) ]