@@ -769,50 +769,28 @@ info:
769769 expect (viewmodel.currentMessages.first.content, equals ('Test message' ));
770770 });
771771
772- test ('should validate sendMessage actually adds messages after bug fix' ,
773- () async {
772+ test ('should validate sendMessage adds messages' , () async {
774773 final viewmodel = container.read (chatViewmodelProvider.notifier);
775774
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);
788778
789- // Call sendMessage which should trigger _addMessage through _appendSystem
779+ // Call sendMessage which should trigger _addMessage via _appendSystem
790780 await viewmodel.sendMessage (text: 'Hello' , type: ChatMessageType .general);
791781
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' ));
813789
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 ));
816794 });
817795
818796 test ('should validate state updates and reading' , () async {
@@ -1255,8 +1233,7 @@ paths:
12551233
12561234 final testAction = ChatAction (
12571235 action: 'add_test' ,
1258- target:
1259- 'test' ,
1236+ target: 'test' ,
12601237 field: 'generated' ,
12611238 actionType: ChatActionType .other,
12621239 targetType: ChatActionTarget .test,
@@ -1295,8 +1272,7 @@ paths:
12951272
12961273 final testAction = ChatAction (
12971274 action: 'unknown_action' ,
1298- target:
1299- 'unsupported_target' ,
1275+ target: 'unsupported_target' ,
13001276 field: 'some_field' ,
13011277 actionType: ChatActionType .other,
13021278 targetType: ChatActionTarget .test,
0 commit comments