package com.framework.site.objects.footer; import com.framework.asserts.JAssertion; import com.framework.driver.event.HtmlElement; import com.framework.driver.objects.AbstractWebObject; import com.framework.utils.matchers.JMatchers; import com.google.common.base.Optional; import org.openqa.selenium.By; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.List; import static com.framework.utils.datetime.TimeConstants.FIVE_SECONDS; /** * Created with IntelliJ IDEA ( LivePerson : www.liveperson.com ) * * Package: com.framework.site.objects.footer * * Name : ZeroFooterObject * * User : solmarkn / Dani Vainstein * * Date : 2015-01-06 * * Time : 16:56 */ class ZeroFooterObject extends AbstractWebObject { //region ZeroFooterObject - Variables Declaration and Initialization Section. private static final Logger logger = LoggerFactory.getLogger( ZeroFooterObject.class ); static final By ROOT_BY = By.className( "zero-footer" ); static final String LOGICAL_NAME = "Zero-Footer"; //endregion //region ZeroFooterObject - Constructor Methods Section ZeroFooterObject( final HtmlElement rootElement ) { super( rootElement, LOGICAL_NAME ); initWebObject(); } //endregion //region ZeroFooterObject - Initialization and Validation Methods Section @Override protected void initWebObject() { logger.debug( "validating static elements for web object id: <{}>, name:<{}>...", getQualifier(), getLogicalName() ); final String REASON = "assert that all elements \"%s\" exits"; JAssertion assertion = getRoot().createAssertion(); Optional<List<HtmlElement>> e = getRoot().allChildrenExists( By.tagName( "li" ), FIVE_SECONDS ); assertion.assertThat( String.format( REASON, "li" ), e.isPresent(), JMatchers.is( true ) ); } //endregion //region ZeroFooterObject - Service Methods Section private HtmlElement getRoot() { return getBaseRootElement( ROOT_BY ); } //endregion //region ZeroFooterObject - Business Methods Section public boolean isDisplayed() { return getRoot().isDisplayed(); } //endregion //region ZeroFooterObject - Element Finder Methods Section //endregion }