fix: create grid for each test (#1431)

This commit is contained in:
Nathan.fooo 2022-11-10 20:22:37 +08:00 committed by GitHub
parent bbd64fae81
commit 840095d73c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 24 additions and 15 deletions

View File

@ -105,11 +105,9 @@ class GridDataController {
fieldController: fieldController,
);
cache.addListener(
onRowsChanged: (reason) {
_onRowChanged?.call(rowInfos, reason);
},
);
cache.addListener(onRowsChanged: (reason) {
_onRowChanged?.call(rowInfos, reason);
});
_blocks[block.id] = cache;
}

View File

@ -145,9 +145,7 @@ class GridRowCache {
void _showRows(List<String> visibleRows) {}
void onRowsChanged(
void Function(RowsChangedReason) onRowChanged,
) {
void onRowsChanged(void Function(RowsChangedReason) onRowChanged) {
_rowChangeReasonNotifier.addListener(() {
onRowChanged(_rowChangeReasonNotifier.reason);
});

View File

@ -7,10 +7,13 @@ void main() {
late AppFlowyGridTest gridTest;
setUpAll(() async {
gridTest = await AppFlowyGridTest.ensureInitialized();
await gridTest.createTestGrid();
});
group('Create a new row in Grid', () {
group('Edit Grid:', () {
setUp(() async {
await gridTest.createTestGrid();
});
// The initial number of rows is 3 for each grid.
blocTest<GridBloc, GridState>(
"create a row",
build: () =>

View File

@ -171,13 +171,17 @@ class AppFlowyGridTest {
(view) async {
gridView = view;
_gridDataController = GridDataController(view: view);
final result = await _gridDataController!.openGrid();
result.fold((l) => null, (r) => throw Exception(r));
await openGrid();
},
(error) {},
);
}
Future<void> openGrid() async {
final result = await _gridDataController!.openGrid();
result.fold((l) => null, (r) => throw Exception(r));
}
Future<void> createTestBoard() async {
final app = await unitTest.createTestApp();
final builder = BoardPluginBuilder();

View File

@ -126,14 +126,20 @@ where
};
let revisions = self.revisions_in_range(&range).await?;
let rev_ids = range.to_rev_ids();
debug_assert_eq!(range.len() as usize, revisions.len());
// compact multiple revisions into one
let merged_revision = rev_compress.merge_revisions(&self.user_id, &self.object_id, revisions)?;
tracing::Span::current().record("rev_id", &merged_revision.rev_id);
let _ = sync_seq.recv(merged_revision.rev_id)?;
// replace the revisions in range with compact revision
self.compact(&range, merged_revision).await?;
let record = SyncRecord {
revision: merged_revision,
state: RevisionState::Sync,
write_to_disk: true,
};
let _ = self
.disk_cache
.delete_and_insert_records(&self.object_id, Some(rev_ids), vec![record])?;
}
Ok(())
}