From 5d91ccc0962122ba3488acc6d7914c15108d83ca Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Thu, 29 Jul 2021 13:34:41 +0200 Subject: [PATCH] WIP: insert delete --- test/test_transaction.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp index e136f41..c6caa79 100644 --- a/test/test_transaction.cpp +++ b/test/test_transaction.cpp @@ -28,8 +28,10 @@ #include "gtest/gtest-test-part.h" // for TestPartResult, SuiteApiResolver #include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, AssertionResult #include <memory> // for unique_ptr, allocator, __shar... +#include <string> // for string namespace caosdb::transaction { +using caosdb::entity::Entity; using caosdb::entity::MessageCode; TEST(test_transaction, DISABLED_retrieve_manufacturer_by_id) { @@ -84,4 +86,30 @@ TEST(test_transaction, retrieve_non_existing) { MessageCode::ENTITY_DOES_NOT_EXIST); } +TEST(test_transaction, insert_delete) { + const auto &connection = + caosdb::connection::ConnectionManager::GetDefaultConnection(); + + auto transaction(connection->CreateTransaction()); + + Entity entity; + entity.SetRole("RecordType"); + entity.SetName("RT1"); + transaction->InsertEntity(&entity); + transaction->ExecuteAsynchronously(); + + auto status = transaction->WaitForIt(); + + ASSERT_TRUE(status.IsTerminated()); + ASSERT_FALSE(status.IsError()); + + const auto &result_set = + dynamic_cast<const caosdb::transaction::UniqueResult &>( + transaction->GetResultSet()); + + const auto &new_entity = result_set.GetEntity(); + EXPECT_FALSE(new_entity.GetId().empty()); + EXPECT_FALSE(new_entity.HasErrors()); +} + } // namespace caosdb::transaction -- GitLab