|
@@ -46,6 +46,31 @@ class ClientTests(BaseTestCase):
|
|
|
content_type=content_type,
|
|
|
)
|
|
|
|
|
|
+ def test_project_creation_without_label_provider(self):
|
|
|
+ self.assertEqual(0, Project.query.count())
|
|
|
+ self.assertEqual(0, Label.query.count())
|
|
|
+
|
|
|
+ self._post(
|
|
|
+ "/projects",
|
|
|
+ json=dict(
|
|
|
+ name="some name",
|
|
|
+ description="some description",
|
|
|
+ model=self.model_id,
|
|
|
+ label=None,
|
|
|
+ external=None,
|
|
|
+ )
|
|
|
+ )
|
|
|
+ self.assertEqual(1, Project.query.count())
|
|
|
+
|
|
|
+ project = Project.query.first()
|
|
|
+
|
|
|
+ self.assertIsNotNone(project)
|
|
|
+ self.assertIsNotNone(project.model)
|
|
|
+ self.assertIsNone(project.label_provider)
|
|
|
+
|
|
|
+ self.wait_for_coroutines()
|
|
|
+ self.assertEqual(0, Label.query.count())
|
|
|
+
|
|
|
def test_project_creation(self):
|
|
|
|
|
|
self.assertEqual(0, Project.query.count())
|
|
@@ -216,3 +241,57 @@ class ClientTests(BaseTestCase):
|
|
|
self.assertEqual(returned_result["label"]["id"], result.label.id)
|
|
|
self.assertEqual(returned_result["label"]["name"], result.label.name)
|
|
|
|
|
|
+ def test_single_label_creation(self):
|
|
|
+ self._post(
|
|
|
+ "/projects",
|
|
|
+ json=dict(
|
|
|
+ name="some project",
|
|
|
+ description="project description",
|
|
|
+ model=self.model_id,
|
|
|
+ label=None,
|
|
|
+ external=None,
|
|
|
+ )
|
|
|
+ )
|
|
|
+
|
|
|
+ project = Project.query.first()
|
|
|
+ project_id = project.id
|
|
|
+ self.assertIsNotNone(project)
|
|
|
+
|
|
|
+ self.assertEqual(0, Label.query.filter(Label.project_id == project_id).count())
|
|
|
+ self._post(
|
|
|
+ f"/projects/{project_id}/labels",
|
|
|
+ json=dict(
|
|
|
+ name=f"Label 1",
|
|
|
+ )
|
|
|
+ )
|
|
|
+ self.assertEqual(1, Label.query.filter(Label.project_id == project_id).count())
|
|
|
+
|
|
|
+
|
|
|
+ def test_multiple_label_creation(self):
|
|
|
+ self._post(
|
|
|
+ "/projects",
|
|
|
+ json=dict(
|
|
|
+ name="some project",
|
|
|
+ description="project description",
|
|
|
+ model=self.model_id,
|
|
|
+ label=None,
|
|
|
+ external=None,
|
|
|
+ )
|
|
|
+ )
|
|
|
+
|
|
|
+ project = Project.query.first()
|
|
|
+ project_id = project.id
|
|
|
+ self.assertIsNotNone(project)
|
|
|
+
|
|
|
+ self.assertEqual(0, Label.query.filter(Label.project_id == project_id).count())
|
|
|
+
|
|
|
+ for i in range(1, 11):
|
|
|
+
|
|
|
+ self._post(
|
|
|
+ f"/projects/{project_id}/labels",
|
|
|
+ json=dict(
|
|
|
+ name=f"Label {i}",
|
|
|
+ )
|
|
|
+ )
|
|
|
+
|
|
|
+ self.assertEqual(i, Label.query.filter(Label.project_id == project_id).count())
|