]> uap-core.de Git - note.git/commitdiff
add test_note_store_new_note_async main
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 5 Feb 2026 17:33:26 +0000 (18:33 +0100)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 5 Feb 2026 17:33:26 +0000 (18:33 +0100)
application/tests/test-store.c
application/tests/test-store.h
application/tests/testmain.c

index 8d72d212d42773c49de21e7b0d9d6662d3cb744e..de60f667f60be9e1721fd5acbf5563bce11c9719 100644 (file)
@@ -722,3 +722,42 @@ CX_TEST(test_note_store_save_repository_async) {
         ui_close(obj);
     }
 }
+
+static void note_created(UiEvent *event, int error, void *userdata) {
+    int *ret = userdata;
+    *ret = error;
+}
+
+CX_TEST(test_note_store_new_note_async) {
+    CX_TEST_DO {
+        UiObject *obj = ui_dummy_object();
+        NoteStore *store = note_store_get();
+        const CxAllocator *a = store->mp->allocator;
+        
+        CX_TEST_ASSERT(store && store->root && store->root->children);
+        CX_TEST_ASSERT(cxListSize(store->root->children) > 0);
+        
+        Resource *parent = cxListAt(store->root->children, 0);
+        CX_TEST_ASSERT(parent);
+        
+        Note *note = cxZalloc(a, sizeof(Note));
+        Resource *res = cxZalloc(a, sizeof(Resource));
+        res->nodename = cx_strdup_a(a, "note1").ptr;
+        res->content = cx_strdup_a(a, "Hello World");
+        res->parent_id = parent->resource_id;
+        note->resource = res;
+        
+        int error = -1;
+        note_store_new_note_async(obj, note, note_created, &error);
+        ui_exec_buffered_mainthread_calls_wait(3);
+        
+        CX_TEST_ASSERT(error == 0);
+        CX_TEST_ASSERT(note->resource_id > 0);
+        CX_TEST_ASSERT(note->resource->resource_id > 0);
+        CX_TEST_ASSERT(note->resource_id == note->resource->resource_id);
+        CX_TEST_ASSERT(note->note_id > 0);
+        
+        // cleanup
+        ui_close(obj);
+    }
+}
index 2a9099c902d9fd2797ee76c3a97d5496c6de9367..5af9b6a05bc10a62bf232ceda810e9c800ae151f 100644 (file)
@@ -50,6 +50,7 @@ CX_TEST(test_note_store_get_notebook_by_id);
 CX_TEST(test_note_store_delete_empty_collection_async);
 CX_TEST(test_note_store_delete_collection_async);
 CX_TEST(test_note_store_save_repository_async);
+CX_TEST(test_note_store_new_note_async);
 
 
 #ifdef __cplusplus
index f570fbe75b69f6235ba934e6b549b0cd4bc7c19c..d57d51d14a0df7ecd52e60711ca388d26e11c430 100644 (file)
@@ -71,6 +71,7 @@ int main(int argc, char **argv) {
     cx_test_register(suite, test_note_store_delete_empty_collection_async);
     cx_test_register(suite, test_note_store_delete_collection_async);
     cx_test_register(suite, test_note_store_save_repository_async);
+    cx_test_register(suite, test_note_store_new_note_async);
     
     cx_test_register(suite, test_parse_markdown_para);
     cx_test_register(suite, test_parse_markdown_formatting_simple);