Skip to content

Commit 1b87a34

Browse files
committed
fix mocking clock.now
1 parent 5e6ecb6 commit 1b87a34

File tree

6 files changed

+20
-13
lines changed

6 files changed

+20
-13
lines changed

lib/widgets/day/day_details_card/day_details_card.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
import 'package:clock/clock.dart';
12
import 'package:flutter/material.dart';
3+
import 'package:intl/intl.dart';
24
import 'package:weather/services/open_mateo/data.dart';
35
import 'package:weather/widgets/chart/hourly_weather_chart.dart';
46

@@ -38,7 +40,7 @@ class DayDetailsCard extends StatelessWidget {
3840
children: [
3941
_Location(localityName: localityName),
4042
Text(
41-
'Today ${TimeOfDay.now().format(context)}',
43+
'Today ${DateFormat('h:mm a').format(clock.now())}',
4244
style: Theme.of(context).textTheme.bodyMedium,
4345
)
4446
],

pubspec.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ packages:
122122
source: hosted
123123
version: "2.0.3"
124124
clock:
125-
dependency: transitive
125+
dependency: "direct main"
126126
description:
127127
name: clock
128128
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b

pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ dependencies:
2323
url_launcher: ^6.3.2
2424
google_maps_flutter: ^2.13.1
2525
geolocator: ^14.0.2
26+
clock: ^1.1.2
2627

2728
dev_dependencies:
2829
flutter_test:
-480 Bytes
Loading
Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'package:clock/clock.dart';
12
import 'package:flutter_test/flutter_test.dart';
23
import 'package:weather/widgets/day/day_details_card/day_details_card.dart';
34

@@ -9,19 +10,22 @@ void main() {
910
testWidgets('golden test', (tester) async {
1011
await tester.setScreenSize(width: 250, height: 350);
1112

12-
await tester.pumpWidget(
13-
TestMaterialApp(
14-
child: DayDetailsCard(
15-
hourlyData: getDummyHourlyData(),
16-
localityName: 'New York',
13+
// need to await to get any errors
14+
await withClock(Clock.fixed(DateTime(2025, 10, 27, 11, 30, 0)), () async {
15+
await tester.pumpWidget(
16+
TestMaterialApp(
17+
child: DayDetailsCard(
18+
hourlyData: getDummyHourlyData(),
19+
localityName: 'New York',
20+
),
1721
),
18-
),
19-
);
22+
);
2023

21-
await expectLater(
22-
find.byType(TestMaterialApp),
23-
matchesGoldenFile('golden/day_details_card.png'),
24-
);
24+
await expectLater(
25+
find.byType(TestMaterialApp),
26+
matchesGoldenFile('golden/day_details_card.png'),
27+
);
28+
});
2529
});
2630
});
2731
}
8.88 KB
Loading

0 commit comments

Comments
 (0)