diff --git a/tests/jsonapi/ConsultationHelper.php b/tests/jsonapi/ConsultationHelper.php
index 0fdd40b1b63d7db81801866ae658568b7777f1a4..10d505022214442ae0150a31bf57aa40028e4e0d 100644
--- a/tests/jsonapi/ConsultationHelper.php
+++ b/tests/jsonapi/ConsultationHelper.php
@@ -41,17 +41,32 @@ trait ConsultationHelper
         return User::find($credentials['id']);
     }
 
-    protected function createBlockWithSlotsForRange(Range $range, array $additional_data = []): ConsultationBlock
+    protected function createBlockWithSlotsForRange(Range $range, bool $lock_blocks = false): ConsultationBlock
     {
-        $hour = date('H');
-        $begin = strtotime("today {$hour}:00:00");
-        $end = strtotime('+2 hours', $begin);
+        // Generate start and end time. Assures that the day is not a holiday.
+        $now = time();
 
+        do {
+            $begin = strtotime('next monday 8:00:00', $now);
+            $end = strtotime('+2 hours', $begin);
+
+            $now = strtotime('+1 week', $now);
+
+            $temp = holiday($begin);
+        } while (is_array($temp) && $temp['col'] === 3);
+
+        // Lock blocks?
+        $additional_data = [];
+        if ($lock_blocks) {
+            $additional_data['lock_time'] = ceil(($begin - time()) / 3600);
+        }
+
+        // Generate blocks
         $blocks = ConsultationBlock::generateBlocks(
             $range,
             $begin,
             $end,
-            date('w'),
+            date('w', $begin),
             1
         );
         $blocks = iterator_to_array($blocks);
diff --git a/tests/jsonapi/ConsultationsBookingCreateBySlotIndexTest.php b/tests/jsonapi/ConsultationsBookingCreateBySlotIndexTest.php
index 56ef1838ca79f04e53303bca6667003096fcda59..590343ddd5904af4604ac848a5d8b6b13fa24c90 100644
--- a/tests/jsonapi/ConsultationsBookingCreateBySlotIndexTest.php
+++ b/tests/jsonapi/ConsultationsBookingCreateBySlotIndexTest.php
@@ -27,12 +27,12 @@ class ConsultationsBookingCreateBySlotIndexTest extends Codeception\Test\Unit
         );
     }
 
-    public function testAutorMayCreateNotCreateBookingDueToLock(): void
+    public function testAutorMayNotCreateBookingDueToLock(): void
     {
         $credentials = $this->tester->getCredentialsForTestDozent();
         $range = User::find($credentials['id']);
 
-        $block = $this->createBlockWithSlotsForRange($range, ['lock_time' => 2]);
+        $block = $this->createBlockWithSlotsForRange($range, true);
         $slot = $this->getSlotFromBlock($block);
 
         $response = $this->createBooking(
diff --git a/tests/jsonapi/ConsultationsBookingCreateTest.php b/tests/jsonapi/ConsultationsBookingCreateTest.php
index 54ad2b4865bd6985dd3647a108959436deafa71e..d0af9dad82341e45d709c11d691f4a23626dad9a 100644
--- a/tests/jsonapi/ConsultationsBookingCreateTest.php
+++ b/tests/jsonapi/ConsultationsBookingCreateTest.php
@@ -28,12 +28,12 @@ class ConsultationsBookingCreateTest extends Codeception\Test\Unit
         );
     }
 
-    public function testAutorMayCreateNotCreateBookingDueToLock(): void
+    public function testAutorMayNotCreateBookingDueToLock(): void
     {
         $credentials = $this->tester->getCredentialsForTestDozent();
         $range = User::find($credentials['id']);
 
-        $block = $this->createBlockWithSlotsForRange($range, ['lock_time' => 2]);
+        $block = $this->createBlockWithSlotsForRange($range, true);
         $slot = $this->getSlotFromBlock($block);
 
         $response = $this->createBooking(