package org.molgenis.ui.menu;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.Arrays;
import static org.molgenis.ui.menu.MenuItemType.MENU;
import static org.molgenis.ui.menu.MenuItemType.PLUGIN;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNull;
public class MenuUtilsTest
{
private Menu menu;
@BeforeMethod
public void setUp()
{
menu = new Menu();
MenuItem p30 = new MenuItem(PLUGIN, "p3_0", "lbl");
MenuItem p31 = new MenuItem(PLUGIN, "p3_1", "lbl");
MenuItem p20 = new MenuItem(MENU, "p2_0", "lbl");
p20.setItems(Arrays.asList(p30, p31));
MenuItem p21 = new MenuItem(PLUGIN, "p2_1", "lbl");
MenuItem p10 = new MenuItem(PLUGIN, "p1_0", "lbl");
MenuItem p11 = new MenuItem(MENU, "p1_1", "lbl");
p11.setItems(Arrays.asList(p20, p21));
menu.setId("root");
menu.setType(MENU);
menu.setItems(Arrays.asList(p10, p11));
}
@Test
public void findMenuItemPath()
{
assertEquals(MenuUtils.findMenuItemPath("p1_0", menu), "/menu/root/p1_0");
assertEquals(MenuUtils.findMenuItemPath("p1_1", menu), "/menu/root/p1_1");
assertEquals(MenuUtils.findMenuItemPath("p2_0", menu), "/menu/p1_1/p2_0");
assertEquals(MenuUtils.findMenuItemPath("p2_1", menu), "/menu/p1_1/p2_1");
assertEquals(MenuUtils.findMenuItemPath("p3_0", menu), "/menu/p2_0/p3_0");
assertEquals(MenuUtils.findMenuItemPath("p3_1", menu), "/menu/p2_0/p3_1");
assertNull(MenuUtils.findMenuItemPath("non_existing", menu));
}
}