-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjunit.xml
More file actions
389 lines (371 loc) · 35.9 KB
/
Copy pathjunit.xml
File metadata and controls
389 lines (371 loc) · 35.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
<?xml version="1.0" encoding="UTF-8"?>
<testsuites name="jest tests" tests="106" failures="12" errors="0" time="0.601">
<testsuite name="SupervisorAgent" errors="0" failures="12" skipped="0" timestamp="2025-05-25T13:48:02" time="0.117" tests="23">
<testcase classname="SupervisorAgent constructor should create a SupervisorAgent instance" name="SupervisorAgent constructor should create a SupervisorAgent instance" time="0.002">
</testcase>
<testcase classname="SupervisorAgent isAgentActive should return false initially" name="SupervisorAgent isAgentActive should return false initially" time="0">
</testcase>
<testcase classname="SupervisorAgent healthCheck should return health status for all services" name="SupervisorAgent healthCheck should return health status for all services" time="0.002">
</testcase>
<testcase classname="SupervisorAgent healthCheck should return healthy status when all services are available" name="SupervisorAgent healthCheck should return healthy status when all services are available" time="0.001">
</testcase>
<testcase classname="SupervisorAgent process should process message and return response" name="SupervisorAgent process should process message and return response" time="0.002">
</testcase>
<testcase classname="SupervisorAgent process should handle invalid token by creating guest session" name="SupervisorAgent process should handle invalid token by creating guest session" time="0.001">
</testcase>
<testcase classname="SupervisorAgent process should handle no token by creating guest session" name="SupervisorAgent process should handle no token by creating guest session" time="0.001">
</testcase>
<testcase classname="SupervisorAgent process should handle errors gracefully" name="SupervisorAgent process should handle errors gracefully" time="0.001">
</testcase>
<testcase classname="SupervisorAgent resetConversation should reset conversation successfully" name="SupervisorAgent resetConversation should reset conversation successfully" time="0.001">
</testcase>
<testcase classname="SupervisorAgent resetConversation should handle reset errors gracefully" name="SupervisorAgent resetConversation should handle reset errors gracefully" time="0">
</testcase>
<testcase classname="SupervisorAgent Intent Analysis should recognize booking intent" name="SupervisorAgent Intent Analysis should recognize booking intent" time="0.002">
<failure>Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)
Expected: "Delegating to BookingAgent", ObjectContaining {"intent": ObjectContaining {"confidence": 0.9, "type": "booking"}, "message": "I want to book an appointment with a cardiologist"}
Received: "SupervisorAgent processing message", {"hasToken": false, "messageLength": 49}
Number of calls: 1
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:304:31)</failure>
</testcase>
<testcase classname="SupervisorAgent Intent Analysis should recognize availability intent" name="SupervisorAgent Intent Analysis should recognize availability intent" time="0">
<failure>Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)
Expected: "Delegating to AvailabilityAgent", ObjectContaining {"intent": ObjectContaining {"confidence": 0.8, "type": "availability"}, "message": "What doctors are available this week?"}
Received: "SupervisorAgent processing message", {"hasToken": false, "messageLength": 37}
Number of calls: 1
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:324:31)</failure>
</testcase>
<testcase classname="SupervisorAgent Intent Analysis should recognize information intent" name="SupervisorAgent Intent Analysis should recognize information intent" time="0">
<failure>Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)
Expected: "Delegating to FAQAgent", ObjectContaining {"intent": ObjectContaining {"confidence": 0.7, "type": "information"}, "message": "Tell me about your doctors"}
Received: "SupervisorAgent processing message", {"hasToken": false, "messageLength": 26}
Number of calls: 1
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:344:31)</failure>
</testcase>
<testcase classname="SupervisorAgent Intent Analysis should handle general/unknown intents" name="SupervisorAgent Intent Analysis should handle general/unknown intents" time="0.002">
<failure>Error: expect(received).toContain(expected) // indexOf
Expected substring: "I understand you need assistance with appointments"
Received string: "I apologize, but I'm experiencing some technical difficulties. Please try again in a moment. If the problem persists, you can contact our support team."
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:363:24)</failure>
</testcase>
<testcase classname="SupervisorAgent Agent State Management should track active state during processing" name="SupervisorAgent Agent State Management should track active state during processing" time="0.001">
</testcase>
<testcase classname="SupervisorAgent Agent State Management should reset active state on error" name="SupervisorAgent Agent State Management should reset active state on error" time="0">
<failure>Error: expect(received).rejects.toThrow()
Received promise resolved instead of rejected
Resolved to value: "I apologize, but I'm experiencing some technical difficulties. Please try again in a moment. If the problem persists, you can contact our support team."
at expect (/Users/vishalmishra/workspace/self/agentcare/node_modules/expect/build/index.js:113:15)
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:389:13)
at Promise.then.completed (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:316:40)
at _runTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:121:9)
at run (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-runner/build/runTest.js:444:34)</failure>
</testcase>
<testcase classname="SupervisorAgent Metrics Collection should track operation metrics" name="SupervisorAgent Metrics Collection should track operation metrics" time="0.001">
<failure>Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)
Expected: "supervisor_process"
Received: "supervisor_process_1748180882578"
Number of calls: 1
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:401:42)</failure>
</testcase>
<testcase classname="SupervisorAgent Metrics Collection should record error metrics on failure" name="SupervisorAgent Metrics Collection should record error metrics on failure" time="0.001">
<failure>Error: expect(received).rejects.toThrow()
Received promise resolved instead of rejected
Resolved to value: "I apologize, but I'm experiencing some technical difficulties. Please try again in a moment. If the problem persists, you can contact our support team."
at expect (/Users/vishalmishra/workspace/self/agentcare/node_modules/expect/build/index.js:113:15)
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:409:13)
at Promise.then.completed (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:316:40)
at _runTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:121:9)
at run (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-runner/build/runTest.js:444:34)</failure>
</testcase>
<testcase classname="SupervisorAgent Error Handling should handle booking agent errors" name="SupervisorAgent Error Handling should handle booking agent errors" time="0.001">
<failure>Error: expect(received).rejects.toThrow()
Received promise resolved instead of rejected
Resolved to value: "I apologize, but I'm experiencing some technical difficulties. Please try again in a moment. If the problem persists, you can contact our support team."
at expect (/Users/vishalmishra/workspace/self/agentcare/node_modules/expect/build/index.js:113:15)
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:421:13)
at Promise.then.completed (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:316:40)
at _runTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:121:9)
at run (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-runner/build/runTest.js:444:34)</failure>
</testcase>
<testcase classname="SupervisorAgent Error Handling should handle availability agent errors" name="SupervisorAgent Error Handling should handle availability agent errors" time="0">
<failure>Error: expect(received).rejects.toThrow()
Received promise resolved instead of rejected
Resolved to value: "I apologize, but I'm experiencing some technical difficulties. Please try again in a moment. If the problem persists, you can contact our support team."
at expect (/Users/vishalmishra/workspace/self/agentcare/node_modules/expect/build/index.js:113:15)
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:433:13)
at Promise.then.completed (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:316:40)
at _runTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:121:9)
at run (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-runner/build/runTest.js:444:34)</failure>
</testcase>
<testcase classname="SupervisorAgent Error Handling should handle FAQ agent errors" name="SupervisorAgent Error Handling should handle FAQ agent errors" time="0.001">
<failure>Error: expect(received).rejects.toThrow()
Received promise resolved instead of rejected
Resolved to value: "I apologize, but I'm experiencing some technical difficulties. Please try again in a moment. If the problem persists, you can contact our support team."
at expect (/Users/vishalmishra/workspace/self/agentcare/node_modules/expect/build/index.js:113:15)
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:445:13)
at Promise.then.completed (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/utils.js:298:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/utils.js:231:10)
at _callCircusTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:316:40)
at _runTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:252:3)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:126:9)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:121:9)
at _runTestsForDescribeBlock (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:121:9)
at run (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/run.js:71:3)
at runAndTransformResultsToJestFormat (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
at jestAdapter (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
at runTestInternal (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-runner/build/runTest.js:367:16)
at runTest (/Users/vishalmishra/workspace/self/agentcare/node_modules/jest-runner/build/runTest.js:444:34)</failure>
</testcase>
<testcase classname="SupervisorAgent Logging should log processing start" name="SupervisorAgent Logging should log processing start" time="0.001">
<failure>Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)
Expected: "SupervisorAgent processing request", ObjectContaining {"message": "Test message"}
Received: "SupervisorAgent processing message", {"hasToken": false, "messageLength": 12}
Number of calls: 1
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:461:31)</failure>
</testcase>
<testcase classname="SupervisorAgent Logging should log delegation actions" name="SupervisorAgent Logging should log delegation actions" time="0.001">
<failure>Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)
Expected: "Delegating to AvailabilityAgent", ObjectContaining {"intent": ObjectContaining {"type": "availability"}, "message": "What doctors are available?"}
Received: "SupervisorAgent processing message", {"hasToken": false, "messageLength": 27}
Number of calls: 1
at Object.<anonymous> (/Users/vishalmishra/workspace/self/agentcare/tests/unit/agents/SupervisorAgent.test.ts:473:31)</failure>
</testcase>
</testsuite>
<testsuite name="OrganizationService" errors="0" failures="0" skipped="18" timestamp="2025-05-25T13:48:02" time="0.034" tests="18">
<testcase classname="OrganizationService createOrganization should successfully create a new healthcare organization" name="OrganizationService createOrganization should successfully create a new healthcare organization" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService createOrganization should throw error for duplicate slug" name="OrganizationService createOrganization should throw error for duplicate slug" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService createOrganization should throw error for missing required fields" name="OrganizationService createOrganization should throw error for missing required fields" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService createOrganization should handle database errors gracefully" name="OrganizationService createOrganization should handle database errors gracefully" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService registerProvider should successfully register a healthcare provider" name="OrganizationService registerProvider should successfully register a healthcare provider" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService registerProvider should throw error for duplicate provider email in same organization" name="OrganizationService registerProvider should throw error for duplicate provider email in same organization" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService registerProvider should throw error for invalid role" name="OrganizationService registerProvider should throw error for invalid role" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService registerPatient should successfully register a patient" name="OrganizationService registerPatient should successfully register a patient" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService registerPatient should throw error for duplicate patient email in same organization" name="OrganizationService registerPatient should throw error for duplicate patient email in same organization" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService registerPatient should generate medical record number if not provided" name="OrganizationService registerPatient should generate medical record number if not provided" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService addCaregiver should successfully add a caregiver relationship" name="OrganizationService addCaregiver should successfully add a caregiver relationship" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService addCaregiver should use existing caregiver if already exists" name="OrganizationService addCaregiver should use existing caregiver if already exists" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService getOnboardingStatus should return correct onboarding status" name="OrganizationService getOnboardingStatus should return correct onboarding status" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService getOnboardingStatus should mark as complete when all steps are done" name="OrganizationService getOnboardingStatus should mark as complete when all steps are done" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService getOrganizationStats should return organization statistics" name="OrganizationService getOrganizationStats should return organization statistics" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService Data Isolation should set tenant context for all operations" name="OrganizationService Data Isolation should set tenant context for all operations" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService Error Handling should rollback transaction on any error" name="OrganizationService Error Handling should rollback transaction on any error" time="0">
<skipped/>
</testcase>
<testcase classname="OrganizationService Error Handling should release client connection in finally block" name="OrganizationService Error Handling should release client connection in finally block" time="0">
<skipped/>
</testcase>
</testsuite>
<testsuite name="OllamaService" errors="0" failures="0" skipped="0" timestamp="2025-05-25T13:48:02" time="0.061" tests="15">
<testcase classname="OllamaService generateResponse should generate a response successfully" name="OllamaService generateResponse should generate a response successfully" time="0.002">
</testcase>
<testcase classname="OllamaService generateResponse should handle API errors gracefully" name="OllamaService generateResponse should handle API errors gracefully" time="0.009">
</testcase>
<testcase classname="OllamaService generateResponse should handle network errors" name="OllamaService generateResponse should handle network errors" time="0.002">
</testcase>
<testcase classname="OllamaService generateResponse should format messages correctly with context and system prompt" name="OllamaService generateResponse should format messages correctly with context and system prompt" time="0.001">
</testcase>
<testcase classname="OllamaService analyzeIntent should analyze intent successfully" name="OllamaService analyzeIntent should analyze intent successfully" time="0.001">
</testcase>
<testcase classname="OllamaService analyzeIntent should use fallback intent analysis for invalid JSON" name="OllamaService analyzeIntent should use fallback intent analysis for invalid JSON" time="0">
</testcase>
<testcase classname="OllamaService analyzeIntent should handle intent analysis errors" name="OllamaService analyzeIntent should handle intent analysis errors" time="0.001">
</testcase>
<testcase classname="OllamaService generateEmbeddings should generate embeddings successfully" name="OllamaService generateEmbeddings should generate embeddings successfully" time="0.007">
</testcase>
<testcase classname="OllamaService generateEmbeddings should handle embedding generation errors" name="OllamaService generateEmbeddings should handle embedding generation errors" time="0">
</testcase>
<testcase classname="OllamaService healthCheck should return true when Ollama is healthy" name="OllamaService healthCheck should return true when Ollama is healthy" time="0.001">
</testcase>
<testcase classname="OllamaService healthCheck should return false when Ollama is unhealthy" name="OllamaService healthCheck should return false when Ollama is unhealthy" time="0.003">
</testcase>
<testcase classname="OllamaService healthCheck should return false on network errors" name="OllamaService healthCheck should return false on network errors" time="0">
</testcase>
<testcase classname="OllamaService pullModel should pull model successfully" name="OllamaService pullModel should pull model successfully" time="0.001">
</testcase>
<testcase classname="OllamaService pullModel should use default model when none specified" name="OllamaService pullModel should use default model when none specified" time="0">
</testcase>
<testcase classname="OllamaService pullModel should handle pull errors" name="OllamaService pullModel should handle pull errors" time="0.001">
</testcase>
</testsuite>
<testsuite name="Logger" errors="0" failures="0" skipped="0" timestamp="2025-05-25T13:48:02" time="0.087" tests="7">
<testcase classname="Logger Logging Methods should log info messages" name="Logger Logging Methods should log info messages" time="0.019">
</testcase>
<testcase classname="Logger Logging Methods should log error messages" name="Logger Logging Methods should log error messages" time="0.003">
</testcase>
<testcase classname="Logger Logging Methods should log warning messages" name="Logger Logging Methods should log warning messages" time="0.002">
</testcase>
<testcase classname="Logger Logging Methods should log debug messages" name="Logger Logging Methods should log debug messages" time="0.001">
</testcase>
<testcase classname="Logger Logger Configuration should create logger instance" name="Logger Logger Configuration should create logger instance" time="0.001">
</testcase>
<testcase classname="Logger Logger Configuration should handle messages without metadata" name="Logger Logger Configuration should handle messages without metadata" time="0.005">
</testcase>
<testcase classname="Logger Logger Configuration should handle empty messages" name="Logger Logger Configuration should handle empty messages" time="0.002">
</testcase>
</testsuite>
<testsuite name="MetricsCollector" errors="0" failures="0" skipped="0" timestamp="2025-05-25T13:48:02" time="0.048" tests="12">
<testcase classname="MetricsCollector Counter Metrics should increment counter with default value" name="MetricsCollector Counter Metrics should increment counter with default value" time="0.001">
</testcase>
<testcase classname="MetricsCollector Counter Metrics should increment counter with custom value" name="MetricsCollector Counter Metrics should increment counter with custom value" time="0">
</testcase>
<testcase classname="MetricsCollector Counter Metrics should accumulate counter values" name="MetricsCollector Counter Metrics should accumulate counter values" time="0.001">
</testcase>
<testcase classname="MetricsCollector Timing Metrics should record timing metric" name="MetricsCollector Timing Metrics should record timing metric" time="0">
</testcase>
<testcase classname="MetricsCollector Timing Metrics should track operation start and end" name="MetricsCollector Timing Metrics should track operation start and end" time="0.012">
</testcase>
<testcase classname="MetricsCollector Error Metrics should record error for operation" name="MetricsCollector Error Metrics should record error for operation" time="0">
</testcase>
<testcase classname="MetricsCollector Error Metrics should accumulate error counts" name="MetricsCollector Error Metrics should accumulate error counts" time="0.001">
</testcase>
<testcase classname="MetricsCollector Metric Retrieval should return 0 for non-existent metric" name="MetricsCollector Metric Retrieval should return 0 for non-existent metric" time="0">
</testcase>
<testcase classname="MetricsCollector Metric Retrieval should return all metrics" name="MetricsCollector Metric Retrieval should return all metrics" time="0.001">
</testcase>
<testcase classname="MetricsCollector Metric Retrieval should export metrics as object" name="MetricsCollector Metric Retrieval should export metrics as object" time="0.001">
</testcase>
<testcase classname="MetricsCollector Metric Reset should reset all metrics" name="MetricsCollector Metric Reset should reset all metrics" time="0">
</testcase>
<testcase classname="MetricsCollector Metric Reset should log reset action" name="MetricsCollector Metric Reset should log reset action" time="0.001">
</testcase>
</testsuite>
<testsuite name="ValidationService" errors="0" failures="0" skipped="0" timestamp="2025-05-25T13:48:02" time="0.047" tests="21">
<testcase classname="ValidationService Email Validation should validate correct email formats" name="ValidationService Email Validation should validate correct email formats" time="0.001">
</testcase>
<testcase classname="ValidationService Email Validation should reject invalid email formats" name="ValidationService Email Validation should reject invalid email formats" time="0.001">
</testcase>
<testcase classname="ValidationService Email Validation should validate email using validation service" name="ValidationService Email Validation should validate email using validation service" time="0">
</testcase>
<testcase classname="ValidationService Phone Validation should validate correct phone formats" name="ValidationService Phone Validation should validate correct phone formats" time="0.001">
</testcase>
<testcase classname="ValidationService Phone Validation should reject invalid phone formats" name="ValidationService Phone Validation should reject invalid phone formats" time="0.001">
</testcase>
<testcase classname="ValidationService Phone Validation should validate phone using validation service" name="ValidationService Phone Validation should validate phone using validation service" time="0">
</testcase>
<testcase classname="ValidationService Booking Validation should validate complete booking details" name="ValidationService Booking Validation should validate complete booking details" time="0.002">
</testcase>
<testcase classname="ValidationService Booking Validation should reject booking with missing required fields" name="ValidationService Booking Validation should reject booking with missing required fields" time="0.001">
</testcase>
<testcase classname="ValidationService Booking Validation should reject booking with invalid email" name="ValidationService Booking Validation should reject booking with invalid email" time="0">
</testcase>
<testcase classname="ValidationService Booking Validation should reject booking with past date" name="ValidationService Booking Validation should reject booking with past date" time="0.003">
</testcase>
<testcase classname="ValidationService Booking Validation should reject booking outside business hours" name="ValidationService Booking Validation should reject booking outside business hours" time="0">
</testcase>
<testcase classname="ValidationService Booking Validation should reject weekend bookings" name="ValidationService Booking Validation should reject weekend bookings" time="0.001">
</testcase>
<testcase classname="ValidationService Doctor Validation should validate complete doctor data" name="ValidationService Doctor Validation should validate complete doctor data" time="0">
</testcase>
<testcase classname="ValidationService Doctor Validation should reject doctor with missing name" name="ValidationService Doctor Validation should reject doctor with missing name" time="0.001">
</testcase>
<testcase classname="ValidationService Doctor Validation should reject doctor with invalid email" name="ValidationService Doctor Validation should reject doctor with invalid email" time="0">
</testcase>
<testcase classname="ValidationService FAQ Validation should validate complete FAQ data" name="ValidationService FAQ Validation should validate complete FAQ data" time="0.001">
</testcase>
<testcase classname="ValidationService FAQ Validation should reject FAQ with short question" name="ValidationService FAQ Validation should reject FAQ with short question" time="0">
</testcase>
<testcase classname="ValidationService FAQ Validation should reject FAQ with short answer" name="ValidationService FAQ Validation should reject FAQ with short answer" time="0">
</testcase>
<testcase classname="ValidationService Input Sanitization should remove HTML tags" name="ValidationService Input Sanitization should remove HTML tags" time="0.001">
</testcase>
<testcase classname="ValidationService Input Sanitization should trim whitespace" name="ValidationService Input Sanitization should trim whitespace" time="0">
</testcase>
<testcase classname="ValidationService Input Sanitization should handle empty input" name="ValidationService Input Sanitization should handle empty input" time="0.001">
</testcase>
</testsuite>
<testsuite name="ErrorHandler" errors="0" failures="0" skipped="0" timestamp="2025-05-25T13:48:02" time="0.044" tests="10">
<testcase classname="ErrorHandler Custom Error Types should create AgentError correctly" name="ErrorHandler Custom Error Types should create AgentError correctly" time="0.001">
</testcase>
<testcase classname="ErrorHandler Custom Error Types should create ToolError correctly" name="ErrorHandler Custom Error Types should create ToolError correctly" time="0">
</testcase>
<testcase classname="ErrorHandler Custom Error Types should create ValidationError correctly" name="ErrorHandler Custom Error Types should create ValidationError correctly" time="0">
</testcase>
<testcase classname="ErrorHandler Error Handling should handle AgentError" name="ErrorHandler Error Handling should handle AgentError" time="0.005">
</testcase>
<testcase classname="ErrorHandler Error Handling should handle ToolError" name="ErrorHandler Error Handling should handle ToolError" time="0.001">
</testcase>
<testcase classname="ErrorHandler Error Handling should handle ValidationError" name="ErrorHandler Error Handling should handle ValidationError" time="0.001">
</testcase>
<testcase classname="ErrorHandler Error Handling should handle generic Error" name="ErrorHandler Error Handling should handle generic Error" time="0">
</testcase>
<testcase classname="ErrorHandler Error Retry Logic should identify retryable errors" name="ErrorHandler Error Retry Logic should identify retryable errors" time="0">
</testcase>
<testcase classname="ErrorHandler Error Retry Logic should identify non-retryable errors" name="ErrorHandler Error Retry Logic should identify non-retryable errors" time="0.002">
</testcase>
<testcase classname="ErrorHandler Error Type Classification should classify error types correctly" name="ErrorHandler Error Type Classification should classify error types correctly" time="0.001">
</testcase>
</testsuite>
</testsuites>