Files
moteva/server/internal/logic/cad_context_mapper_test.go
T
root 29b3bd222c feat(server): persist node semantic context and retain CAD agent context
Add a semantic_context column to canvas_nodes (schema, sqlc queries,
generated models, repository upserts) and thread SemanticContext through the
domain node, API type, and mappers so CAD-derived context survives canvas
saves.

Treat agent text parts with textSource "cad-context" like settings: keep
them for planning, memory, and image-generation prompts but exclude them
from the persisted user-visible message copy. Add coverage for the CAD
context visibility and mapper behavior.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-16 16:40:47 +08:00

23 lines
574 B
Go

package logic
import (
"testing"
"img_infinite_canvas/internal/domain/design"
)
func TestCanvasNodeSemanticContextRoundTrip(t *testing.T) {
nodes := []design.Node{{
ID: "cad-1",
Type: design.NodeTypeImage,
Title: "plan.svg",
LayerRole: "cad-vector",
SemanticContext: "CAD semantic context: layer ROOMS",
}}
roundTrip := toDomainNodes(toAPINodes(nodes))
if len(roundTrip) != 1 || roundTrip[0].SemanticContext != nodes[0].SemanticContext {
t.Fatalf("expected semantic context round trip, got %#v", roundTrip)
}
}