package domain import "testing" func TestCopyGameClientBridgeDeclarationsCopiesQueryTemplateSlices(t *testing.T) { manifest := GameClientBridgeManifest{ QueryTemplates: []GameClientBridgeQueryTemplateDeclaration{{Key: "player.lookup"}}, Pages: []GameClientBridgePageContract{{PageKey: "players", QueryTemplateKeys: []string{"player.lookup"}}}, } manifestCopy := CopyGameClientBridgeManifest(manifest) manifestCopy.QueryTemplates[0].Key = "mutated" manifestCopy.Pages[0].QueryTemplateKeys[0] = "mutated" if manifest.QueryTemplates[0].Key != "player.lookup" || manifest.Pages[0].QueryTemplateKeys[0] != "player.lookup" { t.Fatalf("manifest copy aliases query template declarations: source=%#v copy=%#v", manifest, manifestCopy) } status := GameClientBridgeStatus{Profiles: []GameClientBridgeProfileDeclaration{{QueryTemplateKeys: []string{"player.lookup"}}}} statusCopy := CopyGameClientBridgeStatus(status) statusCopy.Profiles[0].QueryTemplateKeys[0] = "mutated" if status.Profiles[0].QueryTemplateKeys[0] != "player.lookup" { t.Fatalf("status copy aliases query template keys: source=%#v copy=%#v", status, statusCopy) } }