query/test/backends/SchemaTest.cpp

37 lines
958 B
C++

#include <catch2/catch_test_macros.hpp>
#include "SchemaFixture.hpp"
#include "matador/sql/backend_provider.hpp"
#include "matador/sql/connection_pool.hpp"
#include "matador/orm/schema.hpp"
#include "../models/department.hpp"
using namespace matador;
using namespace matador::test;
TEST_CASE_METHOD(SchemaFixture, "Test schema one-two-many", "[schema]") {
using namespace matador::test;
orm::schema repo(pool/*, "NoopSchema"*/);
auto result = repo.attach<department>("departments")
.and_then( [&repo] { return repo.attach<employee>("employees"); } );
REQUIRE(result);
result = repo.create();
REQUIRE(result);
auto exists_result = repo.table_exists("departments");
REQUIRE(exists_result.is_ok());
REQUIRE(exists_result.value());
result = repo.drop();
REQUIRE(result);
exists_result = repo.table_exists("departments");
REQUIRE(exists_result.is_ok());
REQUIRE(!exists_result.value());
}