@@ -769,50 +769,28 @@ info:
769
769
expect (viewmodel.currentMessages.first.content, equals ('Test message' ));
770
770
});
771
771
772
- test ('should validate sendMessage actually adds messages after bug fix' ,
773
- () async {
772
+ test ('should validate sendMessage adds messages' , () async {
774
773
final viewmodel = container.read (chatViewmodelProvider.notifier);
775
774
776
- // Check _currentRequest value
777
- final currentRequest = container.read (selectedRequestModelProvider);
778
- debugPrint ('Current request: $currentRequest ' );
779
-
780
- // Check the computed ID that currentMessages uses
781
- final computedId = currentRequest? .id ?? 'global' ;
782
- debugPrint ('Computed ID for currentMessages: $computedId ' );
783
-
784
- // Check initial state
785
- debugPrint (
786
- 'Initial state - chatSessions: ${viewmodel .state .chatSessions }' );
787
- debugPrint ('Initial messages count: ${viewmodel .currentMessages .length }' );
775
+ // Initial state should be empty
776
+ expect (viewmodel.state.chatSessions, isEmpty);
777
+ expect (viewmodel.currentMessages, isEmpty);
788
778
789
- // Call sendMessage which should trigger _addMessage through _appendSystem
779
+ // Call sendMessage which should trigger _addMessage via _appendSystem
790
780
await viewmodel.sendMessage (text: 'Hello' , type: ChatMessageType .general);
791
781
792
- // Debug: print current state
793
- debugPrint (
794
- 'After sendMessage - chatSessions: ${viewmodel .state .chatSessions }' );
795
- debugPrint (
796
- 'After sendMessage - keys: ${viewmodel .state .chatSessions .keys }' );
797
- debugPrint ('Current messages count: ${viewmodel .currentMessages .length }' );
798
-
799
- // Check again after sendMessage
800
- final currentRequestAfter = container.read (selectedRequestModelProvider);
801
- final computedIdAfter = currentRequestAfter? .id ?? 'global' ;
802
- debugPrint ('Current request after: $currentRequestAfter ' );
803
- debugPrint ('Computed ID after: $computedIdAfter ' );
804
-
805
- // Let's also check the global session directly
806
- final globalMessages = viewmodel.state.chatSessions['global' ];
807
- debugPrint ('Global messages directly: ${globalMessages ?.length ?? 0 }' );
808
-
809
- // Check specific computed ID session
810
- final computedMessages = viewmodel.state.chatSessions[computedIdAfter];
811
- debugPrint (
812
- 'Messages for computed ID ($computedIdAfter ): ${computedMessages ?.length ?? 0 }' );
782
+ // Expect a user message followed by system "AI model not configured" message
783
+ expect (viewmodel.currentMessages, hasLength (2 ));
784
+ expect (viewmodel.currentMessages.first.role, equals (MessageRole .user));
785
+ expect (viewmodel.currentMessages.first.content, equals ('Hello' ));
786
+ expect (viewmodel.currentMessages.last.role, equals (MessageRole .system));
787
+ expect (viewmodel.currentMessages.last.content,
788
+ contains ('AI model is not configured' ));
813
789
814
- // Should now have messages after the bug fix
815
- expect (viewmodel.currentMessages, isNotEmpty);
790
+ // Ensure messages are recorded under the expected session (global)
791
+ expect (viewmodel.state.chatSessions.containsKey ('global' ), isTrue);
792
+ expect (viewmodel.state.chatSessions['global' ], isNotNull);
793
+ expect (viewmodel.state.chatSessions['global' ]! , hasLength (2 ));
816
794
});
817
795
818
796
test ('should validate state updates and reading' , () async {
@@ -1255,8 +1233,7 @@ paths:
1255
1233
1256
1234
final testAction = ChatAction (
1257
1235
action: 'add_test' ,
1258
- target:
1259
- 'test' ,
1236
+ target: 'test' ,
1260
1237
field: 'generated' ,
1261
1238
actionType: ChatActionType .other,
1262
1239
targetType: ChatActionTarget .test,
@@ -1295,8 +1272,7 @@ paths:
1295
1272
1296
1273
final testAction = ChatAction (
1297
1274
action: 'unknown_action' ,
1298
- target:
1299
- 'unsupported_target' ,
1275
+ target: 'unsupported_target' ,
1300
1276
field: 'some_field' ,
1301
1277
actionType: ChatActionType .other,
1302
1278
targetType: ChatActionTarget .test,
0 commit comments