diff tests/src/irccdctl/cli-server-part/main.cpp @ 745:903415e8ee2e

Tests: add error tests in irccdctl
author David Demelier <markand@malikania.fr>
date Wed, 01 Aug 2018 12:43:16 +0200
parents 473ce856c161
children 445c071e8efb
line wrap: on
line diff
--- a/tests/src/irccdctl/cli-server-part/main.cpp	Fri Jul 27 08:29:06 2018 +0200
+++ b/tests/src/irccdctl/cli-server-part/main.cpp	Wed Aug 01 12:43:16 2018 +0200
@@ -61,6 +61,46 @@
     BOOST_TEST(std::any_cast<std::string>(cmd[0][1]) == "sick");
 }
 
+BOOST_AUTO_TEST_SUITE(errors)
+
+BOOST_AUTO_TEST_CASE(invalid_identifier_1)
+{
+    start();
+
+    const auto [code, out, err] = exec({ "server-part", "+++", "#staff" });
+
+    BOOST_TEST(code);
+    BOOST_TEST(out.size() == 0U);
+    BOOST_TEST(err.size() == 1U);
+    BOOST_TEST(err[0] == "abort: invalid server identifier");
+}
+
+BOOST_AUTO_TEST_CASE(not_found)
+{
+    start();
+
+    const auto [code, out, err] = exec({ "server-part", "unknown", "#staff" });
+
+    BOOST_TEST(code);
+    BOOST_TEST(out.size() == 0U);
+    BOOST_TEST(err.size() == 1U);
+    BOOST_TEST(err[0] == "abort: server not found");
+}
+
+BOOST_AUTO_TEST_CASE(invalid_channel)
+{
+    start();
+
+    const auto [code, out, err] = exec({ "server-part", "test", "\"\"" });
+
+    BOOST_TEST(code);
+    BOOST_TEST(out.size() == 0U);
+    BOOST_TEST(err.size() == 1U);
+    BOOST_TEST(err[0] == "abort: invalid or empty channel");
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
 BOOST_AUTO_TEST_SUITE_END()
 
 } // !namespace