fn release_scratchpad_test() {
        let mut manager = Manager::new_test(vec!["AO".to_string(), "EU".to_string()]);
        manager.screen_create_handler(Default::default());

        // Setup
        let mock_window1 = 10_u32;
        let scratchpad_name: ScratchPadName = "Alacritty".into();
        manager
            .state
            .active_scratchpads
            .insert(scratchpad_name.clone(), VecDeque::from([mock_window1]));
        manager.window_created_handler(
            Window::new(
                WindowHandle::<MockHandle>(mock_window1 as i32),
                None,
                Some(mock_window1),
            ),
            -1,
            -1,
        );

        let expected_tag = manager.state.tags.get(1).unwrap().id;

        // Release Scratchpad
        manager.command_handler(&Command::ReleaseScratchPad {
            window: ReleaseScratchPadOption::Handle(WindowHandle::<MockHandle>(
                mock_window1 as i32,
            )),
            tag: Some(expected_tag),
        });

        // Assert
        assert!(!manager
            .state
            .active_scratchpads
            .contains_key(&scratchpad_name));
        assert_eq!(
            *manager.state.focus_manager.tag_history.front().unwrap(),
            expected_tag
        );
    }
Test release scratchpad command for 1 window in the scratchpad
After releasing, the scratchpad should not be active anymore (no more windows)
leftwm-core/src/handlers/command_handler/scratchpad_handler.rs