package com.redheap.selenium.components; import com.redheap.selenium.component.AdfCarousel; import com.redheap.selenium.pages.CarouselDemoPage; import static org.junit.Assert.*; import org.junit.Test; public class CarouselTest extends PageTestBase<CarouselDemoPage> { @Test public void testCarouselBrowse() { AdfCarousel carousel = pages.goHome().findCarousel(); assertEquals("0", carousel.getCurrentItemKey()); assertEquals("Alice in Wonderland", carousel.getItemText()); carousel.clickNext(); assertEquals("1", carousel.getCurrentItemKey()); assertEquals("Basic Instinct", carousel.getItemText()); carousel.clickPrevious(); assertEquals("0", carousel.getCurrentItemKey()); assertEquals("Alice in Wonderland", carousel.getItemText()); } @Test public void testCarouselJump() { AdfCarousel carousel = pages.goHome().findCarousel(); carousel.setCurrentItemKey("10"); assertEquals("10", carousel.getCurrentItemKey()); assertEquals("Final Destination", carousel.getItemText()); } @Test public void testCarouselItemCount() { AdfCarousel carousel = pages.goHome().findCarousel(); assertEquals(25, carousel.getItemDisplayCount()); assertEquals(30, carousel.getRowCount()); } @Test public void testCarouselFetchByBrowse() { AdfCarousel carousel = pages.goHome().findCarousel(); carousel.setCurrentItemKey("23"); // jump to one before last as setting key never does a fetch assertEquals("23", carousel.getCurrentItemKey()); assertEquals("Stargate", carousel.getItemText()); carousel.clickNext(); // clicking navigation buttons does do a fetch when needed assertEquals("24", carousel.getCurrentItemKey()); assertEquals("Terminator 2 Judgement Day", carousel.getItemText()); carousel.clickNext(); // this really gets us to the second range page assertEquals("25", carousel.getCurrentItemKey()); assertEquals("Terminator 2 T2 Extreme", carousel.getItemText()); // still only 25 items on the client assertEquals(25, carousel.getItemDisplayCount()); } public static void main(String[] args) { String[] args2 = { CarouselTest.class.getName() }; org.junit.runner.JUnitCore.main(args2); } @Override protected Class<CarouselDemoPage> getPageClass() { return CarouselDemoPage.class; } @Override protected String getJspxName() { return "carousel.jspx"; } }