37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
import pytest
|
|
from plane.app.serializers import LabelSerializer
|
|
from plane.db.models import Project, Label
|
|
|
|
|
|
@pytest.mark.unit
|
|
class TestLabelSerializer:
|
|
"""Test the LabelSerializer"""
|
|
|
|
@pytest.mark.django_db
|
|
def test_label_serializer_create_valid_data(self, db, workspace):
|
|
"""Test creating a label with valid data"""
|
|
project = Project.objects.create(name="Test Project", identifier="TEST", workspace=workspace)
|
|
|
|
serializer = LabelSerializer(
|
|
data={"name": "Test Label"},
|
|
context={"project_id": project.id},
|
|
)
|
|
assert serializer.is_valid()
|
|
assert serializer.errors == {}
|
|
serializer.save(project_id=project.id)
|
|
|
|
label = Label.objects.all().first()
|
|
assert label.name == "Test Label"
|
|
assert label.project == project
|
|
assert label
|
|
|
|
@pytest.mark.django_db
|
|
def test_label_serializer_create_duplicate_name(self, db, workspace):
|
|
"""Test creating a label with a duplicate name"""
|
|
project = Project.objects.create(name="Test Project", identifier="TEST", workspace=workspace)
|
|
|
|
Label.objects.create(name="Test Label", project=project)
|
|
|
|
serializer = LabelSerializer(data={"name": "Test Label"}, context={"project_id": project.id})
|
|
assert not serializer.is_valid()
|
|
assert serializer.errors == {"name": ["LABEL_NAME_ALREADY_EXISTS"]}
|