mirror of
https://github.com/larksuite/cli.git
synced 2026-07-03 22:24:31 +08:00
6.4 KiB
6.4 KiB
Calendar CLI E2E Coverage
Metrics
- Denominator: 23 leaf commands
- Covered: 12
- Coverage: 52.2%
Summary
- TestCalendar_ViewAgenda: proves the user shortcut
calendar +agenda; keyt.Run(...)proof points areview today agenda as user,view agenda with date range as user, andview agenda with pretty format as user. - TestCalendar_PersonalEventWorkflowAsUser: proves a self-contained user event workflow across
calendar calendars primary,calendar +create,calendar events get, andcalendar +agenda; keyt.Run(...)proof points areget primary calendar as user,create personal event with shortcut as user,get created event as user, andfind created event in agenda as user. - TestCalendar_RSVPWorkflowAsUser: proves the user shortcuts
calendar +freebusyandcalendar +rsvp; keyt.Run(...)proof points arequery freebusy as user,reply tentative as user,verify tentative freebusy as user,reply accept as user, andverify accepted freebusy as user. - TestCalendar_CreateEvent: proves
calendar +create,calendar events get, andcalendar events delete; keyt.Run(...)proof points arecreate event with shortcut as bot,verify event created as bot, anddelete event as bot. - TestCalendar_ManageCalendar: proves
calendar calendars primary,calendar calendars create,calendar calendars get,calendar calendars list, andcalendar calendars patch; keyt.Run(...)proof points areget primary calendar as bot,create calendar as bot,get created calendar as bot,find created calendar in list as bot, andupdate calendar as bot. - Cleanup note:
calendar calendars deleteis part of the calendar lifecycle workflow and is counted as covered because the workflow proves the full shared-calendar lifecycle. - Blocked area: direct
event.attendees *APIs,calendar calendars search,calendar events create|instance_view|patch|search,calendar freebusys list, and planning shortcutscalendar +room-find/calendar +suggestionstill need deterministic workflows; the planning shortcuts currently depend on live tenant availability and room inventory, so they remain uncovered.
Command Table
| Status | Cmd | Type | Testcase | Key parameter shapes | Notes / uncovered reason |
|---|---|---|---|---|---|
| ✓ | calendar +agenda | shortcut | calendar_view_agenda_test.go::TestCalendar_ViewAgenda; calendar_personal_event_workflow_test.go::TestCalendar_PersonalEventWorkflowAsUser/find created event in agenda as user | default today; --start; --end; --format pretty |
user identity readback plus general agenda view |
| ✓ | calendar +create | shortcut | calendar_create_event_test.go::TestCalendar_CreateEvent/create event with shortcut as bot; calendar_personal_event_workflow_test.go::TestCalendar_PersonalEventWorkflowAsUser/create personal event with shortcut as user | --summary; --start; --end; --calendar-id; --description |
bot and user workflow coverage |
| ✓ | calendar +freebusy | shortcut | calendar_rsvp_workflow_test.go::TestCalendar_RSVPWorkflowAsUser/query freebusy as user; calendar_rsvp_workflow_test.go::TestCalendar_RSVPWorkflowAsUser/verify tentative freebusy as user; calendar_rsvp_workflow_test.go::TestCalendar_RSVPWorkflowAsUser/verify accepted freebusy as user | default current user; --start; --end |
user identity flow |
| ✕ | calendar +room-find | shortcut | none | no deterministic self-contained workflow yet; output depends on live room inventory | |
| ✓ | calendar +rsvp | shortcut | calendar_rsvp_workflow_test.go::TestCalendar_RSVPWorkflowAsUser/reply tentative as user; calendar_rsvp_workflow_test.go::TestCalendar_RSVPWorkflowAsUser/reply accept as user | --calendar-id; --event-id; --rsvp-status |
user reply flow |
| ✕ | calendar +suggestion | shortcut | none | no deterministic self-contained workflow yet; output depends on live availability suggestions | |
| ✓ | calendar calendars create | api | calendar_manage_calendar_test.go::TestCalendar_ManageCalendar/create calendar as bot | summary; description in --data |
|
| ✓ | calendar calendars delete | api | calendar_manage_calendar_test.go::TestCalendar_ManageCalendar/delete calendar as bot | calendar_id in --params |
|
| ✓ | calendar calendars get | api | calendar_manage_calendar_test.go::TestCalendar_ManageCalendar/get created calendar as bot; calendar_manage_calendar_test.go::TestCalendar_ManageCalendar/verify updated calendar as bot | calendar_id in --params |
|
| ✓ | calendar calendars list | api | calendar_manage_calendar_test.go::TestCalendar_ManageCalendar/list calendars as bot; calendar_manage_calendar_test.go::TestCalendar_ManageCalendar/find created calendar in list as bot | none | |
| ✓ | calendar calendars patch | api | calendar_manage_calendar_test.go::TestCalendar_ManageCalendar/update calendar as bot | calendar_id in --params; summary in --data |
|
| ✓ | calendar calendars primary | api | calendar_manage_calendar_test.go::TestCalendar_ManageCalendar/get primary calendar as bot; calendar_personal_event_workflow_test.go::TestCalendar_PersonalEventWorkflowAsUser/get primary calendar as user | none | bot and user primary calendar lookup |
| ✕ | calendar calendars search | api | none | no search workflow yet | |
| ✕ | calendar events create | api | none | only covered indirectly through calendar +create |
|
| ✓ | calendar events delete | api | calendar_create_event_test.go::TestCalendar_CreateEvent/delete event as bot | calendar_id; event_id in --params |
|
| ✓ | calendar events get | api | calendar_create_event_test.go::TestCalendar_CreateEvent/verify event created as bot; calendar_personal_event_workflow_test.go::TestCalendar_PersonalEventWorkflowAsUser/get created event as user | calendar_id; event_id in --params |
bot and user read-after-write coverage |
| ✕ | calendar events instance_view | api | none | +agenda is indirect orchestration, not direct API coverage |
|
| ✕ | calendar events patch | api | none | no direct event-update workflow yet | |
| ✕ | calendar events search | api | none | no search workflow yet | |
| ✕ | calendar freebusys list | api | none | no direct freebusy API workflow yet | |
| ✕ | calendar event.attendees batch_delete | api | none | requires an isolated attendee lifecycle workflow | |
| ✕ | calendar event.attendees create | api | none | requires an isolated attendee lifecycle workflow | |
| ✕ | calendar event.attendees list | api | none | requires an isolated attendee lifecycle workflow |