소스 검색

added test for editing labels (name and parent)

Dimitri Korsch 3 년 전
부모
커밋
b81261b524
1개의 변경된 파일61개의 추가작업 그리고 0개의 파일을 삭제
  1. 61 0
      tests/client/label_tests.py

+ 61 - 0
tests/client/label_tests.py

@@ -40,6 +40,9 @@ class LabelCreationTests(_BaseLabelTests):
     def test_create_labels(self):
         self.assertEqual(0, self.project.labels.count())
 
+        self.post(self.url, json=dict(), status_code=400)
+        self.assertEqual(0, self.project.labels.count())
+
         for i in range(1, 11):
             self.post(self.url, json=dict(name=f"Label{i}"))
             self.assertEqual(self.project.labels.count(), i)
@@ -219,3 +222,61 @@ class LabelTreeRemovalTests(_BaseLabelTests):
         self.assertEqual(self.n_roots, self.root_labels.count())
         self.assertEqual(self.n_leafs, self.leaf_labels.count())
 
+class LabelEditTests(_BaseLabelTests):
+
+
+    def test_edit_name(self):
+        self.assertEqual(0, self.project.labels.count())
+        label = self.project.create_label(name="Label", reference="label")
+        self.assertEqual(1, self.project.labels.count())
+        label = self.project.labels.first()
+        self.assertEqual("Label", label.name)
+
+        self.post(self.url(label.id), json=dict(), status_code=400)
+
+        name = "Another name"
+        self.post(self.url(label.id), json=dict(name=name))
+
+        label = self.project.labels.first()
+        self.assertEqual(name, label.name)
+
+    def test_edit_name(self):
+        self.assertEqual(0, self.project.labels.count())
+        label = self.project.create_label(name="Label", reference="label")
+        self.assertEqual(1, self.project.labels.count())
+        label = self.project.labels.first()
+        self.assertEqual("Label", label.name)
+
+
+        url = lambda label_id: url_for("edit_label_name",
+            project_id=self.project.id, label_id=label_id)
+
+        self.post(url(label.id), json=dict(), status_code=400)
+
+        name = "Another name"
+        self.post(url(4242), json=dict(name=name), status_code=404)
+        self.post(url(label.id), json=dict(name=name))
+
+        label = self.project.labels.first()
+        self.assertEqual(name, label.name)
+
+    def test_edit_parent(self):
+        self.assertEqual(0, self.project.labels.count())
+        label, _ = self.project.create_label(name="Label", reference="label")
+        parent, _ = self.project.create_label(name="Label2", reference="label2")
+        self.assertEqual(2, self.project.labels.count())
+
+        label = Label.query.get(label.id)
+        self.assertIsNone(label.parent_id)
+
+
+        url = lambda label_id: url_for("edit_label_parent",
+            project_id=self.project.id, label_id=label_id)
+
+        self.post(url(label.id), json=dict(), status_code=400)
+
+        self.post(url(4242), json=dict(parent=parent.id), status_code=404)
+        self.post(url(label.id), json=dict(parent=parent.id))
+
+        label = Label.query.get(label.id)
+        self.assertEqual(parent.id, label.parent_id)