"""Test for get_minimum_user_details.""" import json from unittest.mock import MagicMock from owsresponse import response import pytest from users.app import app from users.logic import user_info @pytest.mark.parametrize( ('user_id', 'expected_msg', 'expected_status'), [ ('alw:24468', {'foo': 'bar'}, 200), ('oa:123456', {'foo': 'bar'}, 200), ( 'fake:123456', {'code': 'internal_error', 'message': 'user_id must be in the form oa:123 or alw:123.'}, 500, ), ( '1233', {'code': 'internal_error', 'message': 'user_id must be in the form oa:123 or alw:123.'}, 500, ), ], ) def test_get_minimum_user_details(monkeypatch, user_id, expected_msg, expected_status): """Test get_minimum_user_details.""" app.testing = True monkeypatch.setattr( user_info, 'get_users_minimum_details', MagicMock(return_value=response.Response(message=expected_msg)), ) request = app.test_client().get('/users/{}/minimum-details'.format(user_id)) response_data = json.loads(request.data.decode('utf-8')) assert request.status_code == expected_status assert response_data == expected_msg