# Testplan This is the test plan that I follow for every release. I use it to ensure that no regression has been introduced. ## Step 1: Preparation - build and flash the firmware * Use the latest stable release for ESPHome (to make sure that my code builds and works with that release). In my clone I make sure that I checked out the master branch and that it's up-to-date with the origin. * Remove the cached framework package: `/bin/rm -fR ~/.platformio/packages/framework-arduinoespressif32` * Copy [`example.yaml`](../example.yaml) to a clean build directory, and update the first two sections for the local setup (substitutions, wifi, api, ota). * Use `esphome example.yaml compile` to build the code. * Upload this code to the lamp. ## Step 2: Perform the tests * Touch the power button --> the light must turn on. * Touch the power button again --> the light must turn off. * Touch the slider at any level --> the light must turn on, using the level at which the slider was touched as the brightness. The front panel illumination is turned on and shows the brightness level. * Touch the slider at various points and touch the slider while moving your finger up and down --> the brightness of the light and the brightness level on the front panel must follow the touches. * Touch and hold the power button --> the light must go into "night light" mode. This means that it will become very dim. The front panel illumination must be turned off. * Touch the slider at a random level --> the light must go back to its normal brightness levels and the front panel illumination must be turned on again. * Touch the color button a few times in a row --> the light must loop through the various preset light colors. * Touch and hold the color button --> the light must switch to a different preset group. There are two groups: one with rgb colors and one with white light colors, and holding the color button will switch between these two. * Touch the color button to select a light color, long touch it to switch to the other preset group, then long touch again to switch the preset group again -> the lamp must remember what light colors were active within the preset groups. If the red preset was selected, you switch to the white light group, select a different white preset and then go back to the rgb presets, then the light must become red again. * Go to Home Assistant and check: * if you can turn on/off the lamp * if you can select colors from the RGB color model * if you can select colors from the Color Temperature model * if you can set the brightness of the lamp * if selecting the lowest possible brightness results in the lamp switching to "night light" mode * if a transition from off to on with a long transition time works (e.g. 10s) * if a transition from on to off with a long transition time works * if a transition from night light to some bright light (e.g. 10s) can be interrupted by a transition back to night light (e.g. after 5 seconds), resulting in a transition back (not an instant drop to night light) ## Step 3: Release the new version Only after performing these tests successfully, the new version can be released. Before release, check if the minimum version requirement for ESPHome is documented correctly in the following files: * doc/installation.md * README.md * CHANGELOG.md