mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
fix: create grid for each test (#1431)
This commit is contained in:
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
});
|
});
|
||||||
|
@ -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: () =>
|
||||||
|
@ -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();
|
||||||
|
@ -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(())
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user