import 'package:flutter_test/flutter_test.dart'; import 'package:timezone/data/latest.dart' as tz; import 'package:smoke_cess_app/services/date_service.dart'; import 'package:timezone/timezone.dart'; void main() { tz.initializeTimeZones(); test('IsSameDay: false', () { bool result = isSameDay(DateTime.now(), DateTime.now().add(const Duration(days: 1))); expect(result, false); }); test('IsSameDay: true', () { bool result = isSameDay(DateTime.now(), DateTime.now()); expect(result, true); }); test('CreateTZDateTimes: all the same days as today in next 6 weeks at 23:59', () { List selectedDays = [ weekDays.keys.elementAt(DateTime.now().weekday - 1) ]; List expected = []; DateTime now = DateTime.now(); final Duration offset = now.timeZoneOffset; final DateTime date = DateTime(now.year, now.month, now.day, 23, 59, 0, 0, 0); for (int i = 0; i <= trainingTime; i = i + 7) { expected.add( TZDateTime.local(date.year, date.month, date.day, 23, 59, 0, 0, 0) .add(Duration(days: i)) // subtract offset since TZDateTime uses the UTC Timezone .subtract(offset)); } List result = createTZDateTimes(selectedDays, 23, 59); expect(result, expected); }); }