diff --git a/tests/src/mocks/report_factory_mock.hpp b/tests/src/mocks/report_factory_mock.hpp
index a043c09..8af6d5c 100644
--- a/tests/src/mocks/report_factory_mock.hpp
+++ b/tests/src/mocks/report_factory_mock.hpp
@@ -14,12 +14,12 @@
     {
         return utils::transform(readingParams, [](const auto& params) {
             return LabeledMetricParameters(
-                utils::transform(std::get<0>(params),
-                                 [](const auto& sensorData) {
-                                     return LabeledSensorInfo(
-                                         "Service", std::get<0>(sensorData),
+                utils::transform(
+                    std::get<0>(params),
+                    [](const auto& sensorData) {
+                return LabeledSensorInfo("Service", std::get<0>(sensorData),
                                          std::get<1>(sensorData));
-                                 }),
+                    }),
                 utils::toOperationType(std::get<1>(params)),
                 std::get<2>(params),
                 utils::toCollectionTimeScope(std::get<3>(params)),
diff --git a/tests/src/mocks/trigger_factory_mock.hpp b/tests/src/mocks/trigger_factory_mock.hpp
index d3d83e5..f1dfa1f 100644
--- a/tests/src/mocks/trigger_factory_mock.hpp
+++ b/tests/src/mocks/trigger_factory_mock.hpp
@@ -73,10 +73,11 @@
 
             return EXPECT_CALL(
                 *this, make(params.id(), params.name(),
-                            utils::transform(params.triggerActions(),
-                                             [](const auto& action) {
-                                                 return actionToString(action);
-                                             }),
+                            utils::transform(
+                                params.triggerActions(),
+                                [](const auto& action) {
+                return actionToString(action);
+                                }),
                             params.reportIds(), tm, triggerStorage,
                             params.thresholdParams(), params.sensors()));
         }
