test: add args column test

Adding a testcase for a bug I noticed on another branch

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2024-11-13 10:15:02 -08:00
parent 19d790fce0
commit 804a7f0bf9

View File

@@ -247,3 +247,61 @@ impl ArgColumn {
}
}
}
#[cfg(test)]
mod tests {
use crate::{
app::Damus,
result::Result,
storage::{delete_file, write_file, Directory},
Error,
};
use std::path::{Path, PathBuf};
fn create_tmp_dir() -> PathBuf {
tempfile::TempDir::new()
.expect("tmp path")
.path()
.to_path_buf()
}
fn rmrf(path: impl AsRef<Path>) {
std::fs::remove_dir_all(path);
}
#[tokio::test]
async fn test_column_args() {
let tmpdir = create_tmp_dir();
let npub = "npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s";
let args = vec![
"--no-keystore",
"--pub",
npub,
"-c",
"notifications",
"-c",
"contacts",
]
.iter()
.map(|s| s.to_string())
.collect();
let ctx = egui::Context::default();
let app = Damus::new(&ctx, &tmpdir, args);
assert_eq!(app.columns.columns().len(), 2);
let tl1 = app.columns.column(0).router().top().timeline_id();
let tl2 = app.columns.column(1).router().top().timeline_id();
assert_eq!(tl1.is_some(), true);
assert_eq!(tl2.is_some(), true);
let timelines = app.columns.timelines();
assert!(timelines[0].kind.is_notifications());
assert!(timelines[1].kind.is_contacts());
rmrf(tmpdir);
}
}