diff --git a/src/test/java/com/uniovi/sdi/Sdi2122713SpringApplicationTests.java b/src/test/java/com/uniovi/sdi/Sdi2122713SpringApplicationTests.java index b4de6bf..2293c58 100644 --- a/src/test/java/com/uniovi/sdi/Sdi2122713SpringApplicationTests.java +++ b/src/test/java/com/uniovi/sdi/Sdi2122713SpringApplicationTests.java @@ -1,9 +1,6 @@ package com.uniovi.sdi; -import com.uniovi.sdi.pageobjects.PO_HomeView; -import com.uniovi.sdi.pageobjects.PO_Properties; -import com.uniovi.sdi.pageobjects.PO_SignUpView; -import com.uniovi.sdi.pageobjects.PO_View; +import com.uniovi.sdi.pageobjects.*; import org.junit.jupiter.api.*; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; @@ -107,7 +104,7 @@ public void PR05() { } //PR06A. Prueba del formulario de registro. DNI repetido en la BD -// Propiedad: Error.signup.dni.duplicate + // Propiedad: Error.signup.dni.duplicate @Test @Order(7) public void PR06A() { @@ -234,4 +231,81 @@ public void PR06H() { PO_Properties.getSPANISH()); Assertions.assertEquals(checkText, result.get(0).getText()); } + + //PR07. Identificación válida con usuario de ROL usuario (99999990A/123456). + @Test + @Order(15) + public void PR07() { + //Vamos al formulario de logueo. + PO_HomeView.clickOption(driver, "login", "class", "btn btn-primary"); + //Rellenamos el formulario + PO_LoginView.fillLoginForm(driver, "99999990A", "123456"); + //Comprobamos que entramos en la pagina privada de Alumno + String checkText = "Notas del usuario"; + List result = PO_View.checkElementBy(driver, "text", checkText); + Assertions.assertEquals(checkText, result.get(0).getText()); + } + + //PR08. Identificación válida con usuario de ROL profesor (99999993D/123456). + @Test + @Order(16) + public void PR08() { + //Vamos al formulario de logueo. + PO_HomeView.clickOption(driver, "login", "class", "btn btn-primary"); + //Rellenamos el formulario + PO_LoginView.fillLoginForm(driver, "99999993D", "123456"); + //Comprobamos que entramos en la pagina privada del profesor + String checkText = "Notas del usuario"; + List result = PO_View.checkElementBy(driver, "text", checkText); + Assertions.assertEquals(checkText, result.get(0).getText()); + } + + //PR09. Identificación válida con usuario de ROL Administrador (99999988F/123456) + @Test + @Order(17) + public void PR09() { + //Vamos al formulario de logueo. + PO_HomeView.clickOption(driver, "login", "class", "btn btn-primary"); + //Rellenamos el formulario + PO_LoginView.fillLoginForm(driver, "99999988F", "123456"); + //Comprobamos que entramos en la pagina privada del administrador + String checkText = "Notas del usuario"; + List result = PO_View.checkElementBy(driver, "text", checkText); + Assertions.assertEquals(checkText, result.get(0).getText()); + } + + //PR10: Identificación inválida con usuario de ROL alumno (99999990A) --> contraseña incorrecta. + @Test + @Order(18) + public void PR10() { + //Vamos al formulario de logueo. + PO_HomeView.clickOption(driver, "login", "class", "btn btn-primary"); + //Rellenamos el formulario + PO_LoginView.fillLoginForm(driver, "99999990A", "00000000"); + + //Comprobamos que la contraseña es incorrecta --> redirige de nuevo a la vista de inicio de sesión + String checkText = "Identifícate"; + List result = PO_View.checkElementBy(driver, "text", checkText); + Assertions.assertEquals(checkText, result.get(0).getText()); + } + + //PPR11: Identificación válida y desconexión con usuario de ROL usuario (99999990A/123456). + @Test + @Order(19) + public void PR11() { + //Formulario de logueo + PO_HomeView.clickOption(driver, "login", "class", "btn btn-primary"); + //Rellenamos el formulario + PO_LoginView.fillLoginForm(driver, "99999990A", "123456"); + //Comprobamos que entramos en la pagina privada de Alumno + String checkText = "Notas del usuario"; + List result = PO_View.checkElementBy(driver, "text", checkText); + Assertions.assertEquals(checkText, result.get(0).getText()); + //El usuario se desconecta + PO_HomeView.clickOption(driver, "logout", "class", "btn btn-primary"); + checkText = "Identifícate"; + result = PO_View.checkElementBy(driver, "text", checkText); + Assertions.assertEquals(checkText, result.get(0).getText()); + + } } diff --git a/src/test/java/com/uniovi/sdi/pageobjects/PO_LoginView.java b/src/test/java/com/uniovi/sdi/pageobjects/PO_LoginView.java new file mode 100644 index 0000000..1ecb2dc --- /dev/null +++ b/src/test/java/com/uniovi/sdi/pageobjects/PO_LoginView.java @@ -0,0 +1,23 @@ +package com.uniovi.sdi.pageobjects; + +import com.uniovi.sdi.util.SeleniumUtils; +import org.junit.jupiter.api.Assertions; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import java.util.List; + +public class PO_LoginView extends PO_NavView{ + static public void fillLoginForm(WebDriver driver, String dnip, String passwordp) { + WebElement dni = driver.findElement(By.name("username")); + dni.click(); + dni.clear(); + dni.sendKeys(dnip); + WebElement password = driver.findElement(By.name("password")); + password.click(); + password.clear(); + password.sendKeys(passwordp); + By boton = By.className("btn"); + driver.findElement(boton).click(); + } +}