chore: support switch to multi select field

This commit is contained in:
appflowy
2022-09-01 09:03:33 +08:00
parent 15ff2efcc2
commit 1931cdd4c0
6 changed files with 164 additions and 25 deletions

View File

@ -3,7 +3,8 @@ use flowy_grid::entities::{
CreateRowParams, FieldChangesetParams, FieldType, GridLayout, GroupPB, MoveGroupParams, MoveGroupRowParams, RowPB,
};
use flowy_grid::services::cell::{delete_select_option_cell, insert_select_option_cell};
use flowy_grid_data_model::revision::RowChangeset;
use flowy_grid_data_model::revision::{FieldRevision, RowChangeset};
use std::sync::Arc;
use std::time::Duration;
use tokio::time::interval;
@ -47,6 +48,9 @@ pub enum GroupScript {
UpdateField {
changeset: FieldChangesetParams,
},
GroupField {
field_id: String,
},
}
pub struct GridGroupTest {
@ -179,6 +183,9 @@ impl GridGroupTest {
let mut interval = interval(Duration::from_millis(130));
interval.tick().await;
}
GroupScript::GroupField { field_id } => {
self.editor.group_field(&field_id).await.unwrap();
}
}
}
@ -191,6 +198,20 @@ impl GridGroupTest {
let groups = self.group_at_index(group_index).await;
groups.rows.get(row_index).unwrap().clone()
}
pub async fn get_multi_select_field(&self) -> Arc<FieldRevision> {
let field = self
.inner
.field_revs
.iter()
.find(|field_rev| {
let field_type: FieldType = field_rev.ty.into();
field_type.is_multi_select()
})
.unwrap()
.clone();
return field;
}
}
impl std::ops::Deref for GridGroupTest {

View File

@ -390,3 +390,12 @@ async fn group_update_field_test() {
];
test.run_scripts(scripts).await;
}
#[tokio::test]
async fn group_multi_select_field_test() {
let mut test = GridGroupTest::new().await;
let multi_select_field = test.get_multi_select_field().await;
let scripts = vec![];
test.run_scripts(scripts).await;
}