Skip to content

Commit 36d3d38

Browse files
committed
The test
1 parent 2bdd8e3 commit 36d3d38

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

tests/tests/test_database_backend.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
from django_tasks import ResultStatus, Task, default_task_backend, tasks
2828
from django_tasks.backends.database import DatabaseBackend
29+
from django_tasks.backends.database.backend import TaskResult
2930
from django_tasks.backends.database.management.commands.prune_db_task_results import (
3031
logger as prune_db_tasks_logger,
3132
)
@@ -953,6 +954,28 @@ def test_get_locked_with_locked_rows(self) -> None:
953954
finally:
954955
new_connection.close()
955956

957+
def test_duplicate(self) -> None:
958+
result_1 = cast(TaskResult, test_tasks.calculate_meaning_of_life.enqueue())
959+
db_result_1 = result_1.db_result
960+
db_result_2 = result_1.db_result.duplicate()
961+
db_result_2.save()
962+
result_2 = db_result_2.task_result
963+
964+
assert db_result_1.pk != db_result_2.pk
965+
966+
call_command(
967+
"db_worker",
968+
verbosity=0,
969+
batch=True,
970+
interval=0,
971+
startup_delay=False,
972+
)
973+
974+
result_1.refresh()
975+
result_2.refresh()
976+
977+
assert result_1.return_value == result_2.return_value
978+
956979

957980
class ConnectionExclusiveTranscationTestCase(TestCase):
958981
def setUp(self) -> None:

0 commit comments

Comments
 (0)