package com.redheap.selenium.components;
import com.redheap.selenium.component.AdfTable;
import com.redheap.selenium.pages.TableDetailStampDemoPage;
import java.util.Arrays;
import static org.junit.Assert.*;
import org.junit.Test;
public class TableTest extends PageTestBase<TableDetailStampDemoPage> {
@Test
public void testDetailStamp() {
AdfTable table = pages.goHome().findTable();
assertFalse(table.isRowDisclosed(0));
table.discloseRowDetail(0);
assertTrue(table.isRowDisclosed(0));
assertFalse(table.isRowDisclosed(30));
table.discloseRowDetail(30);
assertTrue(table.isRowDisclosed(30));
table.discloseRowDetail(60);
assertTrue(table.isRowDisclosed(60));
table.discloseRowDetail(60);
assertFalse(table.isRowDisclosed(60));
}
@Test
public void testRowSelection() {
AdfTable table = pages.goHome().findTable();
table.selectRow(3);
assertEquals(Arrays.asList(3), table.getSelectedRows());
table.selectAdditionalRow(5);
assertEquals(Arrays.asList(3,5), table.getSelectedRows());
table.selectToRow(8); // starts new selection from current row (5), so deselects 3
assertEquals(Arrays.asList(5,6,7,8), table.getSelectedRows());
}
@Test
public void testChildComponent() {
TableDetailStampDemoPage page = pages.goHome();
assertEquals("admin.jar", page.findName(2).getValue());
assertEquals("database", page.findName(7).getValue());
page.findTable().discloseRowDetail(9);
assertEquals("1,290 KB", page.findSizeDetailFacet(9).getValue());
}
@Test
public void testNonExistingChildComponent() {
TableDetailStampDemoPage page = pages.goHome();
AdfTable table = page.findTable();
assertNotNull("existing component by row-index", table.findAdfComponent("ot4", 0));
assertNull("non-existing component by row-index", table.findAdfComponent("foo", 0));
assertNull("existing component by non-existing row-index", table.findAdfComponent("ot4", 9999999));
assertNull("non-existing component by non-existing row-index", table.findAdfComponent("foo", 9999999));
String rowkey = table.getRowKey(0);
assertNotNull("existing component by row-key", table.findAdfComponent("ot4", rowkey));
assertNull("non-existing component by row-key", table.findAdfComponent("foo", rowkey));
assertNull("existing component by non-existing row-key", table.findAdfComponent("ot4", "9999999"));
assertNull("non-existing component by non-existing row-key", table.findAdfComponent("foo", "9999999"));
}
@Test
public void testCount() {
TableDetailStampDemoPage page = pages.goHome();
assertEquals(5400, page.findTable().getRowCount());
}
public static void main(String[] args) {
String[] args2 = { TableTest.class.getName() };
org.junit.runner.JUnitCore.main(args2);
}
@Override
protected Class<TableDetailStampDemoPage> getPageClass() {
return TableDetailStampDemoPage.class;
}
@Override
protected String getJspxName() {
return "table/detailStampTable.jspx";
}
}