diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp
index 8218efe599f3372c455d6a2e997596bdaa630804..cee76af6825638da5ad7df6919efffd55f9f7c7f 100644
--- a/test/test_transaction.cpp
+++ b/test/test_transaction.cpp
@@ -29,17 +29,29 @@
 
 namespace caosdb::transaction {
 
-TEST(test_transaction, first_test) {
+TEST(test_transaction, retrieve_manufacturer_by_id) {
   const auto &connection = caosdb::connection::get_test_connection();
 
-  const auto *description = "This is an entity";
+  const auto *id = "107";
+  const auto *role = "RecordType";
+  const auto *name = "Manufacturer";
+  const auto *description = "A generic manufacturer of all kinds of products";
+  const auto *version = "0bea8f7b17f0130fa5701a6c3849b9f8bfa0651b";
+
   auto transaction(connection->CreateTransaction());
-  transaction->Retrieve(caosdb::entity::EntityID("someid"));
+  transaction->RetrieveById(id);
   transaction->Execute();
-  auto result_set(std::static_pointer_cast<caosdb::transaction::UniqueResult>(
-    transaction->GetResultSet()));
 
-  EXPECT_EQ(description, result_set->GetEntity().GetDescription());
+  const auto &result_set =
+    dynamic_cast<const caosdb::transaction::UniqueResult &>(
+      transaction->GetResultSet());
+
+  const auto &entity = result_set.GetEntity();
+  EXPECT_EQ(id, entity.GetId());
+  EXPECT_EQ(name, entity.GetName());
+  EXPECT_EQ(role, entity.GetRole());
+  EXPECT_EQ(description, entity.GetDescription());
+  EXPECT_EQ(version, entity.GetVersion());
 }
 
 } // namespace caosdb::transaction