diff --git a/openedx_learning/__init__.py b/openedx_learning/__init__.py index ae7362549..bbab0242f 100644 --- a/openedx_learning/__init__.py +++ b/openedx_learning/__init__.py @@ -1 +1 @@ -__version__ = "0.1.3" +__version__ = "0.1.4" diff --git a/openedx_tagging/core/tagging/api.py b/openedx_tagging/core/tagging/api.py index 55aa0d376..ab1fef91d 100644 --- a/openedx_tagging/core/tagging/api.py +++ b/openedx_tagging/core/tagging/api.py @@ -122,6 +122,19 @@ def get_object_tags( yield object_tag +def delete_object_tags(object_id: str): + """ + Delete all ObjectTag entries for a given object. + """ + tags = ( + ObjectTag.objects.filter( + object_id=object_id, + ) + ) + + tags.delete() + + def tag_object( taxonomy: Taxonomy, tags: List, diff --git a/tests/openedx_tagging/core/tagging/test_api.py b/tests/openedx_tagging/core/tagging/test_api.py index 5d6d4d0c6..42639219c 100644 --- a/tests/openedx_tagging/core/tagging/test_api.py +++ b/tests/openedx_tagging/core/tagging/test_api.py @@ -274,6 +274,21 @@ def test_tag_object(self): assert object_tag.name == self.taxonomy.name assert object_tag.object_id == "biology101" + # Delete the tags + tagging_api.delete_object_tags("biology101") + + # Ensure the tags were deleted + assert ( + len( + list( + tagging_api.get_object_tags( + object_id="biology101", + ) + ) + ) + == 0 + ) + def test_tag_object_free_text(self): self.taxonomy.allow_free_text = True self.taxonomy.save()