diff --git a/test/firmware_state_verificationstarted_unittest.cpp b/test/firmware_state_verificationstarted_unittest.cpp
index e5f57e5..86b10f5 100644
--- a/test/firmware_state_verificationstarted_unittest.cpp
+++ b/test/firmware_state_verificationstarted_unittest.cpp
@@ -20,6 +20,7 @@
 
 using ::testing::IsEmpty;
 using ::testing::Return;
+using ::testing::UnorderedElementsAreArray;
 
 /*
  * There are the following calls (parameters may vary):
@@ -66,6 +67,25 @@
 };
 
 /*
+ * canHandleBlob(blob)
+ * getBlobIds()
+ */
+TEST_F(FirmwareHandlerVerificationStartedTest, GetBlobIdsReturnsExpectedList)
+{
+    getToVerificationStarted(staticLayoutBlobId);
+
+    std::vector<std::string> expectedList = {
+        activeImageBlobId, staticLayoutBlobId, hashBlobId, verifyBlobId};
+
+    EXPECT_THAT(handler->getBlobIds(), UnorderedElementsAreArray(expectedList));
+
+    for (const auto& blob : expectedList)
+    {
+        EXPECT_TRUE(handler->canHandleBlob(blob));
+    }
+}
+
+/*
  * stat(session)
  */
 TEST_F(FirmwareHandlerVerificationStartedTest,
@@ -131,13 +151,7 @@
  * updateBlobId.
  */
 
-/* TODO:
- * canHandleBlob(blob)
- *
- * getBlobIds
- *
- * deleteBlob(blob)
- */
+/* TODO: deleteBlob(blob) */
 
 /*
  * stat(blob)
@@ -224,7 +238,11 @@
      */
     getToVerificationStarted(staticLayoutBlobId);
 
-    EXPECT_FALSE(handler->open(session + 1, flags, staticLayoutBlobId));
+    auto blobsToOpen = handler->getBlobIds();
+    for (const auto& blob : blobsToOpen)
+    {
+        EXPECT_FALSE(handler->open(session + 1, flags, blob));
+    }
 }
 
 /*
@@ -233,7 +251,7 @@
 TEST_F(FirmwareHandlerVerificationStartedTest, ReadOfVerifyBlobReturnsEmpty)
 {
     getToVerificationStarted(staticLayoutBlobId);
-    EXPECT_THAT(handler->read(session, 0, 32), IsEmpty());
+    EXPECT_THAT(handler->read(session, 0, 1), IsEmpty());
 }
 
 /*
