package com.framework.site.objects.header;
import com.framework.asserts.JAssertion;
import com.framework.driver.event.HtmlElement;
import com.framework.driver.objects.AbstractWebObject;
import com.framework.site.objects.header.interfaces.Header;
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 static com.framework.utils.datetime.TimeConstants.FIVE_SECONDS;
/**
* Created with IntelliJ IDEA ( LivePerson : www.liveperson.com )
*
* Package: com.framework.site.objects.header
*
* Name : HeaderObject
*
* User : solmarkn / Dani Vainstein
*
* Date : 2015-01-05
*
* Time : 23:11
*/
class MessageBarObject extends AbstractWebObject implements Header.MessageBar
{
//region HeaderObject - Variables Declaration and Initialization Section.
private static final Logger logger = LoggerFactory.getLogger( MessageBarObject.class );
// ------------------------------------------------------------------------|
// --- WEB-OBJECTS DEFINITIONS --------------------------------------------|
// ------------------------------------------------------------------------|
//endregion
//region HeaderObject - Constructor Methods Section
MessageBarObject( final HtmlElement rootElement )
{
super( rootElement, LOGICAL_NAME );
initWebObject();
}
//endregion
//region HeaderObject - Initialization and Validation Methods Section
@Override
protected void initWebObject()
{
if( getRoot().isDisplayed() )
{
logger.debug( "validating static elements for web object id: <{}>, name:<{}>...",
getQualifier(), getLogicalName() );
final String REASON = "assert that element \"%s\" exits";
JAssertion assertion = getRoot().createAssertion();
Optional<HtmlElement> e = getRoot().childExists( By.className( "cookiemandate" ), FIVE_SECONDS );
assertion.assertThat( String.format( REASON, "div.cookiemandate" ), e.isPresent(), JMatchers.is( true ) );
}
}
//endregion
//region HeaderObject - Service Methods Section
private HtmlElement getRoot()
{
return getBaseRootElement( Header.MessageBar.ROOT_BY );
}
//endregion
//region HeaderObject - Business Methods Section
@Override
public boolean isDisplayed()
{
return getRoot().isDisplayed();
}
//endregion
//region HeaderObject - Element Finder Methods Section
//endregion
}