36 lines
846 B
C++
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);
|
|
} |