123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- use crate::database::block_test::util::DatabaseRowTestBuilder;
- use database_model::{BuildDatabaseContext, CalendarLayoutSetting, LayoutRevision, LayoutSetting};
- use flowy_client_sync::client_database::DatabaseBuilder;
- use flowy_database::entities::FieldType;
- use flowy_database::services::field::{
- DateTypeOptionBuilder, FieldBuilder, MultiSelectTypeOptionBuilder, RichTextTypeOptionBuilder,
- };
- use strum::IntoEnumIterator;
- // Calendar unit test mock data
- pub fn make_test_calendar() -> BuildDatabaseContext {
- let mut database_builder = DatabaseBuilder::new();
- // text
- let text_field = FieldBuilder::new(RichTextTypeOptionBuilder::default())
- .name("Title")
- .visibility(true)
- .primary(true)
- .build();
- let _text_field_id = text_field.id.clone();
- database_builder.add_field(text_field);
- // date
- let date_type_option = DateTypeOptionBuilder::default();
- let date_field = FieldBuilder::new(date_type_option)
- .name("Date")
- .visibility(true)
- .build();
- let date_field_id = date_field.id.clone();
- database_builder.add_field(date_field);
- // single select
- let multi_select_type_option = MultiSelectTypeOptionBuilder::default();
- let multi_select_field = FieldBuilder::new(multi_select_type_option)
- .name("Tags")
- .visibility(true)
- .build();
- database_builder.add_field(multi_select_field);
- let calendar_layout_setting = CalendarLayoutSetting::new(date_field_id);
- let mut layout_setting = LayoutSetting::new();
- let calendar_setting = serde_json::to_string(&calendar_layout_setting).unwrap();
- layout_setting.insert(LayoutRevision::Calendar, calendar_setting);
- database_builder.set_layout_setting(layout_setting);
- for i in 0..5 {
- let block_id = database_builder.block_id().to_owned();
- let field_revs = database_builder.field_revs().clone();
- let mut row_builder = DatabaseRowTestBuilder::new(block_id.clone(), field_revs);
- match i {
- 0 => {
- for field_type in FieldType::iter() {
- match field_type {
- FieldType::RichText => row_builder.insert_text_cell("A"),
- FieldType::DateTime => row_builder.insert_date_cell("1678090778"),
- _ => "".to_owned(),
- };
- }
- },
- 1 => {
- for field_type in FieldType::iter() {
- match field_type {
- FieldType::RichText => row_builder.insert_text_cell("B"),
- FieldType::DateTime => row_builder.insert_date_cell("1677917978"),
- _ => "".to_owned(),
- };
- }
- },
- 2 => {
- for field_type in FieldType::iter() {
- match field_type {
- FieldType::RichText => row_builder.insert_text_cell("C"),
- FieldType::DateTime => row_builder.insert_date_cell("1679213978"),
- _ => "".to_owned(),
- };
- }
- },
- 3 => {
- for field_type in FieldType::iter() {
- match field_type {
- FieldType::RichText => row_builder.insert_text_cell("D"),
- FieldType::DateTime => row_builder.insert_date_cell("1678695578"),
- _ => "".to_owned(),
- };
- }
- },
- 4 => {
- for field_type in FieldType::iter() {
- match field_type {
- FieldType::RichText => row_builder.insert_text_cell("E"),
- FieldType::DateTime => row_builder.insert_date_cell("1678695578"),
- _ => "".to_owned(),
- };
- }
- },
- _ => {},
- }
- let row_rev = row_builder.build();
- database_builder.add_row(row_rev);
- }
- database_builder.build()
- }
|