Open snobbee opened 1 week ago
@snobbee before you start on this task, please check in with the team. We may want to assign it to someone else.
It also sounds like the next step here is to run the code through AI and the settings as well, and then see what things can be changed. We may have a joint session for that. This also could be something Jure handles by himself if he takes this task.
Proposed tickets:
From "easy" things these might make some sense:
The proper way, however, is a multi-layered test approach:
Integration tests are the most useful, but also the most difficult to implement since they require connections to external live/production systems (i.e. Twitter, OpenAI, etc.) In some cases we might be able to mock them (e.g. Postman or similar), but it depends on each case separately.
The best way to start writing tests would be to focus on "core" module, and use mock components/plugins for everything else. As for plugins, each would ideally have a dedicated maintainer who would be in charge of its changes, releases and testing. This would relieve the bottleneck on a single maintainer and make it possible to scale the development.
My proposal for how we might do a minimal viable product:
Overall we want to improve the code quality of the PRs and reduce the manual labor required to verify it, the ticket intents to identify additional improvement that can be done in the CI/CD that would add additional checks to the new PRs so that we make sure we are not breaking any functionality, code quality is aligned, and that proper testing are part of the changes as well.