diff options
author | mrfoxygmfr <mrfoxygmfr@sch9.ru> | 2025-05-06 18:47:41 +0300 |
---|---|---|
committer | mrfoxygmfr <mrfoxygmfr@sch9.ru> | 2025-05-06 18:47:41 +0300 |
commit | 0b3b49142ee78e18000496bf476b508b80a40c7e (patch) | |
tree | ee59a1d03a379d738c1f6a343371411dba200ba7 | |
parent | 333383ea5a9a81d84fd02e0aaea8103d2e08ebed (diff) |
test: partners page tests
-rw-r--r-- | src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/PartnersControllerTest.java | 113 |
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(); + } } |