diff --git a/test/test_database.cpp b/test/test_database.cpp index de5c004..b963d8b 100644 --- a/test/test_database.cpp +++ b/test/test_database.cpp @@ -1,6 +1,7 @@ #define BOOST_TEST_MODULE database #include "../src/core/database.h" +#include "../src/core/seller.h" #include @@ -11,5 +12,46 @@ 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({}); + sellers.push_back({}); + BOOST_CHECK_THROW(db.storeSellers(sellers), std::runtime_error); +} +BOOST_AUTO_TEST_CASE(store_sellers_succ) +{ + Database db(":memory:"); + db.init(); + std::vector sellers; + Seller a{}; + a.createUuid(); + a.setSellerNo(1); + Seller b{}; + b.createUuid(); + b.setSellerNo(2); + 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; + Seller a; + 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::CLEAN)); + BOOST_TEST(db.storeSellers(sellers) == 0); } \ No newline at end of file