#define BOOST_TEST_MODULE database #include "../src/core/database.h" #include "../src/core/seller.h" #include #include BOOST_AUTO_TEST_CASE(create_database) { Database db(":memory:"); BOOST_CHECK_NO_THROW(db.init()); } BOOST_AUTO_TEST_CASE(store_seller_fail) { Database db(":memory:"); db.init(); std::vector> sellers; sellers.push_back(std::make_shared()); sellers.push_back(std::make_shared()); BOOST_CHECK_THROW(db.storeSellers(sellers), std::runtime_error); } BOOST_AUTO_TEST_CASE(store_sellers_succ) { Database db(":memory:"); db.init(); std::vector> sellers; auto a = std::make_shared(); a->createUuid(); a->setSellerNo(1); auto b = std::make_shared("Max", "Mustermann"); b->createUuid(); b->setSellerNo(2); auto c = std::make_shared
(); c->createUuid(); c->setPrice(500); c->setDescription("Test"); b->addArticle(c); BOOST_TEST(a->getUuid() != b->getUuid()); sellers.push_back(a); sellers.push_back(b); BOOST_CHECK_NO_THROW(db.storeSellers(sellers)); } BOOST_AUTO_TEST_CASE(seller_states) { Database db(":memory:"); db.init(); std::vector> sellers; auto a = std::make_shared(); a->setSellerNo(3); a->createUuid(); sellers.push_back(a); std::cout << "Anzahl sellers: " << sellers.size() << "\n"; BOOST_TEST((sellers.at(0)->getState() == Entity::State::NEW)); BOOST_TEST(db.storeSellers(sellers) == 1); BOOST_TEST((sellers.at(0)->getState() == Entity::State::OK)); BOOST_TEST(db.storeSellers(sellers) == 0); }