Kaynağa Gözat

re-added tests

Toan Quach 1 yıl önce
ebeveyn
işleme
360fac024a

+ 24 - 0
tests/core/sequence/test_sequence_manager.py

@@ -188,6 +188,30 @@ def test_get_all_on_multiple_versions_environment():
     )
 
 
+def test_is_submittable():
+    dn = InMemoryDataNode("dn", Scope.SCENARIO, properties={"default_data": 10})
+    task = Task("task", {}, print, [dn])
+    scenario = Scenario("scenario", {task}, {}, set())
+    _ScenarioManager._set(scenario)
+
+    scenario.add_sequences({"sequence": [task]})
+    sequence = scenario.sequences["sequence"]
+
+    assert len(_SequenceManager._get_all()) == 1
+    assert _SequenceManager._is_submittable(sequence)
+    assert _SequenceManager._is_submittable(sequence.id)
+    assert not _SequenceManager._is_submittable("Sequence_temp")
+    assert not _SequenceManager._is_submittable("SEQUENCE_temp_SCENARIO_scenario")
+
+    scenario.dn.edit_in_progress = True
+    assert not _SequenceManager._is_submittable(sequence)
+    assert not _SequenceManager._is_submittable(sequence.id)
+
+    scenario.dn.edit_in_progress = False
+    assert _SequenceManager._is_submittable(sequence)
+    assert _SequenceManager._is_submittable(sequence.id)
+
+
 def test_submit():
     data_node_1 = InMemoryDataNode("foo", Scope.SCENARIO, "s1")
     data_node_2 = InMemoryDataNode("bar", Scope.SCENARIO, "s2")

+ 20 - 0
tests/core/task/test_task_manager.py

@@ -302,6 +302,26 @@ def test_hard_delete():
     assert len(_DataManager._get_all()) == 2
 
 
+def test_is_submittable():
+    assert len(_TaskManager._get_all()) == 0
+    dn_config = Config.configure_in_memory_data_node("dn", 10)
+    task_config = Config.configure_task("task", print, [dn_config])
+    task = _TaskManager._bulk_get_or_create([task_config])[0]
+
+    assert len(_TaskManager._get_all()) == 1
+    assert _TaskManager._is_submittable(task)
+    assert _TaskManager._is_submittable(task.id)
+    assert not _TaskManager._is_submittable("Task_temp")
+
+    task.input["dn"].edit_in_progress = True
+    assert not _TaskManager._is_submittable(task)
+    assert not _TaskManager._is_submittable(task.id)
+
+    task.input["dn"].edit_in_progress = False
+    assert _TaskManager._is_submittable(task)
+    assert _TaskManager._is_submittable(task.id)
+
+
 def test_submit_task():
     data_node_1 = InMemoryDataNode("foo", Scope.SCENARIO, "s1")
     data_node_2 = InMemoryDataNode("bar", Scope.SCENARIO, "s2")