def analize_object_for_watchers(obj:object, comment:str, user:object): """ Generic implementation for analize model objects and extract mentions from it and add it to watchers. """ if not hasattr(obj, "get_project"): return if not hasattr(obj, "add_watcher"): return texts = (getattr(obj, "description", ""), getattr(obj, "content", ""), comment,) from taiga.mdrender.service import render_and_extract _, data = render_and_extract(obj.get_project(), "\n".join(texts)) if data["mentions"]: for user in data["mentions"]: obj.add_watcher(user) # Adding the person who edited the object to the watchers if comment and not user.is_system: obj.add_watcher(user)
def test_render_and_extract_references(): with patch("taiga.mdrender.extensions.references.get_instance_by_ref") as mock: instance = mock.return_value instance.content_type.model = "issue" instance.content_object.subject = "test" (_, extracted) = render_and_extract(dummy_project, "**#1**") assert extracted['references'] == [instance.content_object]
def analize_object_for_watchers(obj: object, comment: str, user: object): """ Generic implementation for analize model objects and extract mentions from it and add it to watchers. """ if not hasattr(obj, "get_project"): return if not hasattr(obj, "add_watcher"): return texts = ( getattr(obj, "description", ""), getattr(obj, "content", ""), comment, ) from taiga.mdrender.service import render_and_extract _, data = render_and_extract(obj.get_project(), "\n".join(texts)) if data["mentions"]: for user in data["mentions"]: obj.add_watcher(user) # Adding the person who edited the object to the watchers if comment and not user.is_system: obj.add_watcher(user)
def test_render_and_extract_mentions_with_capitalized_username(): user = factories.UserFactory(username="******", full_name="test") (_, extracted) = render_and_extract(dummy_project, "**@User1**") assert extracted['mentions'] == [user]
def get_mentions(project: object, text: str): from taiga.mdrender.service import render_and_extract _, data = render_and_extract(project, text) return data.get("mentions")
def test_render_and_extract_mentions(): user = factories.UserFactory(username="******", full_name="test") (_, extracted) = render_and_extract(dummy_project, "**@user1**") assert extracted["mentions"] == [user]
def test_render_and_extract_mentions_with_capitalized_username(): user=factories.UserFactory(username="******", full_name="test") project=factories.ProjectFactory(id=1, slug="test") factories.MembershipFactory(user=user, project=project) (_, extracted) = render_and_extract(dummy_project, "**@User1**") assert extracted['mentions'] == [user]
def test_render_and_extract_mentions(): user=factories.UserFactory(username="******", full_name="test name") project=factories.ProjectFactory(id=1, slug="test") factories.MembershipFactory(user=user, project=project) (_, extracted) = render_and_extract(project, "**@user1**") assert extracted['mentions'] == [user]