Initial public release of Warp.
Repo-Sync-Origin: warpdotdev/warp-internal@12af1d983b
This commit is contained in:
@@ -0,0 +1,165 @@
|
||||
use crate::settings::init_and_register_user_preferences;
|
||||
|
||||
use super::*;
|
||||
use settings::manager::SettingsManager;
|
||||
|
||||
#[test]
|
||||
fn test_set_aliases() {
|
||||
let workflow_1: SyncId = SyncId::ServerId(1.into());
|
||||
let workflow_2: SyncId = SyncId::ServerId(2.into());
|
||||
let alias_1: WorkflowAlias = WorkflowAlias {
|
||||
alias: "alias1".to_string(),
|
||||
workflow_id: workflow_1,
|
||||
arguments: None,
|
||||
env_vars: None,
|
||||
};
|
||||
let alias_2: WorkflowAlias = WorkflowAlias {
|
||||
alias: "alias2".to_string(),
|
||||
workflow_id: workflow_1,
|
||||
arguments: None,
|
||||
env_vars: None,
|
||||
};
|
||||
let alias_3: WorkflowAlias = WorkflowAlias {
|
||||
alias: "alias3".to_string(),
|
||||
workflow_id: workflow_2,
|
||||
arguments: None,
|
||||
env_vars: None,
|
||||
};
|
||||
|
||||
warpui::App::test((), |mut app| async move {
|
||||
app.update(init_and_register_user_preferences);
|
||||
app.add_singleton_model(|_| SettingsManager::default());
|
||||
|
||||
WorkflowAliases::register(&mut app);
|
||||
|
||||
app.update(|app| {
|
||||
let aliases = WorkflowAliases::as_ref(app).get_all_aliases();
|
||||
assert_eq!(0, aliases.len());
|
||||
});
|
||||
|
||||
app.update(|app| {
|
||||
WorkflowAliases::handle(app).update(app, |aliases, ctx| {
|
||||
let _ = aliases.set_aliases(vec![alias_1.clone(), alias_2.clone()], ctx);
|
||||
});
|
||||
let aliases = WorkflowAliases::as_ref(app).get_all_aliases();
|
||||
assert_eq!(2, aliases.len());
|
||||
});
|
||||
|
||||
app.update(|app| {
|
||||
WorkflowAliases::handle(app).update(app, |aliases, ctx| {
|
||||
let _ = aliases.set_aliases(vec![alias_3.clone()], ctx);
|
||||
});
|
||||
assert_eq!(WorkflowAliases::as_ref(app).get_all_aliases().len(), 3);
|
||||
assert_eq!(
|
||||
WorkflowAliases::as_ref(app)
|
||||
.get_aliases_for_workflow(workflow_1)
|
||||
.len(),
|
||||
2
|
||||
);
|
||||
assert_eq!(
|
||||
WorkflowAliases::as_ref(app)
|
||||
.get_aliases_for_workflow(workflow_2)
|
||||
.len(),
|
||||
1
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_set_aliases_replacement() {
|
||||
// Test that replacing aliases works correctly.
|
||||
let workflow_1: SyncId = SyncId::ServerId(1.into());
|
||||
let alias_1: WorkflowAlias = WorkflowAlias {
|
||||
alias: "alias1".to_string(),
|
||||
workflow_id: workflow_1,
|
||||
arguments: None,
|
||||
env_vars: None,
|
||||
};
|
||||
|
||||
warpui::App::test((), |mut app| async move {
|
||||
app.update(init_and_register_user_preferences);
|
||||
app.add_singleton_model(|_| SettingsManager::default());
|
||||
|
||||
WorkflowAliases::register(&mut app);
|
||||
|
||||
app.update(|app| {
|
||||
let aliases = WorkflowAliases::as_ref(app).get_all_aliases();
|
||||
assert_eq!(0, aliases.len());
|
||||
});
|
||||
|
||||
app.update(|app| {
|
||||
WorkflowAliases::handle(app).update(app, |aliases, ctx| {
|
||||
let _ = aliases.set_aliases(vec![alias_1.clone()], ctx);
|
||||
});
|
||||
let aliases = WorkflowAliases::as_ref(app).get_all_aliases();
|
||||
assert_eq!(1, aliases.len());
|
||||
});
|
||||
|
||||
app.update(|app| {
|
||||
WorkflowAliases::handle(app).update(app, |aliases, ctx| {
|
||||
let _ = aliases.set_aliases(vec![alias_1.clone()], ctx);
|
||||
});
|
||||
assert_eq!(WorkflowAliases::as_ref(app).get_all_aliases().len(), 1);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_remove_aliases() {
|
||||
let workflow_1: SyncId = SyncId::ServerId(1.into());
|
||||
let workflow_2: SyncId = SyncId::ServerId(2.into());
|
||||
let alias_1: WorkflowAlias = WorkflowAlias {
|
||||
alias: "alias1".to_string(),
|
||||
workflow_id: workflow_1,
|
||||
arguments: None,
|
||||
env_vars: None,
|
||||
};
|
||||
let alias_2: WorkflowAlias = WorkflowAlias {
|
||||
alias: "alias2".to_string(),
|
||||
workflow_id: workflow_1,
|
||||
arguments: None,
|
||||
env_vars: None,
|
||||
};
|
||||
let alias_3: WorkflowAlias = WorkflowAlias {
|
||||
alias: "alias3".to_string(),
|
||||
workflow_id: workflow_2,
|
||||
arguments: None,
|
||||
env_vars: None,
|
||||
};
|
||||
|
||||
warpui::App::test((), |mut app| async move {
|
||||
app.update(init_and_register_user_preferences);
|
||||
app.add_singleton_model(|_| SettingsManager::default());
|
||||
|
||||
WorkflowAliases::register(&mut app);
|
||||
|
||||
app.update(|app| {
|
||||
WorkflowAliases::handle(app).update(app, |aliases, ctx| {
|
||||
let _ = aliases
|
||||
.set_aliases(vec![alias_1.clone(), alias_2.clone(), alias_3.clone()], ctx);
|
||||
});
|
||||
let aliases = WorkflowAliases::as_ref(app).get_all_aliases();
|
||||
assert_eq!(3, aliases.len());
|
||||
});
|
||||
|
||||
app.update(|app| {
|
||||
WorkflowAliases::handle(app).update(app, |aliases, ctx| {
|
||||
let _ = aliases.remove_aliases(vec![alias_3.alias.clone()], ctx);
|
||||
});
|
||||
assert_eq!(WorkflowAliases::as_ref(app).get_all_aliases().len(), 2);
|
||||
assert_eq!(
|
||||
WorkflowAliases::as_ref(app)
|
||||
.get_aliases_for_workflow(workflow_1)
|
||||
.len(),
|
||||
2
|
||||
);
|
||||
assert_eq!(
|
||||
WorkflowAliases::as_ref(app)
|
||||
.get_aliases_for_workflow(workflow_2)
|
||||
.len(),
|
||||
0
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user