about summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-02-02 00:37:37 +0000
committerJames Booth <boothj5@gmail.com>2014-02-02 00:37:37 +0000
commita8ecbccc9c29a4d9b0ba21fa0a7b6e804f226626 (patch)
treef373ffe559cbf231f9721023cd70cc7cd80e553e /tests
parent38d8d8d98410bd6d39d8f90cb94d7e88f3d06727 (diff)
downloadprofani-tty-a8ecbccc9c29a4d9b0ba21fa0a7b6e804f226626.tar.gz
Added /bookmark remove tests
Diffstat (limited to 'tests')
-rw-r--r--tests/test_cmd_bookmark.c38
-rw-r--r--tests/test_cmd_bookmark.h2
-rw-r--r--tests/testsuite.c2
-rw-r--r--tests/xmpp/mock_xmpp.c20
-rw-r--r--tests/xmpp/mock_xmpp.h3
5 files changed, 65 insertions, 0 deletions
diff --git a/tests/test_cmd_bookmark.c b/tests/test_cmd_bookmark.c
index 60d48550..fc150dc3 100644
--- a/tests/test_cmd_bookmark.c
+++ b/tests/test_cmd_bookmark.c
@@ -290,3 +290,41 @@ void cmd_bookmark_add_adds_bookmark_with_room_details_autojoin(void **state)
     free(help);
     muc_close();
 }
+
+void cmd_bookmark_remove_removes_bookmark(void **state)
+{
+    mock_bookmark_remove();
+    mock_cons_show();
+    char *jid = "room@conf.server";
+    CommandHelp *help = malloc(sizeof(CommandHelp));
+    gchar *args[] = { "remove", jid, NULL };
+
+    mock_connection_status(JABBER_CONNECTED);
+
+    expect_bookmark_remove(jid, FALSE);
+    expect_cons_show("Bookmark removed for room@conf.server.");
+
+    gboolean result = cmd_bookmark(args, *help);
+    assert_true(result);
+
+    free(help);
+}
+
+void cmd_bookmark_remove_removes_autojoin(void **state)
+{
+    mock_bookmark_remove();
+    mock_cons_show();
+    char *jid = "room@conf.server";
+    CommandHelp *help = malloc(sizeof(CommandHelp));
+    gchar *args[] = { "remove", jid, "autojoin", NULL };
+
+    mock_connection_status(JABBER_CONNECTED);
+
+    expect_bookmark_remove(jid, TRUE);
+    expect_cons_show("Autojoin disabled for room@conf.server.");
+
+    gboolean result = cmd_bookmark(args, *help);
+    assert_true(result);
+
+    free(help);
+}
diff --git a/tests/test_cmd_bookmark.h b/tests/test_cmd_bookmark.h
index de381c1a..972a93b0 100644
--- a/tests/test_cmd_bookmark.h
+++ b/tests/test_cmd_bookmark.h
@@ -13,3 +13,5 @@ void cmd_bookmark_add_adds_bookmark_with_jid_autojoin(void **state);
 void cmd_bookmark_add_adds_bookmark_with_jid_nick_autojoin(void **state);
 void cmd_bookmark_add_adds_bookmark_with_room_details(void **state);
 void cmd_bookmark_add_adds_bookmark_with_room_details_autojoin(void **state);
+void cmd_bookmark_remove_removes_bookmark(void **state);
+void cmd_bookmark_remove_removes_autojoin(void **state);
diff --git a/tests/testsuite.c b/tests/testsuite.c
index 8446461f..673311df 100644
--- a/tests/testsuite.c
+++ b/tests/testsuite.c
@@ -454,6 +454,8 @@ int main(int argc, char* argv[]) {
         unit_test(cmd_bookmark_add_adds_bookmark_with_jid_nick_autojoin),
         unit_test(cmd_bookmark_add_adds_bookmark_with_room_details),
         unit_test(cmd_bookmark_add_adds_bookmark_with_room_details_autojoin),
+        unit_test(cmd_bookmark_remove_removes_bookmark),
+        unit_test(cmd_bookmark_remove_removes_autojoin),
     };
 
 
diff --git a/tests/xmpp/mock_xmpp.c b/tests/xmpp/mock_xmpp.c
index d6518322..80b1a3e7 100644
--- a/tests/xmpp/mock_xmpp.c
+++ b/tests/xmpp/mock_xmpp.c
@@ -72,6 +72,13 @@ _mock_bookmark_add(const char *jid, const char *nick, gboolean autojoin)
     check_expected(autojoin);
 }
 
+static void
+_mock_bookmark_remove(const char *jid, gboolean autojoin)
+{
+    check_expected(jid);
+    check_expected(autojoin);
+}
+
 void
 mock_jabber_connect_with_details(void)
 {
@@ -104,6 +111,12 @@ mock_bookmark_add(void)
 }
 
 void
+mock_bookmark_remove(void)
+{
+    bookmark_remove = _mock_bookmark_remove;
+}
+
+void
 bookmark_get_list_returns(GList *bookmarks)
 {
     bookmark_get_list = _mock_bookmark_get_list;
@@ -191,3 +204,10 @@ expect_bookmark_add(char *expected_jid, char *expected_nick, gboolean expected_a
     }
     expect_value(_mock_bookmark_add, autojoin, expected_autojoin);
 }
+
+void
+expect_bookmark_remove(char *expected_jid, gboolean expected_autojoin)
+{
+    expect_string(_mock_bookmark_remove, jid, expected_jid);
+    expect_value(_mock_bookmark_remove, autojoin, expected_autojoin);
+}
diff --git a/tests/xmpp/mock_xmpp.h b/tests/xmpp/mock_xmpp.h
index b3da50d4..12862d51 100644
--- a/tests/xmpp/mock_xmpp.h
+++ b/tests/xmpp/mock_xmpp.h
@@ -26,4 +26,7 @@ void bookmark_get_list_returns(GList *bookmarks);
 void mock_bookmark_add(void);
 void expect_bookmark_add(char *expected_jid, char *expected_nick, gboolean expected_autojoin);
 
+void mock_bookmark_remove(void);
+void expect_bookmark_remove(char *expected_jid, gboolean expected_autojoin);
+
 #endif