Chart Tools — QA Test Cases¶
Source: src/mcp_gee_sweet/tools/charts.py
Fixtures: see docs/qa/setup.md. Substitute your {SPREADSHEET_ID} from fixtures.local.md.
All chart tests use the Sales sheet (A1:D6) as the data range. Charts are additive — they don't mutate cell data — so fixture reset is generally not needed. However, added charts accumulate on the sheet across test runs.
add_chart¶
TC-C01: COLUMN chart¶
Prompt
"Add a column chart to the Sales sheet of {SPREADSHEET_ID} using data range A1:D5 with title 'Sales by Quarter'"
Checks
- Chart appears on the Sales sheet
- Response includes a chartId
- Chart type is COLUMN
TC-C02: BAR chart¶
Prompt
"Add a bar chart to the Sales sheet of {SPREADSHEET_ID} using data range A1:D5"
Checks
- Chart added with BAR type
- Response includes chartId
TC-C03: LINE chart¶
Prompt
"Add a line chart to the Sales sheet of {SPREADSHEET_ID} using range A1:D5"
Checks
- LINE chart added
- Response includes chartId
TC-C04: AREA chart¶
Prompt
"Add an area chart to the Sales sheet of {SPREADSHEET_ID} using range A1:D5"
Checks
- AREA chart added
- Response includes chartId
TC-C05: PIE chart¶
Prompt
"Add a pie chart to the Sales sheet of {SPREADSHEET_ID} using range A1:B5 (Product and Q1 columns only)"
Checks
- PIE chart added
- Response includes chartId
- Pie chart code path taken (no axis/domain/series splitting)
TC-C06: SCATTER chart¶
Prompt
"Add a scatter chart to the Sales sheet of {SPREADSHEET_ID} using range B1:C5"
Checks
- SCATTER chart added
- Response includes chartId
TC-C07: COMBO chart¶
Prompt
"Add a combo chart to the Sales sheet of {SPREADSHEET_ID} using range A1:D5"
Checks
- COMBO chart added
- Response includes chartId
TC-C08: HISTOGRAM chart¶
Prompt
"Add a histogram chart to the Sales sheet of {SPREADSHEET_ID} using range B2:B5 (Q1 values)"
Checks
- HISTOGRAM chart added
- Response includes chartId
TC-C09: Invalid chart type¶
Prompt
"Add a 'DONUT' chart to the Sales sheet of {SPREADSHEET_ID}"
Checks
- Returns {"error": ...} before calling the API
- Error message references the invalid chart type
- No API call made
TC-C10: Lowercase chart type input¶
Prompt
"Add a 'column' chart (lowercase) to the Sales sheet of {SPREADSHEET_ID} using range A1:D5"
Checks
- Chart created successfully — .upper() normalized 'column' → 'COLUMN'
- Response includes chartId
TC-C11: Sheet not found¶
Prompt
"Add a column chart to a sheet called 'NoSuchSheet' in {SPREADSHEET_ID}"
Checks
- Returns {"error": ...} — sheet not found
- No API call made
TC-C12: Custom position and size¶
Prompt
"Add a line chart to the Sales sheet of {SPREADSHEET_ID} using range A1:D5, positioned at x=100, y=200, width=400, height=300"
Checks
- Chart added with the specified overlayPosition values
- Response includes chartId
- 🔍 Product decision: are position/size values in pixels or grid units? Note what the API accepts