aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrfoxygmfr <mrfoxygmfr@sch9.ru>2025-05-06 18:47:41 +0300
committermrfoxygmfr <mrfoxygmfr@sch9.ru>2025-05-06 18:47:41 +0300
commit0b3b49142ee78e18000496bf476b508b80a40c7e (patch)
treeee59a1d03a379d738c1f6a343371411dba200ba7
parent333383ea5a9a81d84fd02e0aaea8103d2e08ebed (diff)
test: partners page tests
-rw-r--r--src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/PartnersControllerTest.java113
1 files changed, 113 insertions, 0 deletions
diff --git a/src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/PartnersControllerTest.java b/src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/PartnersControllerTest.java
index 0cb64bb..c85134a 100644
--- a/src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/PartnersControllerTest.java
+++ b/src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/PartnersControllerTest.java
@@ -3,6 +3,10 @@ package ru.mrfoxygmfr.warehouse_accounting.http;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
+import org.openqa.selenium.support.ui.Select;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
import static org.junit.jupiter.api.Assertions.*;
@@ -17,5 +21,114 @@ public class PartnersControllerTest {
assertEquals(title, driver.getTitle());
driver.quit();
}
+
+ @Test
+ void CreateNewPartner() {
+ ChromeDriver driver = new ChromeDriver();
+ driver.get("http://localhost:8080/partners");
+
+ WebElement newPartner = driver.findElement(By.id("newPartnerBtn"));
+ newPartner.click();
+
+ driver.manage().timeouts().implicitlyWait(500, TimeUnit.MILLISECONDS);
+
+ String expectedPartnerName = "Партнер из тестов";
+ String expectedPartnerTaxNumber = "87654321098";
+ String expectedPartnerType = "SUPPLIER";
+ String expectedPartnerAddress = "г. Москва, ул. окраинная";
+
+ driver.findElement(By.id("partnerName")).sendKeys(expectedPartnerName);
+ driver.findElement(By.id("partnerTaxNumber")).sendKeys(expectedPartnerTaxNumber);
+ new Select(driver.findElement(By.id("partnerType"))).selectByValue(expectedPartnerType);
+ driver.findElement(By.id("partnerAddress")).sendKeys(expectedPartnerAddress);
+ driver.findElement(By.id("saveBtn")).click();
+ driver.manage().timeouts().implicitlyWait(500, TimeUnit.MILLISECONDS);
+
+ WebElement partners = driver.findElement(By.cssSelector("table[class*='table-bordered']"));
+ List<WebElement> partnerRows = partners.findElements(By.tagName("tr"));
+
+ boolean found = false;
+ for (WebElement row : partnerRows) {
+ List<WebElement> rowElements = row.findElements(By.tagName("td"));
+ if (rowElements.isEmpty() || !rowElements.get(0).getText().equals(expectedPartnerName)) {
+ continue;
+ }
+
+ assertEquals(rowElements.get(0).getText(), expectedPartnerName);
+ assertEquals(rowElements.get(1).getText(), expectedPartnerTaxNumber);
+ assertEquals(rowElements.get(2).getText(), expectedPartnerType);
+ assertEquals(rowElements.get(3).getText(), expectedPartnerAddress);
+ found = true;
+ }
+
+ assertTrue(found);
+ driver.quit();
+ }
+
+ @Test
+ void FilterFound() {
+ ChromeDriver driver = new ChromeDriver();
+ driver.get("http://localhost:8080/partners");
+
+ String expectedPartnerName = "ООО Рога и копыта Поставки";
+ String expectedPartnerTaxNumber = "7361276423187";
+ String expectedPartnerType = "SUPPLIER";
+ String expectedPartnerAddress = "г. Барнаул";
+
+ driver.findElement(By.id("partnerNameFilter")).sendKeys("и копыта");
+ driver.findElement(By.id("partnerTaxNumberFilter")).sendKeys(expectedPartnerTaxNumber);
+ new Select(driver.findElement(By.id("partnerTypeFilter"))).selectByValue(expectedPartnerType);
+ driver.findElement(By.id("saveBtn")).click();
+ driver.manage().timeouts().implicitlyWait(500, TimeUnit.MILLISECONDS);
+
+ WebElement partners = driver.findElement(By.cssSelector("table[class*='table-bordered']"));
+ List<WebElement> partnerRows = partners.findElements(By.tagName("tr"));
+
+ boolean found = false;
+ for (WebElement row : partnerRows) {
+ List<WebElement> rowElements = row.findElements(By.tagName("td"));
+ if (rowElements.isEmpty() || !rowElements.get(0).getText().equals(expectedPartnerName)) {
+ continue;
+ }
+
+ assertEquals(rowElements.get(0).getText(), expectedPartnerName);
+ assertEquals(rowElements.get(1).getText(), expectedPartnerTaxNumber);
+ assertEquals(rowElements.get(2).getText(), expectedPartnerType);
+ assertEquals(rowElements.get(3).getText(), expectedPartnerAddress);
+ found = true;
+ }
+
+ assertTrue(found);
+ driver.quit();
+ }
+
+ @Test
+ void FilterNotFound() {
+ ChromeDriver driver = new ChromeDriver();
+ driver.get("http://localhost:8080/partners");
+
+ driver.findElement(By.id("partnerNameFilter")).sendKeys("не найден");
+ driver.findElement(By.id("saveBtn")).click();
+ driver.manage().timeouts().implicitlyWait(500, TimeUnit.MILLISECONDS);
+
+ WebElement partners = driver.findElement(By.cssSelector("table[class*='table-bordered']"));
+ List<WebElement> partnerRows = partners.findElements(By.tagName("tr"));
+
+ String expected = "Данному фильтру не удовлетворяет ни одного партнера.";
+
+ boolean found = false;
+ for (WebElement row : partnerRows) {
+ System.out.println(row.getText());
+ List<WebElement> rowElements = row.findElements(By.tagName("td"));
+ if (rowElements.isEmpty() || !rowElements.getFirst().getText().equals(expected)) {
+ continue;
+ }
+
+ found = true;
+ }
+
+ assertTrue(found);
+ driver.quit();
+ }
}