49 lines
1.6 KiB
Dart
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);
|
|
});
|
|
}
|