Updated smoke-test.mjs with 42 additions and 27 removals
--- a/smoke-test.mjs
+++ b/smoke-test.mjs
@@ -26,30 +26,45 @@
 // Test 2: List tasks
 console.log('Listing tasks...');
 output = runCLI(['list']);
-console.assert(output.includes('1. [ ] Buy groceries'), `Test 2 Failed: ${output}`);
-
-// Test 3: Complete a task
-console.log('Completing task 1...');
-output = runCLI(['complete', '1']);
-console.assert(output === 'Task 1 marked as complete.', `Test 3 Failed: ${output}`);
-
-// Test 4: List tasks (should be completed)
-console.log('Listing tasks (should be completed)...');
-output = runCLI(['list']);
-console.assert(output.includes('1. [x] Buy groceries'), `Test 4 Failed: ${output}`);
-
-// Test 5: Remove a task
-console.log('Removing task 1...');
-output = runCLI(['remove', '1']);
-console.assert(output === 'Task 1 removed.', `Test 5 Failed: ${output}`);
-
-// Test 6: List tasks (should be empty)
-console.log('Listing tasks (should be empty)...');
-output = runCLI(['list']);
-console.assert(output === 'No tasks found.', `Test 6 Failed: ${output}`);
-
-console.log('All smoke tests passed!');
-
-// Clean up
-setupTest();
-
+if (!output.includes('1. [ ] Buy groceries')) {
+  console.error(`Test 2 Failed: Expected output to include '1. [ ] Buy groceries', Got '${output}'`);
+  process.exit(1);
+}
+
+// Test 3: Complete a task
+console.log('Completing task 1...');
+output = runCLI(['complete', '1']);
+if (output !== 'Task 1 marked as complete.') {
+  console.error(`Test 3 Failed: Expected 'Task 1 marked as complete.', Got '${output}'`);
+  process.exit(1);
+}
+
+// Test 4: List tasks (should be completed)
+console.log('Listing tasks (should be completed)...');
+output = runCLI(['list']);
+if (!output.includes('1. [x] Buy groceries')) {
+  console.error(`Test 4 Failed: Expected output to include '1. [x] Buy groceries', Got '${output}'`);
+  process.exit(1);
+}
+
+// Test 5: Remove a task
+console.log('Removing task 1...');
+output = runCLI(['remove', '1']);
+if (output !== 'Task 1 removed.') {
+  console.error(`Test 5 Failed: Expected 'Task 1 removed.', Got '${output}'`);
+  process.exit(1);
+}
+
+// Test 6: List tasks (should be empty)
+console.log('Listing tasks (should be empty)...');
+output = runCLI(['list']);
+if (output !== 'No tasks found.') {
+  console.error(`Test 6 Failed: Expected 'No tasks found.', Got '${output}'`);
+  process.exit(1);
+}
+
+console.log('All smoke tests passed!');
+
+// Clean up
+setupTest();
+