Commit 6eef81d
Changed files (2)
health_data_store
lib
src
types
test
src
types
health_data_store/lib/src/types/date_range.dart
@@ -22,6 +22,12 @@ class DateRange with _$DateRange {
required DateTime end,
}) = _DateRange;
+ /// Creates a date range from unix epoch to now.
+ factory DateRange.all() => DateRange(
+ start: DateTime.fromMillisecondsSinceEpoch(0),
+ end: DateTime.now(),
+ );
+
/// Returns a [Duration] of the time between [start] and [end].
///
/// See [DateTime.difference] for more details.
health_data_store/test/src/types/date_range_test.dart
@@ -1,3 +1,4 @@
+import 'package:health_data_store/src/extensions/datetime_seconds.dart';
import 'package:health_data_store/src/types/date_range.dart';
import 'package:test/test.dart';
@@ -29,4 +30,13 @@ void main() {
expect(range.startStamp, 0);
expect(range.endStamp, 283497);
});
+ test('creates all range from epoch to now', () {
+ final timeBeforeRangeStart = DateTime.now();
+ final range = DateRange.all();
+ expect(range.startStamp, 0);
+ expect(
+ range.endStamp,
+ greaterThanOrEqualTo(timeBeforeRangeStart.secondsSinceEpoch),
+ );
+ });
}