Index: tests/conftest.py
===================================================================
--- tests/conftest.py	(revision fd1913ff6e9ed33e7efe77fc664643ced7e81919)
+++ tests/conftest.py	(revision 95929362edb4f1170dc4e04ed3ae0c1ac0ce5e3c)
@@ -4,5 +4,5 @@
 from dataclasses import dataclass, field
 from typing import List
-from flexoentity import FlexOID, FlexoEntity, EntityType, EntityState, Domain
+from flexoentity import FlexOID, FlexoEntity, EntityType, EntityState, Domain, DomainManager
 
 @pytest.fixture
@@ -15,4 +15,14 @@
     return FixedDate
 
+@pytest.fixture(autouse=True)
+def reset_domain_manager():
+    DomainManager.clear()   # You need to implement this
+    yield
+    DomainManager.clear()
+
+@pytest.fixture(autouse=True)
+def auto_domains():
+    Domain.with_domain_id("GENERAL", fullname="General Domain")
+    Domain.with_domain_id("TEST", fullname="Test Domain")
 
 @dataclass
@@ -46,7 +56,7 @@
         if not getattr(self, "flexo_id", None):
             self.flexo_id = FlexOID.safe_generate(
-                domain=self.domain_id,
+                domain_id=self.domain_id,
                 entity_type=SingleChoiceQuestion.ENTITY_TYPE.value,     # 'I'
-                estate=EntityState.DRAFT.value,        # 'D'
+                state=EntityState.DRAFT.value,        # 'D'
                 text=self.text_seed or self.text,
                 version=1,
@@ -88,18 +98,13 @@
 def sample_domain():
     domain_id = "PY_ARITHM"
-    flexo_id = FlexOID.safe_generate(domain_id=domain_id,
-                                     entity_type=EntityType.DOMAIN.value,
-                                     state=EntityState.DRAFT.value, text=domain_id)
-    return Domain(flexo_id=flexo_id, fullname="PYTHON_ARITHMETIC",
-                  description="ALL ABOUT ARITHMETIC IN PYTHON")
+    return Domain.with_domain_id(domain_id=domain_id,
+                                 fullname="PYTHON_ARITHMETIC",
+                                 description="ALL ABOUT ARITHMETIC IN PYTHON")
 
 @pytest.fixture
 def sample_question(sample_domain):
-    flexo_id = FlexOID.safe_generate(domain_id=sample_domain.domain_id,
-                                     entity_type=EntityType.ITEM.value,
-                                     state=EntityState.DRAFT.value,
-                                     text="What is 2 + 2")
-    q = SingleChoiceQuestion(flexo_id=flexo_id, text="What is 2 + 2?",
-                             options=[])
+    q = SingleChoiceQuestion.with_domain_id(domain_id=sample_domain.domain_id,
+                                            text="What is 2 + 2?",
+                                            options=[])
     q._update_fingerprint()
     return q
