### OOBE * Quit PowerToys * Delete %localappdata%\Microsoft\PowerToys - [x] Start PowerToys and verify OOBE opens * Visit each OOBE section and for each section: - [x] open the Settings for that module - [x] verify the Settings work as expected (toggle some controls on/off etc.) - [x] close the Settings - [x] if it's available, test the `Launch module name` button * Close OOBE - [x] Open the Settings and from the General page open OOBE using the `Welcome to PowerToys` link ## Install tests * install a **previous version** on a clean machine (a clean machine doesn't have the `%localappdata%\Microsoft\PowerToys` folder) * open the Settings and for each module change at least one option * open the FancyZones editor and create two custom layouts: * a canvas layout with 2 zones, use unicode chars in the layout's name * one from grid template using 4 zones and splitting one zone * apply the custom canvas layout to the primary desktop * create a virtual desktop and apply the custom grid layout * if you have a second monitor apply different templates layouts for the primary desktop and for the second virtual desktop * install the new version (it will uninstall the old version and install the new version) - [x] verify the settings are preserved and FancyZones configuration is still the same ## Functional tests Regressions: - [x] https://github.com/microsoft/PowerToys/issues/1414#issuecomment-593529038 - [x] https://github.com/microsoft/PowerToys/issues/1524 ## General Settings **Admin mode:** - [x] restart PT and verify it runs as user - [x] restart as admin and set "Always run as admin" - [x] restart PT and verify it runs as admin * if it's not on, turn on "Run at startup" - [x] reboot the machine and verify PT runs as admin (it should not prompt the UAC dialog) * turn Always run as admin" off - [x] reboot the machine and verify it now runs as user **Modules on/off:** - [x] turn off all the modules and verify all module are off - [x] restart PT and verify that all module are still off in the settings page and they are actually inactive - [x] turn on all the module, all module are now working - [x] restart PT and verify that all module are still on in the settings page and they are actually working ## FancyZones Editor - [x] Open editor from the settings - [x] Open editor with a shortcut - [x] Create a new layout (grid and canvas) - [x] Duplicate a template and a custom layout - [x] Delete layout - [x] Edit templates (number of zones, spacing, distance to highlight adjacent zones). Verify after reopening the editor that saved settings are kept the same. - [x] Edit canvas layout: zones size and position, create or delete zones. - [x] Edit grid layout: split, merge, resize zones. - [x] Check `Save and apply` and `Cancel` buttons behavior after editing. - [x] Assign a layout to each monitor. - [x] Assign keys to quickly switch layouts (custom layouts only), `Win + Ctrl + Alt + number`. ## FancyZones - [x] Switch between `Allow zones to span across monitors` on and off. Verify that layouts are applied correctly in both cases. - [x] Change zone colors and opacity. - [x] Exclude some apps, verify that they're not applicable to a zone. - [x] Launch PT in user mode, try to assign a window with administrator privileges to a zone. Verify the notification is shown. - [x] Launch PT in administrator mode, assign a window with administrator privileges. - [x] Create virtual desktop, verify that there are the same layouts as applied to the previous virtual desktop. - [x] After creating a virtual desktop apply another layout or edit the applied one. Verify that the other virtual desktop layout wasn't changed. - [x] Delete an applied custom layout in the Editor, verify that there is no layout applied instead of it. * Switch between layouts with quick keys. - [x] Switch with `Win` + `Ctrl` + `Alt` + `key` - [x] Switch with just a key while dragging a window. * Change screen resolution or scaling. - [x] Assign grid layout, verify that the assigned layout fits the screen. NOTE: canvas layout could not fit the screen if it was created on a monitor with a different resolution. - [x] Disable FZ - [x] Re-enable FZ, verify that everything is in the same state as it was before disabling.