feat: normalize filter values to array format for Grist API

The Grist API requires all filter values to be arrays. This change adds
automatic normalization of filter values in get_records, wrapping single
values in lists before sending to the API.

This fixes 400 errors when filtering on Ref columns with single integer IDs.

Changes:
- Add filters.py module with normalize_filter function
- Update get_records to normalize filters before API call
- Add Orders table with Ref column to mock Grist server
- Add filter validation to mock server (rejects non-array values)
- Fix shell script shebangs for portability (#!/usr/bin/env bash)
This commit is contained in:
2026-01-14 17:56:18 -05:00
parent c868e8a7fa
commit a97930848b
8 changed files with 244 additions and 5 deletions

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# scripts/get-test-instance-id.sh
# Generate a unique instance ID from git branch for parallel test isolation

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# scripts/run-integration-tests.sh
# Run integration tests with branch isolation and dynamic port discovery
set -e