Description
While working on importing sytests, i found myself ctrl-shift-f
-ing on keywords to see what tests already existed to see if a sytest would fit that file, however, I think that this displays some poor test discoverability.
However, when i was documenting some sytests (and their behaviour), i came upon something like the following format;
sytest:
- name: "Non-present room members cannot ban others"
type:
- power_level
- ban
desc:
When a user does not exist in a room, but has powerlevels there, it should not be able to ban users.
variants:
- user has never entered the room
- user has left the room
- user has been kicked while ban is sent out
- user server has been ACL-d
- name: "New federated private chats get full presence information (SYN-115)"
# ...
I think it would be useful to programmatically document (and maybe link) these tests, so that a quick glance can see which ones exist, what it does, what variants of behaviour it's also testing, and also in which "areas" of testing matrix it exists.
For a final variant of above schema, i think adding a path
(something like tests/csapi/rooms_state_test.go:TestRoomCreationReportsEventsToMyself
) would help auto-identify the corresponding function.