from unittest import mock from account.models import label_participant @mock.patch('account.models.label_participant.g', spec=['log']) @mock.patch('account.models.label_participant.connector_neo4j') def test_get_lp_applications_two_different_brands(mock_neo4j, g_mock): session_run_mock = mock_neo4j.get_session.return_value.run session_run_mock.return_value.data.return_value = [{'c.name': 'awal'}, {'c.name': 'theorchard'}] lp_uuid = '33897aeb-afba-474d-aaea-880b2b49aa04' result = label_participant.get_brand_by_lp_uuid(lp_uuid) assert result is None g_mock.log.error.assert_called_with( f'Found 2 brands for label participant {lp_uuid}', ) @mock.patch('account.models.label_participant.g', spec=['log']) @mock.patch('account.models.label_participant.connector_neo4j') def test_get_lp_applications_no_brand(mock_neo4j, g_mock): session_run_mock = mock_neo4j.get_session.return_value.run session_run_mock.return_value.data.return_value = [] lp_uuid = '33897aeb-afba-474d-aaea-880b2b49aa04' result = label_participant.get_brand_by_lp_uuid(lp_uuid) assert result is None g_mock.log.error.assert_called_with( f'Found 0 brands for label participant {lp_uuid}', ) @mock.patch('account.models.label_participant.connector_neo4j') def test_get_brand_by_lp_uuid(mock_neo4j): session_run_mock = mock_neo4j.get_session.return_value.run session_run_mock.return_value.data.return_value = [{'c.name': 'awal'}] uuid = '33897aeb-afba-474d-aaea-880b2b49aa04' result = label_participant.get_brand_by_lp_uuid(uuid) assert result == 'awal' session_run_mock.assert_called_with( """ MATCH (lp:LabelParticipant {uuid: $lp_uuid})<-[:HAS_LABEL_PARTICIPANT] -()<-[*0..1]-(v:Vendor)<-[:HAS_LABEL]-(c:CompanyBrand) RETURN c.name """, lp_uuid=uuid, ) @mock.patch('account.models.label_participant.connector_neo4j') def test_get_brand_by_lp_uuid_two_relations_to_same_brand(mock_neo4j): session_run_mock = mock_neo4j.get_session.return_value.run session_run_mock.return_value.data.return_value = [{'c.name': 'awal'}, {'c.name': 'awal'}] uuid = '33897aeb-afba-474d-aaea-880b2b49aa04' result = label_participant.get_brand_by_lp_uuid(uuid) assert result == 'awal'