Feat/rename views (#2495)

* refactor: rename belongings to child views

* test: fix test
This commit is contained in:
Nathan.fooo
2023-05-10 19:43:32 +08:00
committed by GitHub
parent bc723f8d0f
commit 2a35787dd1
26 changed files with 211 additions and 123 deletions

View File

@ -171,7 +171,7 @@ mod tests {
date: Some("1653609600".to_owned()),
time: Some("11:23 pm".to_owned()),
include_time: Some(true),
timezone_id: Some("Etc/UTC".to_owned()),
timezone_id: Some(chrono_tz::Tz::Etc__UTC.to_string()),
},
None,
"May 27, 2022 11:23 PM",

View File

@ -84,7 +84,7 @@ impl DateTypeOption {
let naive = chrono::NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap();
let offset = match Tz::from_str(&timezone_id) {
Ok(timezone) => timezone.offset_from_utc_datetime(&naive).fix(),
Err(_) => Local::now().offset().clone(),
Err(_) => *Local::now().offset(),
};
let date_time = DateTime::<Local>::from_utc(naive, offset);
@ -206,9 +206,8 @@ impl CellDataChangeset for DateTypeOption {
.from_utc_datetime(&NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap())
.date_naive(),
),
None => match previous_datetime {
Some(datetime) => Some(timezone.from_utc_datetime(&datetime).date_naive()),
None => None,
None => {
previous_datetime.map(|datetime| timezone.from_utc_datetime(&datetime).date_naive())
},
};
@ -231,17 +230,15 @@ impl CellDataChangeset for DateTypeOption {
Err(_) => match parsed_time {
// same logic as above, but using local time instead of timezone
Some(time) => {
let offset = Local::now().offset().clone();
let offset = *Local::now().offset();
let local_date = match new_date_timestamp {
Some(timestamp) => Some(
offset
.from_utc_datetime(&NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap())
.date_naive(),
),
None => match previous_datetime {
Some(datetime) => Some(offset.from_utc_datetime(&datetime).date_naive()),
None => None,
None => {
previous_datetime.map(|datetime| offset.from_utc_datetime(&datetime).date_naive())
},
};

View File

@ -64,8 +64,7 @@ impl From<&Cell> for DateCellData {
fn from(cell: &Cell) -> Self {
let timestamp = cell
.get_str_value(CELL_DATE)
.map(|data| data.parse::<i64>().ok())
.flatten();
.and_then(|data| data.parse::<i64>().ok());
let include_time = cell.get_bool_value("include_time").unwrap_or_default();
let timezone_id = cell.get_str_value("timezone_id").unwrap_or_default();

View File

@ -46,7 +46,8 @@ impl DatabaseCellTest {
&changeset.field_id,
changeset.cell_changeset,
)
.await;
.await
.unwrap();
}, // CellScript::AssertGridRevisionPad => {
// sleep(Duration::from_millis(2 * REVISION_WRITE_INTERVAL_IN_MILLIS)).await;
// let mut grid_rev_manager = grid_manager.make_grid_rev_manager(&self.grid_id, pool.clone()).unwrap();

View File

@ -12,6 +12,7 @@ use flowy_database2::services::field::{
CheckboxTypeOption, ChecklistTypeOption, DateCellChangeset, MultiSelectTypeOption, SelectOption,
SelectOptionCellChangeset, SingleSelectTypeOption,
};
use flowy_error::FlowyResult;
use flowy_test::helper::ViewTest;
use flowy_test::FlowySDKTest;
@ -172,7 +173,7 @@ impl DatabaseEditorTest {
field_id: &str,
row_id: RowId,
cell_changeset: T,
) {
) -> FlowyResult<()> {
let field = self
.editor
.get_fields(&self.view_id, None)
@ -183,10 +184,10 @@ impl DatabaseEditorTest {
self
.editor
.update_cell_with_changeset(&self.view_id, row_id, &field.id, cell_changeset)
.await;
.await
}
pub(crate) async fn update_text_cell(&mut self, row_id: RowId, content: &str) {
pub(crate) async fn update_text_cell(&mut self, row_id: RowId, content: &str) -> FlowyResult<()> {
let field = self
.editor
.get_fields(&self.view_id, None)
@ -200,10 +201,14 @@ impl DatabaseEditorTest {
self
.update_cell(&field.id, row_id, content.to_string())
.await;
.await
}
pub(crate) async fn update_single_select_cell(&mut self, row_id: RowId, option_id: &str) {
pub(crate) async fn update_single_select_cell(
&mut self,
row_id: RowId,
option_id: &str,
) -> FlowyResult<()> {
let field = self
.editor
.get_fields(&self.view_id, None)
@ -216,7 +221,7 @@ impl DatabaseEditorTest {
.clone();
let cell_changeset = SelectOptionCellChangeset::from_insert_option_id(option_id);
self.update_cell(&field.id, row_id, cell_changeset).await;
self.update_cell(&field.id, row_id, cell_changeset).await
}
}
@ -253,12 +258,18 @@ impl TestRowBuilder {
number_field.id.clone()
}
pub fn insert_date_cell(&mut self, data: &str) -> String {
pub fn insert_date_cell(
&mut self,
data: &str,
time: Option<String>,
include_time: Option<bool>,
timezone_id: Option<String>,
) -> String {
let value = serde_json::to_string(&DateCellChangeset {
date: Some(data.to_string()),
time: None,
include_time: Some(false),
timezone_id: None,
time,
include_time,
timezone_id,
})
.unwrap();
let date_field = self.field_with_type(&FieldType::DateTime);

View File

@ -131,12 +131,12 @@ impl DatabaseFilterTest {
FilterScript::UpdateTextCell { row_id, text, changed} => {
self.recv = Some(self.editor.subscribe_view_changed(&self.view_id()).await.unwrap());
self.assert_future_changed(changed).await;
self.update_text_cell(row_id, &text).await;
self.update_text_cell(row_id, &text).await.unwrap();
}
FilterScript::UpdateSingleSelectCell { row_id, option_id, changed} => {
self.recv = Some(self.editor.subscribe_view_changed(&self.view_id()).await.unwrap());
self.assert_future_changed(changed).await;
self.update_single_select_cell(row_id, &option_id).await;
self.update_single_select_cell(row_id, &option_id).await.unwrap();
}
FilterScript::InsertFilter { payload } => {
self.recv = Some(self.editor.subscribe_view_changed(&self.view_id()).await.unwrap());

View File

@ -183,7 +183,8 @@ impl DatabaseGroupTest {
self
.editor
.update_cell(&self.view_id, row_id, &field_id, cell)
.await;
.await
.unwrap();
},
GroupScript::UpdateGroupedCellWithData {
from_group_index,
@ -205,7 +206,8 @@ impl DatabaseGroupTest {
self
.editor
.update_cell(&self.view_id, row_id, &field_id, cell)
.await;
.await
.unwrap();
},
GroupScript::MoveGroup {
from_group_index,

View File

@ -119,7 +119,12 @@ pub fn make_test_board() -> DatabaseData {
FieldType::RichText => row_builder.insert_text_cell("A"),
FieldType::Number => row_builder.insert_number_cell("1"),
// 1647251762 => Mar 14,2022
FieldType::DateTime => row_builder.insert_date_cell("1647251762"),
FieldType::DateTime => row_builder.insert_date_cell(
"1647251762",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::SingleSelect => {
row_builder.insert_single_select_cell(|mut options| options.remove(0))
},
@ -137,7 +142,12 @@ pub fn make_test_board() -> DatabaseData {
FieldType::RichText => row_builder.insert_text_cell("B"),
FieldType::Number => row_builder.insert_number_cell("2"),
// 1647251762 => Mar 14,2022
FieldType::DateTime => row_builder.insert_date_cell("1647251762"),
FieldType::DateTime => row_builder.insert_date_cell(
"1647251762",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::SingleSelect => {
row_builder.insert_single_select_cell(|mut options| options.remove(0))
},
@ -154,7 +164,12 @@ pub fn make_test_board() -> DatabaseData {
FieldType::RichText => row_builder.insert_text_cell("C"),
FieldType::Number => row_builder.insert_number_cell("3"),
// 1647251762 => Mar 14,2022
FieldType::DateTime => row_builder.insert_date_cell("1647251762"),
FieldType::DateTime => row_builder.insert_date_cell(
"1647251762",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::SingleSelect => {
row_builder.insert_single_select_cell(|mut options| options.remove(1))
},
@ -174,7 +189,12 @@ pub fn make_test_board() -> DatabaseData {
match field_type {
FieldType::RichText => row_builder.insert_text_cell("DA"),
FieldType::Number => row_builder.insert_number_cell("4"),
FieldType::DateTime => row_builder.insert_date_cell("1668704685"),
FieldType::DateTime => row_builder.insert_date_cell(
"1668704685",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::SingleSelect => {
row_builder.insert_single_select_cell(|mut options| options.remove(1))
},
@ -189,7 +209,12 @@ pub fn make_test_board() -> DatabaseData {
match field_type {
FieldType::RichText => row_builder.insert_text_cell("AE"),
FieldType::Number => row_builder.insert_number_cell(""),
FieldType::DateTime => row_builder.insert_date_cell("1668359085"),
FieldType::DateTime => row_builder.insert_date_cell(
"1668359085",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::SingleSelect => {
row_builder.insert_single_select_cell(|mut options| options.remove(2))
},

View File

@ -46,7 +46,12 @@ pub fn make_test_calendar() -> DatabaseData {
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"),
FieldType::DateTime => row_builder.insert_date_cell(
"1678090778",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
_ => "".to_owned(),
};
}
@ -55,7 +60,12 @@ pub fn make_test_calendar() -> DatabaseData {
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"),
FieldType::DateTime => row_builder.insert_date_cell(
"1677917978",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
_ => "".to_owned(),
};
}
@ -64,7 +74,12 @@ pub fn make_test_calendar() -> DatabaseData {
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"),
FieldType::DateTime => row_builder.insert_date_cell(
"1679213978",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
_ => "".to_owned(),
};
}
@ -73,7 +88,12 @@ pub fn make_test_calendar() -> DatabaseData {
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"),
FieldType::DateTime => row_builder.insert_date_cell(
"1678695578",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
_ => "".to_owned(),
};
}
@ -82,7 +102,12 @@ pub fn make_test_calendar() -> DatabaseData {
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"),
FieldType::DateTime => row_builder.insert_date_cell(
"1678695578",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
_ => "".to_owned(),
};
}

View File

@ -118,7 +118,12 @@ pub fn make_test_grid() -> DatabaseData {
match field_type {
FieldType::RichText => row_builder.insert_text_cell("A"),
FieldType::Number => row_builder.insert_number_cell("1"),
FieldType::DateTime => row_builder.insert_date_cell("1647251762"),
FieldType::DateTime => row_builder.insert_date_cell(
"1647251762",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::MultiSelect => row_builder
.insert_multi_select_cell(|mut options| vec![options.remove(0), options.remove(0)]),
FieldType::Checklist => row_builder.insert_checklist_cell(|options| options),
@ -135,7 +140,12 @@ pub fn make_test_grid() -> DatabaseData {
match field_type {
FieldType::RichText => row_builder.insert_text_cell(""),
FieldType::Number => row_builder.insert_number_cell("2"),
FieldType::DateTime => row_builder.insert_date_cell("1647251762"),
FieldType::DateTime => row_builder.insert_date_cell(
"1647251762",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::MultiSelect => row_builder
.insert_multi_select_cell(|mut options| vec![options.remove(0), options.remove(1)]),
FieldType::Checkbox => row_builder.insert_checkbox_cell("true"),
@ -148,7 +158,12 @@ pub fn make_test_grid() -> DatabaseData {
match field_type {
FieldType::RichText => row_builder.insert_text_cell("C"),
FieldType::Number => row_builder.insert_number_cell("3"),
FieldType::DateTime => row_builder.insert_date_cell("1647251762"),
FieldType::DateTime => row_builder.insert_date_cell(
"1647251762",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::SingleSelect => {
row_builder.insert_single_select_cell(|mut options| options.remove(0))
},
@ -165,7 +180,12 @@ pub fn make_test_grid() -> DatabaseData {
match field_type {
FieldType::RichText => row_builder.insert_text_cell("DA"),
FieldType::Number => row_builder.insert_number_cell("4"),
FieldType::DateTime => row_builder.insert_date_cell("1668704685"),
FieldType::DateTime => row_builder.insert_date_cell(
"1668704685",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::SingleSelect => {
row_builder.insert_single_select_cell(|mut options| options.remove(0))
},
@ -179,7 +199,12 @@ pub fn make_test_grid() -> DatabaseData {
match field_type {
FieldType::RichText => row_builder.insert_text_cell("AE"),
FieldType::Number => row_builder.insert_number_cell(""),
FieldType::DateTime => row_builder.insert_date_cell("1668359085"),
FieldType::DateTime => row_builder.insert_date_cell(
"1668359085",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::SingleSelect => {
row_builder.insert_single_select_cell(|mut options| options.remove(1))
},
@ -194,7 +219,12 @@ pub fn make_test_grid() -> DatabaseData {
match field_type {
FieldType::RichText => row_builder.insert_text_cell("AE"),
FieldType::Number => row_builder.insert_number_cell("5"),
FieldType::DateTime => row_builder.insert_date_cell("1671938394"),
FieldType::DateTime => row_builder.insert_date_cell(
"1671938394",
None,
None,
Some(chrono_tz::Tz::Etc__GMTPlus8.to_string()),
),
FieldType::SingleSelect => {
row_builder.insert_single_select_cell(|mut options| options.remove(1))
},

View File

@ -126,7 +126,7 @@ impl DatabaseSortTest {
.await
.unwrap(),
);
self.update_text_cell(row_id, &text).await;
self.update_text_cell(row_id, &text).await.unwrap();
},
SortScript::AssertSortChanged {
new_row_orders,

View File

@ -184,7 +184,7 @@ async fn sort_date_by_descending_test() {
"2022/03/14",
"2022/11/17",
"2022/11/13",
"2022/12/25",
"2022/12/24",
],
},
InsertSort {
@ -194,7 +194,7 @@ async fn sort_date_by_descending_test() {
AssertCellContentOrder {
field_id: date_field.id.clone(),
orders: vec![
"2022/12/25",
"2022/12/24",
"2022/11/17",
"2022/11/13",
"2022/03/14",