Skip to content

Commit 6d8b8ca

Browse files
authored
feat: ObjectTag.is_copied field added to serializer [FC-0114] (#37855)
`ObjectTag.is_copied` field added to serializer
1 parent a6c3c32 commit 6d8b8ca

2 files changed

Lines changed: 41 additions & 6 deletions

File tree

openedx/core/djangoapps/content_tagging/rest_api/v1/serializers.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ class ObjectTagCopiedMinimalSerializer(ObjectTagMinimalSerializer):
105105
object tags if is copied.
106106
"""
107107

108+
is_copied = serializers.BooleanField(read_only=True)
109+
110+
class Meta(ObjectTagMinimalSerializer.Meta):
111+
fields = ObjectTagMinimalSerializer.Meta.fields + ["is_copied"]
112+
108113
def get_can_delete_objecttag(self, instance):
109114
"""
110115
Verify if the user can delete the object tag.

openedx/core/djangoapps/content_tagging/rest_api/v1/tests/test_views.py

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1880,8 +1880,18 @@ def test_get_tags(self):
18801880
'taxonomy_id': taxonomy.pk,
18811881
'can_tag_object': True,
18821882
'tags': [
1883-
{'value': 'Tag 1', 'lineage': ['Tag 1'], 'can_delete_objecttag': True},
1884-
{'value': 'Tag 2', 'lineage': ['Tag 2'], 'can_delete_objecttag': True},
1883+
{
1884+
'value': 'Tag 1',
1885+
'lineage': ['Tag 1'],
1886+
'can_delete_objecttag': True,
1887+
'is_copied': False,
1888+
},
1889+
{
1890+
'value': 'Tag 2',
1891+
'lineage': ['Tag 2'],
1892+
'can_delete_objecttag': True,
1893+
'is_copied': False,
1894+
},
18851895
],
18861896
}]
18871897

@@ -1913,8 +1923,18 @@ def test_get_copied_tags(self):
19131923
'can_tag_object': True,
19141924
'export_id': self.t1.export_id,
19151925
'tags': [
1916-
{'value': 'android', 'lineage': ['ALPHABET', 'android'], 'can_delete_objecttag': False},
1917-
{'value': 'anvil', 'lineage': ['ALPHABET', 'anvil'], 'can_delete_objecttag': True}
1926+
{
1927+
'value': 'android',
1928+
'lineage': ['ALPHABET', 'android'],
1929+
'can_delete_objecttag': False,
1930+
'is_copied': True,
1931+
},
1932+
{
1933+
'value': 'anvil',
1934+
'lineage': ['ALPHABET', 'anvil'],
1935+
'can_delete_objecttag': True,
1936+
'is_copied': False,
1937+
},
19181938
]
19191939
}]
19201940

@@ -1952,8 +1972,18 @@ def test_object_tags_query_count(
19521972
object_id = str(object_key)
19531973
tagging_api.tag_object(object_id=object_id, taxonomy=self.t1, tags=["anvil", "android"])
19541974
expected_tags = [
1955-
{"value": "android", "lineage": ["ALPHABET", "android"], "can_delete_objecttag": expected_perm},
1956-
{"value": "anvil", "lineage": ["ALPHABET", "anvil"], "can_delete_objecttag": expected_perm},
1975+
{
1976+
"value": "android",
1977+
"lineage": ["ALPHABET", "android"],
1978+
"can_delete_objecttag": expected_perm,
1979+
"is_copied": False,
1980+
},
1981+
{
1982+
"value": "anvil",
1983+
"lineage": ["ALPHABET", "anvil"],
1984+
"can_delete_objecttag": expected_perm,
1985+
"is_copied": False,
1986+
},
19571987
]
19581988
url = OBJECT_TAGS_URL.format(object_id=object_id)
19591989
user = getattr(self, user_attr)

0 commit comments

Comments
 (0)