package org.lightadmin.page.fieldDisplay.quickView;
import org.junit.Before;
import org.junit.Test;
import org.lightadmin.LoginOnce;
import org.lightadmin.RunWithConfiguration;
import org.lightadmin.SeleniumIntegrationTest;
import org.lightadmin.component.QuickViewComponent;
import org.lightadmin.config.OrderTestEntityWithDefaultId;
import org.lightadmin.data.Domain;
import static org.junit.Assert.assertTrue;
import static org.lightadmin.util.DomainAsserts.assertFieldValues;
@RunWithConfiguration( {OrderTestEntityWithDefaultId.class})
@LoginOnce( domain = Domain.TEST_ORDERS )
public class DisplayTest extends SeleniumIntegrationTest {
@Before
public void refreshListView() {
getStartPage().navigateToDomain( Domain.TEST_ORDERS );
}
@Test
public void canBeHidden() {
final QuickViewComponent quickViewComponent = getStartPage().showQuickViewForItem( 1 );
quickViewComponent.hide();
assertTrue( quickViewComponent.isHidden() );
}
@Test
public void correctInfoIsDisplayedAfterSorting() {
getStartPage().getDataTable().getColumn( "Name" ).sortDescending();
final QuickViewComponent quickViewComponent = getStartPage().showQuickViewForItem( 1 );
final String[] actualFieldValues = quickViewComponent.getQuickViewFieldValues();
assertFieldValues( new String[]{ "1", "62100.00" }, actualFieldValues );
}
@Test
public void infoCanBeDisplayedForMultipleItems() {
final QuickViewComponent quickViewComponent1 = getStartPage().showQuickViewForItem( 1 );
final String[] actualFieldValues1 = quickViewComponent1.getQuickViewFieldValues();
final QuickViewComponent quickViewComponent2 = getStartPage().showQuickViewForItem( 3 );
final String[] actualFieldValues2 = quickViewComponent2.getQuickViewFieldValues();
assertFieldValues( new String[]{ "1", "62100.00" }, actualFieldValues1 );
assertFieldValues( new String[]{ "3", "226308.00" }, actualFieldValues2 );
}
//TODO: iko: add test covering dynamic fields
}