diff tests/libserver/db/account/main.cpp @ 112:90c51ffdbbce

Server: add broken_account for tests, #682
author David Demelier <markand@malikania.fr>
date Tue, 05 Sep 2017 19:57:36 +0200
parents 6f4965c26ceb
children d7025649d85c
line wrap: on
line diff
--- a/tests/libserver/db/account/main.cpp	Tue Sep 05 14:24:14 2017 +0200
+++ b/tests/libserver/db/account/main.cpp	Tue Sep 05 19:57:36 2017 +0200
@@ -20,6 +20,7 @@
 #include <boost/test/unit_test.hpp>
 
 #include <malikania/server/db/test_database.hpp>
+#include <malikania/server/db/broken_account.hpp>
 
 namespace mlk {
 
@@ -173,6 +174,73 @@
 
 BOOST_AUTO_TEST_SUITE_END()
 
+BOOST_AUTO_TEST_SUITE(broken)
+
+BOOST_AUTO_TEST_CASE(save)
+{
+    broken_account ac("markand", "nopassword");
+
+    try {
+        ac.save();
+    } catch (...) {}
+
+    BOOST_TEST(ac.is_draft());
+}
+
+BOOST_AUTO_TEST_CASE(set_password)
+{
+    broken_account ac("markand", "nopassword", broken_account::allow_flags::save);
+
+    ac.save();
+
+    try {
+        ac.set_password("newpassword");
+    } catch (...) {}
+
+    BOOST_TEST(ac.password() == "nopassword");
+}
+
+BOOST_AUTO_TEST_CASE(set_email)
+{
+    broken_account ac("markand", "nopassword", broken_account::allow_flags::save);
+
+    ac.save();
+
+    try {
+        ac.set_email("markand@malikania.fr");
+    } catch (...) {}
+
+    BOOST_TEST(ac.email() == "");
+}
+
+BOOST_AUTO_TEST_CASE(set_firstname)
+{
+    broken_account ac("markand", "nopassword", broken_account::allow_flags::save);
+
+    ac.save();
+
+    try {
+        ac.set_firstname("David");
+    } catch (...) {}
+
+    BOOST_TEST(ac.firstname() == "");
+}
+
+BOOST_AUTO_TEST_CASE(set_lastname)
+{
+    broken_account ac("markand", "nopassword", broken_account::allow_flags::save);
+
+    ac.save();
+
+    try {
+        ac.set_lastname("David");
+    } catch (...) {}
+
+    BOOST_TEST(ac.lastname() == "");
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
 } // !server
 
 } // !mlk