|
@@ -1,9 +1,23 @@
|
|
|
use crate::grid::grid_editor::GridEditorTest;
|
|
|
-use flowy_grid::entities::MoveRowParams;
|
|
|
+use flowy_grid::entities::{GroupPB, MoveRowParams, RowPB};
|
|
|
|
|
|
pub enum GroupScript {
|
|
|
- MoveCard { from_row_id: String, to_row_id: String },
|
|
|
+ AssertGroup {
|
|
|
+ group_index: usize,
|
|
|
+ row_count: usize,
|
|
|
+ },
|
|
|
AssertGroupCount(usize),
|
|
|
+ AssertGroupRow {
|
|
|
+ group_index: usize,
|
|
|
+ row_index: usize,
|
|
|
+ row: RowPB,
|
|
|
+ },
|
|
|
+ MoveRow {
|
|
|
+ from_group_index: usize,
|
|
|
+ from_row_index: usize,
|
|
|
+ to_group_index: usize,
|
|
|
+ to_row_index: usize,
|
|
|
+ },
|
|
|
}
|
|
|
|
|
|
pub struct GridGroupTest {
|
|
@@ -12,7 +26,7 @@ pub struct GridGroupTest {
|
|
|
|
|
|
impl GridGroupTest {
|
|
|
pub async fn new() -> Self {
|
|
|
- let editor_test = GridEditorTest::new().await;
|
|
|
+ let editor_test = GridEditorTest::new_board().await;
|
|
|
Self { inner: editor_test }
|
|
|
}
|
|
|
|
|
@@ -24,19 +38,48 @@ impl GridGroupTest {
|
|
|
|
|
|
pub async fn run_script(&mut self, script: GroupScript) {
|
|
|
match script {
|
|
|
- GroupScript::MoveCard { from_row_id, to_row_id } => {
|
|
|
+ GroupScript::AssertGroup { group_index, row_count } => {
|
|
|
+ assert_eq!(row_count, self.group_at_index(group_index).await.rows.len());
|
|
|
+ }
|
|
|
+ GroupScript::AssertGroupCount(count) => {
|
|
|
+ let groups = self.editor.load_groups().await.unwrap();
|
|
|
+ assert_eq!(count, groups.len());
|
|
|
+ }
|
|
|
+ GroupScript::MoveRow {
|
|
|
+ from_group_index,
|
|
|
+ from_row_index,
|
|
|
+ to_group_index,
|
|
|
+ to_row_index,
|
|
|
+ } => {
|
|
|
+ let groups: Vec<GroupPB> = self.editor.load_groups().await.unwrap().items;
|
|
|
+ let from_row = groups.get(from_group_index).unwrap().rows.get(from_row_index).unwrap();
|
|
|
+ let to_row = groups.get(to_group_index).unwrap().rows.get(to_row_index).unwrap();
|
|
|
let params = MoveRowParams {
|
|
|
view_id: self.inner.grid_id.clone(),
|
|
|
- from_row_id,
|
|
|
- to_row_id,
|
|
|
+ from_row_id: from_row.id.clone(),
|
|
|
+ to_row_id: to_row.id.clone(),
|
|
|
};
|
|
|
- let _ = self.editor.move_row(params).await.unwrap();
|
|
|
+
|
|
|
+ self.editor.move_row(params).await.unwrap();
|
|
|
}
|
|
|
- GroupScript::AssertGroupCount(count) => {
|
|
|
+ GroupScript::AssertGroupRow {
|
|
|
+ group_index,
|
|
|
+ row_index,
|
|
|
+ row,
|
|
|
+ } => {
|
|
|
//
|
|
|
+ let group = self.group_at_index(group_index).await;
|
|
|
+ let compare_row = group.rows.get(row_index).unwrap().clone();
|
|
|
+
|
|
|
+ assert_eq!(row.id, compare_row.id);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ pub async fn group_at_index(&self, index: usize) -> GroupPB {
|
|
|
+ let groups = self.editor.load_groups().await.unwrap().items;
|
|
|
+ groups.get(index).unwrap().clone()
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
impl std::ops::Deref for GridGroupTest {
|