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
5 changed files with 24 additions and 15 deletions

View File

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

View File

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

View File

@ -7,10 +7,13 @@ void main() {
late AppFlowyGridTest gridTest; late AppFlowyGridTest gridTest;
setUpAll(() async { setUpAll(() async {
gridTest = await AppFlowyGridTest.ensureInitialized(); 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>( blocTest<GridBloc, GridState>(
"create a row", "create a row",
build: () => build: () =>

View File

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

View File

@ -126,14 +126,20 @@ where
}; };
let revisions = self.revisions_in_range(&range).await?; let revisions = self.revisions_in_range(&range).await?;
let rev_ids = range.to_rev_ids();
debug_assert_eq!(range.len() as usize, revisions.len()); debug_assert_eq!(range.len() as usize, revisions.len());
// compact multiple revisions into one // compact multiple revisions into one
let merged_revision = rev_compress.merge_revisions(&self.user_id, &self.object_id, revisions)?; let merged_revision = rev_compress.merge_revisions(&self.user_id, &self.object_id, revisions)?;
tracing::Span::current().record("rev_id", &merged_revision.rev_id); 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 let record = SyncRecord {
self.compact(&range, merged_revision).await?; 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(()) Ok(())
} }