main
1import 'package:blood_pressure_app/model/export_import/pdf_converter.dart';
2import 'package:blood_pressure_app/model/storage/export_columns_store.dart';
3import 'package:blood_pressure_app/model/storage/export_pdf_settings_store.dart';
4import 'package:blood_pressure_app/model/storage/settings_store.dart';
5import 'package:flutter/material.dart';
6import 'package:blood_pressure_app/l10n/app_localizations.dart';
7import 'package:flutter_test/flutter_test.dart';
8import 'csv_converter_test.dart';
9
10void main() {
11 test('should not return empty data', () async {
12 final localizations = await AppLocalizations.delegate.load(const Locale('en'));
13 final converter = PdfConverter(PdfExportSettings(), localizations, Settings(), ExportColumnsManager());
14 final pdf = await converter.create(createRecords());
15 expect(pdf.length, isNonZero);
16 });
17 test('generated data length should be consistent', () async {
18 final localizations = await AppLocalizations.delegate.load(const Locale('en'));
19 final converter = PdfConverter(PdfExportSettings(), localizations, Settings(), ExportColumnsManager());
20 final pdf = await converter.create(createRecords());
21 final converter2 = PdfConverter(PdfExportSettings(), localizations, Settings(), ExportColumnsManager());
22 final pdf2 = await converter2.create(createRecords());
23 expect(pdf.length, pdf2.length);
24 });
25
26 test('generated data should change on settings change', () async {
27 final localizations = await AppLocalizations.delegate.load(const Locale('en'));
28 final pdfSettings = PdfExportSettings(
29 exportData: true,
30 exportStatistics: true,
31 exportTitle: true,
32 );
33
34 final converter = PdfConverter(pdfSettings, localizations, Settings(), ExportColumnsManager());
35 final pdf1 = await converter.create(createRecords());
36
37 pdfSettings.exportData = false;
38 final pdf2 = await converter.create(createRecords());
39 expect(pdf1.length, isNot(pdf2.length));
40 expect(pdf1.length, greaterThan(pdf2.length));
41
42 pdfSettings.exportStatistics = false;
43 final pdf3 = await converter.create(createRecords());
44 expect(pdf3.length, isNot(pdf2.length));
45 expect(pdf3.length, isNot(pdf1.length));
46 expect(pdf2.length, greaterThan(pdf3.length));
47
48 pdfSettings.exportTitle = false;
49 pdfSettings.exportData = true;
50 final pdf4 = await converter.create(createRecords());
51 expect(pdf4.length, isNot(pdf1.length));
52 expect(pdf1.length, greaterThan(pdf4.length));
53 });
54}
55