use chute_kun::app::App;
use chute_kun::task::TaskState;
use crossterm::event::KeyCode;
#[test]
fn bring_moves_selected_from_future_to_today_and_updates_selection() {
let mut app = App::new();
app.add_task("A", 10);
app.add_task("B", 20);
app.handle_key(KeyCode::Char('p'));
assert_eq!(app.tomorrow_tasks().len(), 1);
assert_eq!(app.tomorrow_tasks()[0].title, "A");
app.handle_key(KeyCode::Tab); app.handle_key(KeyCode::Char('b'));
assert_eq!(app.tomorrow_tasks().len(), 0);
assert_eq!(app.day.tasks.len(), 2);
assert_eq!(app.day.tasks[0].title, "B");
assert_eq!(app.day.tasks[1].title, "A");
assert_eq!(app.day.tasks[1].state, TaskState::Planned);
assert_eq!(app.selected_index(), 0);
}