2025-04-21 12:03:01 +08:00

29 lines
722 B
Rust

use std::time::Duration;
use event_integration_test::EventIntegrationTest;
use flowy_user::{
entities::{RepeatedUserWorkspacePB, UserWorkspacePB},
protobuf::UserNotification,
};
use crate::util::receive_with_timeout;
pub async fn get_synced_workspaces(
test: &EventIntegrationTest,
user_id: i64,
) -> Vec<UserWorkspacePB> {
let workspaces = test.get_all_workspaces().await.items;
let sub_id = user_id.to_string();
let rx = test
.notification_sender
.subscribe::<RepeatedUserWorkspacePB>(
&sub_id,
UserNotification::DidUpdateUserWorkspaces as i32,
);
if let Some(result) = receive_with_timeout(rx, Duration::from_secs(10)).await {
result.items
} else {
workspaces
}
}