123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- use crate::grid::block_test::script::GridRowTest;
- use crate::grid::block_test::script::RowScript::*;
- use flowy_grid::entities::FieldType;
- use flowy_grid_data_model::revision::RowMetaChangeset;
- #[tokio::test]
- async fn grid_create_row_count_test() {
- let mut test = GridRowTest::new().await;
- let scripts = vec![
- AssertRowCount(3),
- CreateEmptyRow,
- CreateEmptyRow,
- CreateRow {
- row_rev: test.row_builder().build(),
- },
- AssertRowCount(6),
- ];
- test.run_scripts(scripts).await;
- }
- #[tokio::test]
- async fn grid_update_row() {
- let mut test = GridRowTest::new().await;
- let row_rev = test.row_builder().build();
- let changeset = RowMetaChangeset {
- row_id: row_rev.id.clone(),
- height: None,
- visibility: None,
- cell_by_field_id: Default::default(),
- };
- let scripts = vec![AssertRowCount(3), CreateRow { row_rev }, UpdateRow { changeset }];
- test.run_scripts(scripts).await;
- let expected_row = test.last_row().unwrap();
- let scripts = vec![AssertRow { expected_row }, AssertRowCount(4)];
- test.run_scripts(scripts).await;
- }
- #[tokio::test]
- async fn grid_delete_row() {
- let mut test = GridRowTest::new().await;
- let row_1 = test.row_builder().build();
- let row_2 = test.row_builder().build();
- let row_ids = vec![row_1.id.clone(), row_2.id.clone()];
- let scripts = vec![
- AssertRowCount(3),
- CreateRow { row_rev: row_1 },
- CreateRow { row_rev: row_2 },
- AssertBlockCount(1),
- AssertBlock {
- block_index: 0,
- row_count: 5,
- start_row_index: 0,
- },
- DeleteRows { row_ids },
- AssertBlock {
- block_index: 0,
- row_count: 3,
- start_row_index: 0,
- },
- ];
- test.run_scripts(scripts).await;
- }
- #[tokio::test]
- async fn grid_row_add_cells_test() {
- let mut test = GridRowTest::new().await;
- let mut builder = test.row_builder();
- let text_field_id = builder.insert_text_cell("hello world");
- let number_field_id = builder.insert_number_cell("18,443");
- let date_field_id = builder.insert_date_cell("1647251762");
- let single_select_field_id = builder.insert_single_select_cell(|options| options.first().unwrap());
- builder.insert_multi_select_cell(|options| options);
- builder.insert_checkbox_cell("false");
- let url_field_id = builder.insert_url_cell("https://appflowy.io");
- let row_rev = builder.build();
- let row_id = row_rev.id.clone();
- let scripts = vec![
- CreateRow { row_rev },
- AssertCell {
- row_id: row_id.clone(),
- field_id: text_field_id,
- field_type: FieldType::RichText,
- expected: "hello world".to_owned(),
- },
- AssertCell {
- row_id: row_id.clone(),
- field_id: number_field_id,
- field_type: FieldType::Number,
- expected: "$18,443.00".to_owned(),
- },
- AssertCell {
- row_id: row_id.clone(),
- field_id: single_select_field_id,
- field_type: FieldType::SingleSelect,
- expected: "Completed".to_owned(),
- },
- AssertCell {
- row_id: row_id.clone(),
- field_id: date_field_id,
- field_type: FieldType::DateTime,
- expected: "2022/03/14".to_owned(),
- },
- AssertCell {
- row_id: row_id.clone(),
- field_id: url_field_id,
- field_type: FieldType::URL,
- expected: "https://appflowy.io/".to_owned(),
- },
- ];
- test.run_scripts(scripts).await;
- }
|