error is raised if menu is empty, with tests