def post(self, user_id): post_data = request.get_json() reset_user_id = post_data.get('user_id') if reset_user_id is not None: user = User.query.get(reset_user_id) if user is None: return make_response( jsonify({ 'message': 'No user found for ID: {}'.format(reset_user_id) })), 404 UserUtils.admin_reset_user_pin(user) response_object = { 'status': 'success', 'message': 'Successfully reset pin for user.', 'data': { 'user': user_schema.dump(user).data } } return make_response(jsonify(response_object)), 200 else: response_object = { 'message': 'No user to reset pin for', } return make_response(jsonify(response_object)), 400
def test_admin_reset_user_pin(mocker, test_client, init_database, create_transfer_account_user, mock_sms_apis): user = create_transfer_account_user admin_reset_user_pin(user) assert user.failed_pin_attempts == 0 assert isinstance(user.pin_reset_tokens, list) assert len(user.pin_reset_tokens) == 1
def test_admin_reset_user_pin(mocker, test_client, init_database, create_transfer_account_user): send_message = mocker.MagicMock() mocker.patch('server.message_processor.send_message', send_message) user = create_transfer_account_user admin_reset_user_pin(user) assert user.failed_pin_attempts == 0 assert isinstance(user.pin_reset_tokens, list) assert len(user.pin_reset_tokens) == 1 send_message.assert_has_calls([mocker.call(user.phone, 'Dial *384*96# Safaricom or *483*46# Airtel to change your PIN')])
def test_admin_reset_user_pin(mocker, test_client, init_database, create_transfer_account_user, mock_sms_apis): user = create_transfer_account_user admin_reset_user_pin(user) assert user.failed_pin_attempts == 0 assert isinstance(user.pin_reset_tokens, list) assert len(user.pin_reset_tokens) == 1 messages = mock_sms_apis assert messages == [{ 'phone': user.phone, 'message': 'Dial *384*96# Safaricom or *483*46# Airtel to change your PIN' }]