update timer testing function

This commit is contained in:
Yousef Rabia
2024-03-21 00:32:20 +02:00
parent fec18be44b
commit f26ba583cc
2 changed files with 12 additions and 7 deletions

View File

@ -1,6 +1,5 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:http_parser/http_parser.dart'; import 'package:http_parser/http_parser.dart';
@ -40,7 +39,8 @@ class NotSentWidget extends StatelessWidget {
class SendingWidget extends StatefulWidget { class SendingWidget extends StatefulWidget {
final DateTime? startSendingTime; final DateTime? startSendingTime;
const SendingWidget({super.key, required this.startSendingTime}); final bool isTest;
const SendingWidget({super.key, required this.startSendingTime, this.isTest=false});
@override @override
State<SendingWidget> createState() => _SendingWidgetState(); State<SendingWidget> createState() => _SendingWidgetState();
@ -54,15 +54,15 @@ class _SendingWidgetState extends State<SendingWidget> {
void initState() { void initState() {
super.initState(); super.initState();
if (widget.startSendingTime != null) { if (widget.startSendingTime != null) {
_millisecondsElapsed = _millisecondsElapsed = widget.isTest ? 0 :
DateTime.now().difference(widget.startSendingTime!).inMilliseconds; DateTime.now().difference(widget.startSendingTime!).inMilliseconds;
_timer = Timer.periodic(const Duration(milliseconds: 10), _updateTimer); _timer = Timer.periodic(const Duration(milliseconds: 100), _updateTimer);
} }
} }
void _updateTimer(Timer timer) { void _updateTimer(Timer timer) {
setState(() { setState(() {
_millisecondsElapsed += 10; _millisecondsElapsed += 100;
}); });
} }
@ -80,7 +80,7 @@ class _SendingWidgetState extends State<SendingWidget> {
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Visibility( Visibility(
visible: _millisecondsElapsed > 0, visible: _millisecondsElapsed >= 0,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [

View File

@ -34,12 +34,17 @@ void main() {
home: Scaffold( home: Scaffold(
body: SendingWidget( body: SendingWidget(
startSendingTime: DateTime.now(), startSendingTime: DateTime.now(),
isTest: true,
), ),
), ),
), ),
); );
expect(find.text('Time elapsed: 0 ms'), findsOneWidget);
expect(find.byType(Lottie), findsOneWidget); expect(find.byType(Lottie), findsOneWidget);
await tester.pump(const Duration(seconds: 1));
expect(find.text('Time elapsed: 1.00 s'), findsOneWidget);
}); });
testWidgets('Testing Not Sent Widget', (tester) async { testWidgets('Testing Not Sent Widget', (tester) async {