Saba-dart/test/widget_test.dart
2026-04-13 23:41:27 +03:30

49 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:saba_secure_sms/widgets/message_bubble.dart';
void main() {
testWidgets('MessageBubble renders secure multipart status', (tester) async {
await tester.pumpWidget(
const MaterialApp(
home: Scaffold(
body: MessageBubble(
body: 'در حال دریافت قطعات...',
statusLabel:
'رمزنگاری غیر متقارن (طولانی‌تر و امن‌تر) • در حال سرهم‌بندی... (2/4)',
date: 0,
isMe: false,
status: MessageStatus.received,
isSecure: true,
),
),
),
);
expect(find.text('در حال دریافت قطعات...'), findsOneWidget);
expect(find.textContaining('در حال سرهم‌بندی'), findsOneWidget);
expect(find.text('پیام امن چندبخشی'), findsOneWidget);
});
testWidgets('MessageBubble hides encrypted body for locked messages',
(tester) async {
await tester.pumpWidget(
const MaterialApp(
home: Scaffold(
body: MessageBubble(
body: 'پیام امن دریافت شد. ::PAYLOAD::abc',
date: 0,
isMe: false,
status: MessageStatus.received,
isSecure: true,
canRetryDecryption: true,
),
),
),
);
expect(find.text('این متن رمزگذاری شده است'), findsOneWidget);
expect(find.text('بازگشایی پیام'), findsOneWidget);
});
}