diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp index 329e19c97463d4112b5c62fbe3c165a94fbcb982..fa56528efaa8df15f15e3b64ee3580213f385a65 100644 --- a/test/test_transaction.cpp +++ b/test/test_transaction.cpp @@ -1271,4 +1271,26 @@ 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_FALSE(results.at(0).HasErrors()); + EXPECT_TRUE(results.at(1).HasErrors()); + EXPECT_EQ(results.at(1).GetErrors().size(), 1); + EXPECT_EQ(results.at(1).GetErrors().at(0).GetDescription(), "Entity does not exist."); + EXPECT_FALSE(results.at(2).HasErrors()); +} + } // namespace caosdb::transaction