diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp index ba8b68d6611ef9d7e64639b5cf48bae1d1aba4c4..0eec6d775747c3df39f6bb2c746e56628c6eadb3 100644 --- a/test/test_transaction.cpp +++ b/test/test_transaction.cpp @@ -1328,4 +1328,23 @@ TEST_F(test_transaction, test_full_workflow) { EXPECT_EQ(retr_transaction->GetResultSet().size(), 1); } +TEST_F(test_transaction, test_delete_string_id) { + const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection(); + auto transaction(connection->CreateTransaction()); + + transaction->DeleteById("20"); + transaction->DeleteById("string"); + transaction->DeleteById("21"); + + transaction->ExecuteAsynchronously(); + transaction->WaitForIt(); + + EXPECT_TRUE(transaction->GetStatus().IsTerminated()); + EXPECT_TRUE(transaction->GetStatus().IsError()); + const auto &results = transaction->GetResultSet(); + EXPECT_TRUE(results.at(1).HasErrors()); + EXPECT_EQ(results.at(1).GetErrors().size(), 1); + EXPECT_EQ(results.at(1).GetErrors().at(0).GetDescription(), "The entity id is malformed. The id is expected to match a UUID string (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, where x is 0-9 or a-f)."); +} + } // namespace caosdb::transaction