mirror of
https://github.com/foss42/apidash.git
synced 2025-12-03 11:27:50 +08:00
55 lines
1.5 KiB
Dart
55 lines
1.5 KiB
Dart
import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_generate_codeblock.dart';
|
|
import 'package:apidash/dashbot/core/constants/constants.dart';
|
|
import 'package:apidash/dashbot/features/chat/models/chat_action.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
import '../../../test_consts.dart';
|
|
|
|
void main() {
|
|
TestWidgetsFlutterBinding.ensureInitialized();
|
|
|
|
group('DashbotGeneratedCodeBlock', () {
|
|
testWidgets('shows provided code value', (tester) async {
|
|
const action = ChatAction(
|
|
action: 'other',
|
|
target: 'code',
|
|
value: 'print("hello")',
|
|
actionType: ChatActionType.other,
|
|
targetType: ChatActionTarget.code,
|
|
);
|
|
|
|
await tester.pumpWidget(
|
|
MaterialApp(
|
|
theme: kThemeDataLight,
|
|
home: Scaffold(
|
|
body: DashbotGeneratedCodeBlock(action: action),
|
|
),
|
|
),
|
|
);
|
|
|
|
expect(find.text('print("hello")'), findsOneWidget);
|
|
});
|
|
|
|
testWidgets('falls back to placeholder when value missing', (tester) async {
|
|
const action = ChatAction(
|
|
action: 'other',
|
|
target: 'code',
|
|
actionType: ChatActionType.other,
|
|
targetType: ChatActionTarget.code,
|
|
);
|
|
|
|
await tester.pumpWidget(
|
|
MaterialApp(
|
|
theme: kThemeDataLight,
|
|
home: Scaffold(
|
|
body: DashbotGeneratedCodeBlock(action: action),
|
|
),
|
|
),
|
|
);
|
|
|
|
expect(find.text('// No code returned'), findsOneWidget);
|
|
});
|
|
});
|
|
}
|