mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
chore: add a params
This commit is contained in:
parent
9c68983ff3
commit
e852d25ad8
@ -174,9 +174,15 @@ impl EventIntegrationTest {
|
|||||||
folder.get_folder_data(&workspace_id).clone().unwrap()
|
folder.get_folder_data(&workspace_id).clone().unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn get_publish_payload(&self, view_id: &str) -> Vec<PublishViewPayload> {
|
pub async fn get_publish_payload(
|
||||||
|
&self,
|
||||||
|
view_id: &str,
|
||||||
|
include_children: Option<bool>,
|
||||||
|
) -> Vec<PublishViewPayload> {
|
||||||
let manager = self.folder_manager.clone();
|
let manager = self.folder_manager.clone();
|
||||||
let payload = manager.get_batch_publish_payload(view_id, None).await;
|
let payload = manager
|
||||||
|
.get_batch_publish_payload(view_id, None, include_children)
|
||||||
|
.await;
|
||||||
|
|
||||||
if payload.is_err() {
|
if payload.is_err() {
|
||||||
panic!("Get publish payload failed")
|
panic!("Get publish payload failed")
|
||||||
|
@ -126,12 +126,12 @@ async fn single_document_get_publish_view_payload_test() {
|
|||||||
let name = "Orphan View";
|
let name = "Orphan View";
|
||||||
create_single_document(&test, view_id, name).await;
|
create_single_document(&test, view_id, name).await;
|
||||||
let view = test.get_view(view_id).await;
|
let view = test.get_view(view_id).await;
|
||||||
let payload = test.get_publish_payload(view_id).await;
|
let payload = test.get_publish_payload(view_id, Some(true)).await;
|
||||||
|
|
||||||
let expect_payload = mock_single_document_view_publish_payload(
|
let expect_payload = mock_single_document_view_publish_payload(
|
||||||
&test,
|
&test,
|
||||||
&view,
|
&view,
|
||||||
format!("{}_{}", "Orphan_View", view_id),
|
format!("{}-{}", "Orphan-View", view_id),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
@ -145,15 +145,48 @@ async fn nested_document_get_publish_view_payload_test() {
|
|||||||
let view_id = "20240521";
|
let view_id = "20240521";
|
||||||
create_nested_document(&test, view_id, name).await;
|
create_nested_document(&test, view_id, name).await;
|
||||||
let view = test.get_view(view_id).await;
|
let view = test.get_view(view_id).await;
|
||||||
let payload = test.get_publish_payload(view_id).await;
|
let payload = test.get_publish_payload(view_id, Some(true)).await;
|
||||||
|
|
||||||
let expect_payload = mock_nested_document_view_publish_payload(
|
let expect_payload = mock_nested_document_view_publish_payload(
|
||||||
&test,
|
&test,
|
||||||
&view,
|
&view,
|
||||||
format!("{}_{}", "Orphan_View", view_id),
|
format!("{}-{}", "Orphan-View", view_id),
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
assert_eq!(payload.len(), 2);
|
assert_eq!(payload.len(), 2);
|
||||||
assert_eq!(payload, expect_payload);
|
assert_eq!(payload, expect_payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
|
async fn no_children_publish_view_payload_test() {
|
||||||
|
let test = EventIntegrationTest::new_anon().await;
|
||||||
|
let name = "Orphan View";
|
||||||
|
let view_id = "20240521";
|
||||||
|
create_nested_document(&test, view_id, name).await;
|
||||||
|
let view = test.get_view(view_id).await;
|
||||||
|
let payload = test.get_publish_payload(view_id, Some(false)).await;
|
||||||
|
|
||||||
|
let data = mock_single_document_view_publish_payload(
|
||||||
|
&test,
|
||||||
|
&view,
|
||||||
|
format!("{}-{}", "Orphan-View", view_id),
|
||||||
|
)
|
||||||
|
.await
|
||||||
|
.iter()
|
||||||
|
.map(|p| p.data.clone())
|
||||||
|
.collect::<Vec<_>>();
|
||||||
|
let meta = mock_nested_document_view_publish_payload(
|
||||||
|
&test,
|
||||||
|
&view,
|
||||||
|
format!("{}-{}", "Orphan-View", view_id),
|
||||||
|
)
|
||||||
|
.await
|
||||||
|
.iter()
|
||||||
|
.map(|p| p.meta.clone())
|
||||||
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
|
assert_eq!(payload.len(), 1);
|
||||||
|
assert_eq!(&payload[0].data, &data[0]);
|
||||||
|
assert_eq!(&payload[0].meta, &meta[0]);
|
||||||
|
}
|
||||||
|
@ -3,7 +3,7 @@ use crate::entities::{
|
|||||||
view_pb_with_child_views, view_pb_without_child_views, view_pb_without_child_views_from_arc,
|
view_pb_with_child_views, view_pb_without_child_views, view_pb_without_child_views_from_arc,
|
||||||
CreateViewParams, CreateWorkspaceParams, DeletedViewPB, DuplicateViewParams, FolderSnapshotPB,
|
CreateViewParams, CreateWorkspaceParams, DeletedViewPB, DuplicateViewParams, FolderSnapshotPB,
|
||||||
MoveNestedViewParams, RepeatedTrashPB, RepeatedViewIdPB, RepeatedViewPB, UpdateViewParams,
|
MoveNestedViewParams, RepeatedTrashPB, RepeatedViewIdPB, RepeatedViewPB, UpdateViewParams,
|
||||||
ViewPB, ViewSectionPB, WorkspacePB, WorkspaceSettingPB, ViewLayoutPB
|
ViewLayoutPB, ViewPB, ViewSectionPB, WorkspacePB, WorkspaceSettingPB,
|
||||||
};
|
};
|
||||||
use crate::manager_observer::{
|
use crate::manager_observer::{
|
||||||
notify_child_views_changed, notify_did_update_workspace, notify_parent_view_did_change,
|
notify_child_views_changed, notify_did_update_workspace, notify_parent_view_did_change,
|
||||||
@ -23,7 +23,7 @@ use collab_entity::CollabType;
|
|||||||
use collab_folder::error::FolderError;
|
use collab_folder::error::FolderError;
|
||||||
use collab_folder::{
|
use collab_folder::{
|
||||||
Folder, FolderNotify, Section, SectionItem, TrashInfo, UserId, View, ViewLayout, ViewUpdate,
|
Folder, FolderNotify, Section, SectionItem, TrashInfo, UserId, View, ViewLayout, ViewUpdate,
|
||||||
Workspace
|
Workspace,
|
||||||
};
|
};
|
||||||
use collab_integrate::collab_builder::{AppFlowyCollabBuilder, CollabBuilderConfig};
|
use collab_integrate::collab_builder::{AppFlowyCollabBuilder, CollabBuilderConfig};
|
||||||
use collab_integrate::CollabKVDB;
|
use collab_integrate::CollabKVDB;
|
||||||
@ -959,7 +959,7 @@ impl FolderManager {
|
|||||||
|
|
||||||
// Get the view payload and its child views recursively
|
// Get the view payload and its child views recursively
|
||||||
let payload = self
|
let payload = self
|
||||||
.get_batch_publish_payload(view_id, publish_name)
|
.get_batch_publish_payload(view_id, publish_name, Some(false))
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
let workspace_id = self.user.workspace_id()?;
|
let workspace_id = self.user.workspace_id()?;
|
||||||
@ -1018,6 +1018,7 @@ impl FolderManager {
|
|||||||
&self,
|
&self,
|
||||||
view_id: &str,
|
view_id: &str,
|
||||||
publish_name: Option<String>,
|
publish_name: Option<String>,
|
||||||
|
include_children: Option<bool>,
|
||||||
) -> FlowyResult<Vec<PublishViewPayload>> {
|
) -> FlowyResult<Vec<PublishViewPayload>> {
|
||||||
let mut stack = vec![view_id.to_string()];
|
let mut stack = vec![view_id.to_string()];
|
||||||
let mut payloads = Vec::new();
|
let mut payloads = Vec::new();
|
||||||
@ -1050,9 +1051,11 @@ impl FolderManager {
|
|||||||
payloads.push(payload);
|
payloads.push(payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add the child views to the stack
|
if include_children.unwrap_or(false) {
|
||||||
for child in &view.child_views {
|
// Add the child views to the stack
|
||||||
stack.push(child.id.clone());
|
for child in &view.child_views {
|
||||||
|
stack.push(child.id.clone());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user