# E2E Spec: Settings REST API

## Overview
Test `/api/internal/settings` GET/PUT endpoints.

## Setup
Use `failpoint.Enable("agentteam-config-dir", ...)` with a temp directory.

## Test Cases

### GET /api/internal/settings
- Returns 200 with config JSON
- Response includes default values (host, port, language, etc.)

### PUT /api/internal/settings
- Updates single field (e.g., `language`) and merges
- Updates multiple fields at once
- Non-empty fields override, empty fields preserved
- UI fields (sidebar_expanded) properly merged
- Returns 200 with merged config

### Defaults
- Unknown fields are ignored or preserved
- Port can change between automatic selection (`0`) and a custom fixed value
- Language switches between en and zh-CN
