query/test/orm/query/QueryTest.cpp

36 lines
846 B
C++

#include <catch2/catch_test_macros.hpp>
#include <matador/query/query.hpp>
#include "QueryFixture.hpp"
using namespace matador::test;
using namespace matador::query;
TEST_CASE_METHOD(QueryFixture, "Test simple query", "[query][fetch]") {
auto result = query::select({"id", "name", "age"})
.from("person")
.fetch_all(*db);
REQUIRE(result.is_ok());
for (const auto& row : *result) {
REQUIRE(row.size() == 3);
}
auto single = query::select({"id", "name", "age"})
.from("person")
.fetch_one(*db);
REQUIRE(single.is_ok());
REQUIRE(single.value().has_value());
REQUIRE(single.value().value().size() == 3);
auto val = query::select({"id", "name", "age"})
.from("person")
.fetch_value<int>(*db);
REQUIRE(val.is_ok());
REQUIRE(val.value().has_value());
// REQUIRE(val.value().value() == -1);
}