"""unit tests for base model.""" from unittest.mock import ANY from unittest.mock import Mock from model.base import neo4j_session from model.base import run def test_neo4j_session_decorator(neo4j_session_mock): """Test get_product function.""" @neo4j_session def function_example(param, neo4j_session): """Product id.""" return neo4j_session.execute_write(ANY, param) result_mock = neo4j_session_mock.execute_write.return_value param_example = 'Cypher Code' result = function_example(param_example) assert result == result_mock neo4j_session_mock.execute_write.assert_called_once_with( ANY, param_example) def test_run(neo4j_session_mock): """Test run function.""" query = 'MATCH(i:Itdentity) RETURN i' params = {} expected = Mock() expected.data.return_value = {'foo': 'bar'} neo4j_session_mock.execute_write.return_value = expected result_mock = run(query, params) assert expected == result_mock