This is the test plan that I follow for every release. I use it to ensure that no regression has been introduced.
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 doc/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.
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:
Only after performing these tests successfully, the new version can be released.