"""Contract Template handler tests.""" from unittest.mock import patch from owsresponse import response @patch('abacus_contract.blueprints.contract_template.logic') def test_create_contract_from_template_id(mock_logic, fixture_client): """Test to create contract from template id.""" contract_template_id = '123' json_body = {'account_id': 1, 'account_name': 'Test Account Name'} mock_logic.create_contract_from_template_id.return_value = response.Response( message='ok', status=201 ) res = fixture_client.post( f'/contract-template/{contract_template_id}/contract', json=json_body ) assert res.status_code == 201 mock_logic.create_contract_from_template_id.assert_called_once_with( contract_template_id, json_body ) @patch('abacus_contract.blueprints.contract_template.logic') def test_create_contract_from_template_id_error(mock_logic, fixture_client): """Test POST request for invalid json request data.""" contract_template_id = '123' json_body = {'account_id': 1} res = fixture_client.post( f'/contract-template/{contract_template_id}/contract', json=json_body ) assert res.status_code == 400 mock_logic.create_contract_from_template_id.assert_not_called()