This avoids some code duplication as well as adding some missing fields. We also use check_dict_only to prevent folks from adding new fields to the relevant events without updating these tests. (A bigger sweep comes later.)