implemented session::remove

This commit is contained in:
Sascha Kühl
2025-10-16 15:40:43 +02:00
parent d08bdb9554
commit 1d40c72519
4 changed files with 80 additions and 12 deletions
+23
View File
@@ -65,6 +65,29 @@ TEST_CASE_METHOD(SessionFixture, "Session update test", "[session][update]") {
REQUIRE(read_airplane->model == "A380");
}
TEST_CASE_METHOD(SessionFixture, "Session delete test", "[session][delete]") {
const auto res = ses.attach<airplane>("airplanes")
.and_then([this] { return ses.create_schema(); } );
REQUIRE(res.is_ok());
tables_to_drop.emplace("airplanes");
auto result = ses.insert<airplane>(1, "Boeing", "747");
REQUIRE(result.is_ok());
const auto plane = result.value();
result = ses.find<airplane>(1);
REQUIRE(result.is_ok());
auto read_airplane = *result;
auto update_result = ses.remove(read_airplane);
REQUIRE(update_result.is_ok());
result = ses.find<airplane>(1);
REQUIRE(result.is_error());
REQUIRE(result.err().ec() == orm::error_code::FailedToFindObject);
}
TEST_CASE_METHOD(SessionFixture, "Session relation test", "[session][relation]") {
const auto result = ses.attach<airplane>("airplanes")
.and_then([this] { return ses.attach<flight>("flights"); } )