Feature/widget testing (#8)

* Configured iOS Build
* Created ProgressListTile widget
* Created MaterialTesterWidget
* Created String Methods for Testing in ProgressListTile
* Created ProgressListTileStrings class
* Using Progress List Tile
* Created Progress List View
* Created Progress List Tile currently, future and past test.
* Created Progress List View one and five Time Progresses test.

Signed-off-by: Andreas Fahrecker <AndreasFahrecker@gmail.com>
This commit is contained in:
Andreas Fahrecker
2021-03-08 16:19:31 +01:00
committed by GitHub
parent 90f2998088
commit fc35476503
28 changed files with 433 additions and 151 deletions

View File

@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import 'package:percent_indicator/linear_percent_indicator.dart';
import 'package:time_progress_tracker/models/time_progress.dart';
import 'package:time_progress_tracker/screens/progress_detail_screen.dart';
import 'package:time_progress_tracker/widgets/progress_list_view/progress_list_tile.dart';
class HomeProgressListTile extends StatelessWidget {
final TimeProgress timeProgress;
@ -16,33 +15,11 @@ class HomeProgressListTile extends StatelessWidget {
@override
Widget build(BuildContext context) {
Widget listTileSubTitle;
if (timeProgress.hasStarted() && !timeProgress.hasEnded())
listTileSubTitle = LinearPercentIndicator(
center: Text(
"${(timeProgress.percentDone() * 100).floor()} %",
style: TextStyle(color: Colors.white),
),
percent: timeProgress.percentDone(),
progressColor: doneColor,
backgroundColor: leftColor,
lineHeight: 20,
);
if (!timeProgress.hasStarted())
listTileSubTitle = Text(
"Starts in ${timeProgress.startTime.difference(DateTime.now()).inDays} Days");
if (timeProgress.hasEnded())
listTileSubTitle = Text(
"Ended ${DateTime.now().difference(timeProgress.endTime).inDays} Days ago.");
return Card(
child: ListTile(
title: Text(timeProgress.name),
subtitle: listTileSubTitle,
onTap: () {
Navigator.pushNamed(context, ProgressDetailScreen.routeName,
arguments: ProgressDetailScreenArguments(timeProgress.id));
},
child: ProgressListTile(
timeProgress: timeProgress,
doneColor: doneColor,
leftColor: leftColor,
),
);
}