Pure buildTrayMenuTemplate function returns MenuItemConstructorOptions[] without constructing real Menu objects, enabling full test coverage. All 7 new tests pass (22 total); MenuActions interface and checkForUpdatesItem helper are intentionally unexported.