| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | use crate::helper::*;use flowy_workspace::{    entities::workspace::{CreateWorkspaceRequest, QueryWorkspaceRequest, Workspace, Workspaces},    event::WorkspaceEvent::*,    prelude::*,};#[test]fn workspace_create_success() { let _ = create_workspace("First workspace", ""); }#[test]fn workspace_get_success() {    let workspace = SingleUserTestBuilder::new()        .event(ReadCurWorkspace)        .sync_send()        .parse::<Workspace>();    dbg!(&workspace);}#[test]fn workspace_read_all_success() {    let workspaces = SingleUserTestBuilder::new()        .event(ReadAllWorkspace)        .sync_send()        .parse::<Workspaces>();    dbg!(&workspaces);}#[test]fn workspace_create_and_then_get_workspace_success() {    let workspace = create_workspace(        "Workspace A",        "workspace_create_and_then_get_workspace_success",    );    let request = QueryWorkspaceRequest {        workspace_id: workspace.id.clone(),        read_apps: false,    };    let workspace_from_db = read_workspace(request);    assert_eq!(workspace.name, workspace_from_db.name);}#[test]fn workspace_create_with_apps_success() {    let app = create_app("App A", "");    let query_workspace_request = QueryWorkspaceRequest {        workspace_id: app.workspace_id.clone(),        read_apps: true,    };    let workspace_from_db = read_workspace(query_workspace_request);    assert_eq!(&app, workspace_from_db.apps.first_or_crash());}#[test]fn workspace_create_with_invalid_name_test() {    for name in invalid_workspace_name_test_case() {        let request = CreateWorkspaceRequest {            name,            desc: "".to_owned(),        };        assert_eq!(            SingleUserTestBuilder::new()                .event(CreateWorkspace)                .request(request)                .sync_send()                .error()                .code,            WsErrCode::WorkspaceNameInvalid        )    }}#[test]fn workspace_update_with_invalid_name_test() {    for name in invalid_workspace_name_test_case() {        let request = CreateWorkspaceRequest {            name,            desc: "".to_owned(),        };        assert_eq!(            SingleUserTestBuilder::new()                .event(CreateWorkspace)                .request(request)                .sync_send()                .error()                .code,            WsErrCode::WorkspaceNameInvalid        )    }}// TODO 1) delete workspace, but can't delete the last workspace
 |