use std::fs;
use crate::test_utils::*;
use anyhow::Result;
#[tokio::test]
async fn test_basic_ls() -> Result<()> {
let dir = tempfile::tempdir()?;
let dst_path_1 = dir.path().join("dst_1.txt");
let dst_path_2 = dir.path().join("dst_2.txt");
let dst_path_3 = dir.path().join("dst_3.txt");
let expect = "hello";
fs::write(&dst_path_1, expect)?;
fs::write(&dst_path_2, expect)?;
fs::write(&dst_path_3, expect)?;
let current_dir = dir.path().to_string_lossy().to_string() + "/";
let t = oli().arg("ls").arg(current_dir).assert().success();
let output = String::from_utf8(t.get_output().stdout.clone())?;
let mut output_list = output
.split("\n")
.filter(|x| !x.starts_with(".tmp") && !x.is_empty())
.collect::<Vec<_>>();
output_list.sort();
assert_eq!(output_list, ["dst_1.txt", "dst_2.txt", "dst_3.txt"]);
Ok(())
}