about summary refs log tree commit diff stats
path: root/tests/test_chat_session.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_chat_session.c')
-rw-r--r--tests/test_chat_session.c154
1 files changed, 21 insertions, 133 deletions
diff --git a/tests/test_chat_session.c b/tests/test_chat_session.c
index bcb8dcce..6b40f7e3 100644
--- a/tests/test_chat_session.c
+++ b/tests/test_chat_session.c
@@ -9,155 +9,43 @@
 
 void returns_false_when_chat_session_does_not_exist(void **state)
 {
-    gboolean result = chat_session_exists("somejid@server.org");
-    assert_false(result);
+    ChatSession *session = chat_session_get("somejid@server.org");
+    assert_null(session);
 }
 
-void creates_chat_session_on_message_send(void **state)
+void creates_chat_session_on_recipient_activity(void **state)
 {
     char *barejid = "myjid@server.org";
+    char *resource = "tablet";
 
-    chat_session_on_message_send(barejid);
-    gboolean exists = chat_session_exists(barejid);
+    chat_session_on_recipient_activity(barejid, resource);
+    ChatSession *session = chat_session_get(barejid);
 
-    assert_true(exists);
+    assert_non_null(session);
+    assert_string_equal(session->resource, resource);
 }
 
-void creates_chat_session_on_activity(void **state)
+void replaces_chat_session_on_recipient_activity_with_different_resource(void **state)
 {
     char *barejid = "myjid@server.org";
+    char *resource1 = "tablet";
+    char *resource2 = "mobile";
 
-    chat_session_on_activity(barejid);
-    gboolean exists = chat_session_exists(barejid);
+    chat_session_on_recipient_activity(barejid, resource1);
+    chat_session_on_recipient_activity(barejid, resource2);
+    ChatSession *session = chat_session_get(barejid);
 
-    assert_true(exists);
+    assert_string_equal(session->resource, resource2);
 }
 
-void returns_null_resource_for_new_session(void **state)
+void removes_chat_session(void **state)
 {
     char *barejid = "myjid@server.org";
+    char *resource1 = "laptop";
 
-    chat_session_on_message_send(barejid);
-    char *resource = chat_session_get_resource(barejid);
+    chat_session_on_recipient_activity(barejid, resource1);
+    chat_session_remove(barejid);
+    ChatSession *session = chat_session_get(barejid);
 
-    assert_null(resource);
-}
-
-void returns_true_send_states_for_new_session(void **state)
-{
-    char *barejid = "myjid@server.org";
-
-    chat_session_on_message_send(barejid);
-    gboolean send_states = chat_session_send_states(barejid);
-
-    assert_true(send_states);
-}
-
-void sets_resource_on_incoming_message(void **state)
-{
-    char *barejid = "myjid@server.org";
-    char *expected_resource = "laptop";
-
-    chat_session_on_message_send(barejid);
-    chat_session_on_incoming_message(barejid, expected_resource, FALSE);
-    char *actual_resource = chat_session_get_resource(barejid);
-
-    assert_string_equal(expected_resource, actual_resource);
-}
-
-void sets_send_states_on_incoming_message(void **state)
-{
-    char *barejid = "myjid@server.org";
-
-    chat_session_on_message_send(barejid);
-    chat_session_on_incoming_message(barejid, "resource", TRUE);
-    gboolean send_states = chat_session_send_states(barejid);
-
-    assert_true(send_states);
-}
-
-void replaces_chat_session_when_new_resource(void **state)
-{
-    char *barejid = "myjid@server.org";
-    char *first_resource = "laptop";
-    char *second_resource = "mobile";
-
-    chat_session_on_message_send(barejid);
-    chat_session_on_incoming_message(barejid, first_resource, TRUE);
-    chat_session_on_incoming_message(barejid, second_resource, TRUE);
-    char *actual_resource = chat_session_get_resource(barejid);
-
-    assert_string_equal(second_resource, actual_resource);
-}
-
-void removes_chat_session_on_window_close(void **state)
-{
-    char *barejid = "myjid@server.org";
-
-    chat_session_on_message_send(barejid);
-    chat_session_on_window_close(barejid);
-    gboolean exists = chat_session_exists(barejid);
-
-    assert_false(exists);
-}
-
-void removes_chat_session_on_cancel_for_barejid(void **state)
-{
-    char *barejid = "myjid@server.org";
-
-    chat_session_on_message_send(barejid);
-    chat_session_on_cancel(barejid);
-    gboolean exists = chat_session_exists(barejid);
-
-    assert_false(exists);
-}
-
-void removes_chat_session_on_cancel_for_fulljid(void **state)
-{
-    char *barejid = "myjid@server.org";
-    char *fulljid = "myjid@server.org/desktop";
-
-    chat_session_on_message_send(barejid);
-    chat_session_on_cancel(fulljid);
-    gboolean exists = chat_session_exists(barejid);
-
-    assert_false(exists);
-}
-
-void removes_chat_session_on_offline_matching_resource(void **state)
-{
-    char *barejid = "myjid@server.org";
-    char *resource = "work";
-
-    chat_session_on_message_send(barejid);
-    chat_session_on_incoming_message(barejid, resource, TRUE);
-    chat_session_on_offline(barejid, resource);
-    gboolean exists = chat_session_exists(barejid);
-
-    assert_false(exists);
-}
-
-void does_not_remove_chat_session_on_offline_different_resource(void **state)
-{
-    char *barejid = "myjid@server.org";
-    char *resource = "work";
-    char *offline_resource = "home";
-
-    chat_session_on_message_send(barejid);
-    chat_session_on_incoming_message(barejid, resource, TRUE);
-    chat_session_on_offline(barejid, offline_resource);
-    gboolean exists = chat_session_exists(barejid);
-
-    assert_true(exists);
-}
-
-void does_not_remove_chat_session_on_offline_null_resource(void **state)
-{
-    char *barejid = "myjid@server.org";
-
-    chat_session_on_message_send(barejid);
-    chat_session_on_offline(barejid, NULL);
-    gboolean exists = chat_session_exists(barejid);
-
-    assert_true(exists);
+    assert_null(session);
 }
\ No newline at end of file