57 lines
1.8 KiB
Dart
57 lines
1.8 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:garden_planner/entities/beet_row.dart';
|
|
import 'package:garden_planner/entities/plant.dart';
|
|
import 'package:garden_planner/entities/plant_in_row.dart';
|
|
import 'package:garden_planner/widgets/content_widgets/dashboard_widgets/plant_element.dart';
|
|
import 'package:garden_planner/widgets/content_widgets/dashboard_widgets/plant_row.dart';
|
|
|
|
import '../../../helpers/beet_repository_generator.dart';
|
|
import '../../../helpers/plant_generator.dart';
|
|
|
|
void main() {
|
|
testWidgets('PlantRow displays PlantElement widgets',
|
|
(WidgetTester tester) async {
|
|
final List<PlantInRow> plants = [
|
|
PlantInRow(position: 0, plant: PlantGenerator.getPlant()),
|
|
PlantInRow(position: 1, plant: PlantGenerator.getPlant2())
|
|
];
|
|
|
|
final beetRow = BeetRow(0);
|
|
beetRow.plants = plants;
|
|
|
|
int removePlantCount = 0;
|
|
onPlantDropped(Plant plant) {}
|
|
onPlantRemove(PlantInRow plantInRow) {
|
|
removePlantCount++;
|
|
}
|
|
|
|
await tester.pumpWidget(
|
|
MaterialApp(
|
|
home: Scaffold(
|
|
body: PlantRow(
|
|
row: beetRow,
|
|
verticalSpace: 10.0,
|
|
onPlantDropped: onPlantDropped,
|
|
showSpaceRequirement: true,
|
|
beetRepository: BeetRepositoryGenerator.getBeetRepository(),
|
|
onPlantRemove: onPlantRemove,
|
|
showImages: true,
|
|
date: DateTime.now(),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
final plantElementFinder = find.byType(PlantElement);
|
|
expect(plantElementFinder, findsNWidgets(plants.length),
|
|
reason: 'Plants are not added');
|
|
|
|
final deleteButtonFinder = find.byIcon(Icons.delete).first;
|
|
await tester.tap(deleteButtonFinder);
|
|
await tester.pump();
|
|
|
|
expect(removePlantCount, 1, reason: 'Plant was not removed');
|
|
});
|
|
}
|