diff --git a/tests/test_transactions.py b/tests/test_transactions.py
index 6e459521196da7764383c9e66108d196858870af..4178cd9024dfb6c3e8f0b810f475d6353663d45b 100644
--- a/tests/test_transactions.py
+++ b/tests/test_transactions.py
@@ -10,7 +10,7 @@ import concurrent.futures
 from unittest.mock import patch, MagicMock
 
 from ska.logging import transaction
-from ska.logging.transactions import TransactionIdGenerator
+from ska.logging.transactions import TransactionIdGenerator, TransactionParamsError
 from tests.conftest import (
     get_first_record_and_log_message,
     get_last_record_and_log_message,
@@ -22,15 +22,19 @@ from tests.conftest import (
 class TestTransactionIdGeneration:
     """Tests for :class:`~ska.logging.transaction` related to ID generation."""
 
+    def test_error_if_params_type_is_not_mapping(self):
+        parameters = []
+        with pytest.raises(TransactionParamsError):
+            with transaction("name", parameters):
+                pass
+
     def test_preference_order(self, id_generator_stub):
         parameters = {
             "other": "config",
             "transaction_id": "xyz123",
             "other_transaction_id_key": "def789",
         }
-        with transaction(
-            "name", parameters, transaction_id="abc1234"
-        ) as transaction_id:
+        with transaction("name", parameters, transaction_id="abc1234") as transaction_id:
             assert transaction_id == "abc1234"
 
         parameters = {
@@ -100,9 +104,7 @@ class TestTransactionIdGeneration:
 class TestTransactionLogging:
     """Tests for :class:`~ska.logging.transaction` related to logging."""
 
-    def test_name_and_id_and_params_in_context_handler(
-        self, id_generator_stub, recording_logger
-    ):
+    def test_name_and_id_and_params_in_context_handler(self, id_generator_stub, recording_logger):
         parameters = {"other": ["config", 1, 2, 3.0]}
         with transaction("name", parameters) as transaction_id:
             pass
@@ -123,9 +125,7 @@ class TestTransactionLogging:
         assert "name" in last_log_message
         assert transaction_id in last_log_message
 
-    def test_exception_logs_transaction_id_and_command(
-        self, id_generator_stub, recording_logger
-    ):
+    def test_exception_logs_transaction_id_and_command(self, id_generator_stub, recording_logger):
         parameters = {"other": ["config", 1, 2, 3.0]}
         with pytest.raises(RuntimeError):
             with transaction("name", parameters) as transaction_id:
@@ -133,16 +133,10 @@ class TestTransactionLogging:
 
         record_logs = get_all_record_logs(recording_logger)
         for log_msg in record_logs:
-            if (
-                "RuntimeError" in log_msg
-                and transaction_id in log_msg
-                and "name" in log_msg
-            ):
+            if "RuntimeError" in log_msg and transaction_id in log_msg and "name" in log_msg:
                 return
 
-        assert (
-            0
-        ), f"RuntimeError and transaction tag not found in exception logs: {record_logs}"
+        assert 0, f"RuntimeError and transaction tag not found in exception logs: {record_logs}"
 
 
 class TestTransactionIdGenerator: