package de.flower.rmt.ui.site;
import de.flower.rmt.service.ui.UrlProvider;
import de.flower.rmt.test.AbstractRMTWicketIntegrationTests;
import de.flower.rmt.ui.page.event.player.EventPage;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.util.ReflectionTestUtils;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
/**
* @author flowerrrr
*/
public class WicketUrlProviderTest extends AbstractRMTWicketIntegrationTests {
@Autowired
private WicketUrlProvider wicketUrlProvider;
@Autowired
private UrlProvider urlProvider;
/**
* Verify that bookmarkable urls are generated the way we expect it.
*/
@Test
public void testDeepLink() {
Long eventId = 1L;
CharSequence url = wicketUrlProvider.deepLinkEvent(eventId);
assertEquals(url, "http://localhost/context/servlet/event/1");
BookmarkablePageLink link = new BookmarkablePageLink("id", EventPage.class, EventPage.getPageParams(eventId));
url = (CharSequence) ReflectionTestUtils.invokeGetterMethod(link, "getURL");
assertEquals(url.toString(), "./event/1"); // ./ prefix required after upgrading to wicket 1.5.7
url = urlProvider.deepLinkEvent(eventId);
assertEquals(url, "http://localhost/context/servlet/event/1");
Long articleId = 1L;
url = wicketUrlProvider.deepLinkBlog(articleId);
assertEquals(url, "http://localhost/context/servlet/blog/1");
}
}