package org.fenixedu.cms.domain; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.util.Locale; import org.fenixedu.bennu.core.domain.User; import org.fenixedu.commons.StringNormalizer; import org.fenixedu.commons.i18n.LocalizedString; import org.joda.time.DateTime; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.FenixFrameworkRunner; @RunWith(FenixFrameworkRunner.class) public class TestMenu extends TestCMS { @Test public void createMenu() { User user = CmsTestUtils.createAuthenticatedUser("createMenu"); Site site = CmsTestUtils.createSite(user, "createMenu"); String methodName = "createMenu"; LocalizedString menuName = new LocalizedString(Locale.UK, "menu name uk " + methodName).with(Locale.US, "menu name us " + methodName); Menu menu = new Menu(site, menuName); DateTime dt = new DateTime(); assertEquals(menuName, menu.getName()); assertEquals("slug should be initialized using menu name", StringNormalizer.slugify(menuName.getContent()), menu.getSlug()); assertTrue(equalDates(dt, menu.getCreationDate())); assertEquals(false, menu.getTopMenu()); assertEquals(site, menu.getSite()); assertTrue(menu.getItemsSet().isEmpty()); assertTrue(menu.getToplevelItemsSet().isEmpty()); assertEquals(user, menu.getCreatedBy()); } @Test public void checkValidSlug() { User user = CmsTestUtils.createAuthenticatedUser("checkValidSlug"); Site site = CmsTestUtils.createSite(user, "checkValidSlug"); Menu menu1 = CmsTestUtils.createMenu(site, "checkValidSlug1"); Menu menu2 = CmsTestUtils.createMenu(site, "checkValidSlug2"); assertTrue(menu1.isValidSlug("xpto")); assertTrue(menu1.isValidSlug(menu1.getSlug())); assertFalse(menu1.isValidSlug(menu2.getSlug())); } }