---
title: Testing
description: Verify FullCalendar WebMCP tool discovery, event reads and mutations, UI refresh, and durable host persistence with a done-when checklist.
---

Use this checklist after the [Quickstart](/integrations/fullcalendar/quickstart) when you want a fuller smoke test. The [Quickstart → Verify](/integrations/fullcalendar/quickstart#verify) section is the canonical first-time path (Chrome flag → DevTools WebMCP panel → Run tool).

Before production, also review the [Security checklist](/integrations/fullcalendar/concepts/security#checklist).

## Done when (package integration)

These checks prove the package + repository wiring from the Quickstart. They do **not** require FullCalendar drag/resize handlers.

- [ ] Chrome WebMCP enabled (`chrome://flags/#enable-webmcp-testing`) and calendar loaded on `localhost`
- [ ] **Application → WebMCP → Available Tools** lists all six `calendar_*` tools
- [ ] Manual `calendar_get_context` matches the on-screen view and timezones
- [ ] Manual `calendar_list_events` matches visible events
- [ ] Manual `calendar_create_event` / `calendar_update_event` / `calendar_delete_event` update the UI without a manual refresh
- [ ] Hard reload keeps agent (tool) mutations — host persistence works

## Steps

Follow [Quickstart → Verify](/integrations/fullcalendar/quickstart#verify) for the canonical registration and smoke-test path. Then run create, update, and delete from DevTools and confirm:

- UI updates without manual refresh (`onEventsChanged`)
- Hard reload retains mutations
- `calendar_delete_event` returns `{ deleted: true, event }` with the pre-delete snapshot

## Optional: host human and agent convergence

FullCalendar WebMCP does **not** automatically persist drag, resize, or other FullCalendar UI edits. The Quickstart does not wire `eventDrop` / `eventResize`. Those handlers are **host** code.

If your app already persists human edits through the **same** repository (see [Existing app → Persist human edits](/integrations/fullcalendar/guides/existing-app#persist-human-edits)), optionally verify convergence:

1. Drag or resize a test event in the FullCalendar UI (your host handler must call `repository.update`).
2. In DevTools WebMCP, run `calendar_get_event` with that event’s id.
3. Confirm the tool returns the updated times.

If this fails but agent tools work, the package integration is still fine — wire human callbacks to the repository.

If a required step fails, use [Troubleshooting](/integrations/fullcalendar/troubleshooting).
