From c64077589ed659266576d36475af2783faac2ccc Mon Sep 17 00:00:00 2001
From: EvaBardou <bardou@teklia.com>
Date: Fri, 8 Mar 2024 15:28:47 +0100
Subject: [PATCH] Properly handle pluralization

---
 arkindex_worker/worker/__init__.py        |  8 ++------
 tests/test_dataset_worker.py              | 12 ++++++------
 tests/test_elements_worker/test_worker.py |  2 +-
 3 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/arkindex_worker/worker/__init__.py b/arkindex_worker/worker/__init__.py
index 81084988..aab6c9ea 100644
--- a/arkindex_worker/worker/__init__.py
+++ b/arkindex_worker/worker/__init__.py
@@ -230,9 +230,7 @@ class ElementsWorker(
                     with contextlib.suppress(Exception):
                         self.update_activity(element.id, ActivityState.Error)
 
-        message = (
-            f"Ran on {count} elements: {count - failed} completed, {failed} failed"
-        )
+        message = f'Ran on {count} element{"s"[:count>1]}: {count - failed} completed, {failed} failed'
         if failed:
             logger.error(message)
             if failed >= count:  # Everything failed!
@@ -508,9 +506,7 @@ class DatasetWorker(BaseWorker, DatasetMixin, TaskMixin):
                 if dataset_artifact:
                     dataset_artifact.unlink(missing_ok=True)
 
-        message = (
-            f"Ran on {count} datasets: {count - failed} completed, {failed} failed"
-        )
+        message = f'Ran on {count} dataset{"s"[:count>1]}: {count - failed} completed, {failed} failed'
         if failed:
             logger.error(message)
             if failed >= count:  # Everything failed!
diff --git a/tests/test_dataset_worker.py b/tests/test_dataset_worker.py
index dbc494c1..18cd43e1 100644
--- a/tests/test_dataset_worker.py
+++ b/tests/test_dataset_worker.py
@@ -512,7 +512,7 @@ def test_run_initial_dataset_state_error(
         if generator
         else []
     ) + [
-        (logging.ERROR, "Ran on 1 datasets: 0 completed, 1 failed"),
+        (logging.ERROR, "Ran on 1 dataset: 0 completed, 1 failed"),
     ]
 
 
@@ -577,7 +577,7 @@ def test_run_update_dataset_state_api_error(
         ],
         (
             logging.ERROR,
-            "Ran on 1 datasets: 0 completed, 1 failed",
+            "Ran on 1 dataset: 0 completed, 1 failed",
         ),
     ]
 
@@ -639,7 +639,7 @@ def test_run_download_dataset_artifact_api_error(
         ),
         (
             logging.ERROR,
-            "Ran on 1 datasets: 0 completed, 1 failed",
+            "Ran on 1 dataset: 0 completed, 1 failed",
         ),
     ]
 
@@ -690,7 +690,7 @@ def test_run_no_downloaded_artifact_error(
         ),
         (
             logging.ERROR,
-            "Ran on 1 datasets: 0 completed, 1 failed",
+            "Ran on 1 dataset: 0 completed, 1 failed",
         ),
     ]
 
@@ -793,7 +793,7 @@ def test_run(
         (logging.INFO, "Loaded Worker Fake worker @ 123412 from API"),
         (logging.INFO, "Processing Dataset (dataset_id) (1/1)"),
         *extra_logs,
-        (logging.INFO, "Ran on 1 datasets: 1 completed, 0 failed"),
+        (logging.INFO, "Ran on 1 dataset: 1 completed, 0 failed"),
     ]
 
 
@@ -893,5 +893,5 @@ def test_run_read_only(
         (logging.WARNING, "Running without any extra configuration"),
         (logging.INFO, "Processing Dataset (dataset_id) (1/1)"),
         *extra_logs,
-        (logging.INFO, "Ran on 1 datasets: 1 completed, 0 failed"),
+        (logging.INFO, "Ran on 1 dataset: 1 completed, 0 failed"),
     ]
diff --git a/tests/test_elements_worker/test_worker.py b/tests/test_elements_worker/test_worker.py
index d7482bad..c237b4c7 100644
--- a/tests/test_elements_worker/test_worker.py
+++ b/tests/test_elements_worker/test_worker.py
@@ -310,7 +310,7 @@ def test_start_activity_error(
         ),
     ]
     assert logger.error.call_args_list == [
-        mocker.call("Ran on 1 elements: 0 completed, 1 failed")
+        mocker.call("Ran on 1 element: 0 completed, 1 failed")
     ]
 
 
-- 
GitLab