Commit 6eef81d

derdilla <82763757+NobodyForNothing@users.noreply.github.com>
2024-06-13 14:56:59
add utility all daterange
Signed-off-by: derdilla <82763757+NobodyForNothing@users.noreply.github.com>
1 parent 01b70b3
Changed files (2)
health_data_store
lib
src
test
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),
+    );
+  });
 }