"""Test update_auth0_details_for_identity.""" import json from unittest.mock import MagicMock, patch from owsresponse import response from users.app import app from users.logic import profiles, user_info @patch('users.handlers.identity.Neo4jSession.__enter__') @patch('users.handlers.identity.Neo4jSession.__exit__') def test_update_auth0_details_for_identity(neo4j_exit, neo4j_enter, monkeypatch): """Test update_auth0_details_for_identity.""" old_auth0_user_id = 'identity-uuid' new_auth0_user_id = 'new-auth0-id' expected = response.Response(message={'foo': 'bar'}) app.testing = True monkeypatch.setattr(user_info, 'update_vend_contacts', MagicMock()) monkeypatch.setattr(profiles, 'update_identity_in_graph', MagicMock(return_value=expected)) request = app.test_client().patch( f'/users/identity/{old_auth0_user_id}/update-auth0-id/{new_auth0_user_id}' ) response_data = json.loads(request.data.decode('utf-8')) assert request.status_code == expected.status assert response_data == expected.message user_info.update_vend_contacts.assert_called_with(old_auth0_user_id, new_auth0_user_id) profiles.update_identity_in_graph.assert_called_with( old_auth0_user_id, {'auth0_user_id': new_auth0_user_id} )