diff tests/src/irccdctl/cli-server-kick/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-kick/main.cpp	Fri Jul 27 08:29:06 2018 +0200
+++ b/tests/src/irccdctl/cli-server-kick/main.cpp	Wed Aug 01 12:43:16 2018 +0200
@@ -63,6 +63,58 @@
     BOOST_TEST(std::any_cast<std::string>(cmd[0][2]) == "shhh");
 }
 
+BOOST_AUTO_TEST_SUITE(errors)
+
+BOOST_AUTO_TEST_CASE(invalid_identifier_1)
+{
+    start();
+
+    const auto [code, out, err] = exec({ "server-kick", "+++", "francis", "#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-kick", "unknown", "francis", "#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_nickname)
+{
+    start();
+
+    const auto [code, out, err] = exec({ "server-kick", "test", "\"\"", "#staff" });
+
+    BOOST_TEST(code);
+    BOOST_TEST(out.size() == 0U);
+    BOOST_TEST(err.size() == 1U);
+    BOOST_TEST(err[0] == "abort: invalid nickname");
+}
+
+BOOST_AUTO_TEST_CASE(invalid_channel)
+{
+    start();
+
+    const auto [code, out, err] = exec({ "server-kick", "test", "francis", "\"\"" });
+
+    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