| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 | import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pbenum.dart';import 'package:flutter_test/flutter_test.dart';import 'package:integration_test/integration_test.dart';import 'util/database_test_op.dart';void main() {  IntegrationTestWidgetsFlutterBinding.ensureInitialized();  group('database', () {    testWidgets('import v0.2.0 database data', (tester) async {      await tester.openV020database();      // wait the database data is loaded      await tester.pumpAndSettle(const Duration(microseconds: 500));      // check the text cell      final textCells = <String>['A', 'B', 'C', 'D', 'E', '', '', '', '', ''];      for (final (index, content) in textCells.indexed) {        await tester.assertCellContent(          rowIndex: index,          fieldType: FieldType.RichText,          content: content,        );      }      // check the checkbox cell      final checkboxCells = <bool>[        true,        true,        true,        true,        true,        false,        false,        false,        false,        false      ];      for (final (index, content) in checkboxCells.indexed) {        await tester.assertCheckboxCell(          rowIndex: index,          isSelected: content,        );      }      // check the number cell      final numberCells = <String>[        '-1',        '-2',        '0.1',        '0.2',        '1',        '2',        '10',        '11',        '12',        ''      ];      for (final (index, content) in numberCells.indexed) {        await tester.assertCellContent(          rowIndex: index,          fieldType: FieldType.Number,          content: content,        );      }      // check the url cell      final urlCells = <String>[        'appflowy.io',        'no url',        'appflowy.io',        'https://github.com/AppFlowy-IO/',        '',        '',      ];      for (final (index, content) in urlCells.indexed) {        await tester.assertCellContent(          rowIndex: index,          fieldType: FieldType.URL,          content: content,        );      }      // check the single select cell      final singleSelectCells = <String>[        's1',        's2',        's3',        's4',        's5',        '',        '',        '',        '',        '',      ];      for (final (index, content) in singleSelectCells.indexed) {        await tester.assertSingleSelectOption(          rowIndex: index,          content: content,        );      }      // check the multi select cell      final List<List<String>> multiSelectCells = [        ['m1'],        ['m1', 'm2'],        ['m1', 'm2', 'm3'],        ['m1', 'm2', 'm3'],        ['m1', 'm2', 'm3', 'm4', 'm5'],        [],        [],        [],        [],        [],      ];      for (final (index, contents) in multiSelectCells.indexed) {        await tester.assertMultiSelectOption(          rowIndex: index,          contents: contents,        );      }      // check the checklist cell      final List<double?> checklistCells = [        0.67,        0.33,        1.0,        null,        null,        null,        null,        null,        null,        null,      ];      for (final (index, percent) in checklistCells.indexed) {        await tester.assertChecklistCellInGrid(          rowIndex: index,          percent: percent,        );      }      // check the date cell      final List<String> dateCells = [        'Jun 01, 2023',        'Jun 02, 2023',        'Jun 03, 2023',        'Jun 04, 2023',        'Jun 05, 2023',        'Jun 05, 2023',        'Jun 16, 2023',        '',        '',        ''      ];      for (final (index, content) in dateCells.indexed) {        await tester.assertDateCellInGrid(          rowIndex: index,          content: content,        );      }    });  });}
 |