Commit 9e19b57
Changed files (3)
health_data_store
lib
test
src
types
health_data_store/lib/src/types/full_entry.dart
@@ -0,0 +1,4 @@
+import 'package:health_data_store/health_data_store.dart';
+
+/// Entry that contains data of all supported types.
+typedef FullEntry = (BloodPressureRecord, Note, List<MedicineIntake>);
health_data_store/lib/health_data_store.dart
@@ -34,6 +34,7 @@ export 'src/repositories/repository.dart';
// types
export 'src/types/blood_pressure_record.dart';
export 'src/types/date_range.dart';
+export 'src/types/full_entry.dart';
export 'src/types/medicine.dart';
export 'src/types/medicine_intake.dart';
export 'src/types/note.dart';
health_data_store/test/src/types/full_entry_test.dart
@@ -0,0 +1,32 @@
+import 'package:health_data_store/src/types/full_entry.dart';
+import 'package:test/test.dart';
+
+import 'blood_pressure_record_test.dart';
+import 'medicine_intake_test.dart';
+import 'medicine_test.dart';
+import 'note_test.dart';
+
+void main() {
+ test('describes all types', () {
+ final record = mockRecord();
+ final note = mockNote();
+ final intake1 = mockIntake(mockMedicine());
+ final intake2 = mockIntake(mockMedicine());
+
+ final FullEntry entry = (record, note, [intake1, intake2]);
+
+ expect(entry.$1, record);
+ expect(entry.$2, note);
+ expect(entry.$3, containsAll([intake1, intake2]));
+ });
+ test('works without intake', () {
+ final record = mockRecord();
+ final note = mockNote();
+
+ final FullEntry entry = (record, note, []);
+
+ expect(entry.$1, record);
+ expect(entry.$2, note);
+ expect(entry.$3, isEmpty);
+ });
+}