diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp index 26d7732cca36521573435480d3c393ce850464f1..8ea53c793b031ad26926b587af9f61ce7c71c075 100644 --- a/test/test_transaction.cpp +++ b/test/test_transaction.cpp @@ -118,6 +118,10 @@ TEST(test_transaction, insert_delete) { const auto &new_entity = insert_result_set.GetEntity(); EXPECT_FALSE(new_entity.GetId().empty()); EXPECT_FALSE(new_entity.HasErrors()); + // Should have a warning since it has no properties + EXPECT_TRUE(new_entity.HasWarnings()); + EXPECT_EQ(new_entity.GetWarnings().Size(), 1); + EXPECT_EQ(new_entity.GetWarnings().At(0).GetCode(), MessageCode::ENTITY_HAS_NO_PROPERTIES); auto delete_transaction(connection->CreateTransaction()); @@ -228,4 +232,28 @@ TEST(test_transaction, insert_update_delete) { EXPECT_FALSE(deleted_entity.HasErrors()); } +// TODO(fspreck) Insert an RT and a Record of this type, check +// whether this is reflected correctly in the inserted Record, then +// delete everything. +TEST(test_transaction, insert_delete_with_parent) { + const auto &connection = + caosdb::connection::ConnectionManager::GetDefaultConnection(); + + auto insert_transaction(connection->CreateTransaction()); + + Entity entity; + entity.SetRole("RecordType"); + entity.SetName("RT1"); + insert_transaction->InsertEntity(&entity); + insert_transaction->ExecuteAsynchronously(); + + auto insert_status = insert_transaction->WaitForIt(); + + ASSERT_TRUE(insert_status.IsTerminated()); + ASSERT_FALSE(insert_status.IsError()); +} + +// TODO(fspreck) Insert a Record with a parent and a Property. Check +// for success and delete everything. + } // namespace caosdb::transaction