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