package org.lamsfoundation.lams.admin;
import static org.testng.Assert.assertEquals;
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import java.util.concurrent.TimeUnit;
import org.lamsfoundation.lams.LamsConstants;
import org.lamsfoundation.lams.admin.util.AdminUtil;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class MaintainLoginPage {
private static WebDriver driver = null;
@Test
public void changeLoginPage() {
// Test data
String insertHeader = "
Welcome to LAMS
";
String insertText = "Text inserted by drone test";
driver.get(LamsConstants.ADMIN_MENU_URL);
// Click on maintain login page
driver.findElement(By.linkText("Maintain login page")).click();
assertEquals("Maintain login page", driver.getTitle());
// Upload logo image
WebElement upload = driver.findElement(By.name("logo"));
upload.sendKeys(LamsConstants.RESOURCES_PATH + "lams_login.gif");
// Insert text to CKEditor via javascript
((JavascriptExecutor)
driver).executeScript("CKEDITOR.instances['news'].setData('" + insertHeader + "" + insertText +"
');");
driver.findElement(By.id("saveButton")).click();
// Now logout and check that the image and text are correct
closeBrowser();
openBrowser();
AdminUtil.logout(driver);
String expectedText = driver.findElement(By.xpath("//*[@id=\"login-left-col\"]/div")).getText().trim();
assertEquals(expectedText, insertText);
}
@BeforeClass
public static void openBrowser(){
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// Login
AdminUtil.loginAsSysadmin(driver);
}
@AfterClass
public static void closeBrowser(){
AdminUtil.logout(driver);
driver.quit();
}
}