From ddfb9471a8883f32fa420a19a43671744df76750 Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Wed, 11 Jul 2018 15:57:39 +0200 Subject: [PATCH] more test cases --- test/test_database.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) 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