diff options
author | mrfoxygmfr <mrfoxygmfr@sch9.ru> | 2025-05-06 23:20:17 +0300 |
---|---|---|
committer | mrfoxygmfr <mrfoxygmfr@sch9.ru> | 2025-05-06 23:20:17 +0300 |
commit | 0e1abbfe524079b5ae2912429942a5e8711bdc3b (patch) | |
tree | 471ac41c189dea1c2280e6c4768d0d00d3ae60e4 | |
parent | 8c0cb8a38df9ec1ad83da0113a94b7a576a3eb99 (diff) |
test: storage slots controller
-rw-r--r-- | src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/StorageSlotsControllerTest.java | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/StorageSlotsControllerTest.java b/src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/StorageSlotsControllerTest.java new file mode 100644 index 0000000..707ccce --- /dev/null +++ b/src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/StorageSlotsControllerTest.java @@ -0,0 +1,114 @@ +package ru.mrfoxygmfr.warehouse_accounting.http; + +import org.junit.jupiter.api.Test; +import org.openqa.selenium.*; +import org.openqa.selenium.chrome.ChromeDriver; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +import static org.junit.jupiter.api.Assertions.*; + +public class StorageSlotsControllerTest { + @Test + void CreateNewStorageSlot() { + ChromeDriver driver = new ChromeDriver(); + driver.get("http://localhost:8080/storageSlots"); + + WebElement newStorageSlot = driver.findElement(By.id("newStorageSlotBtn")); + newStorageSlot.click(); + + driver.manage().timeouts().implicitlyWait(500, TimeUnit.MILLISECONDS); + + String expectedStorageSlotLocation = "Локация"; + String expectedStorageSlotHeight = "123"; + String expectedStorageSlotWidth = "231"; + String expectedStorageSlotDepth = "312"; + + driver.findElement(By.id("storageSlotLocation")).sendKeys(expectedStorageSlotLocation); + driver.findElement(By.id("storageSlotHeight")).sendKeys(expectedStorageSlotHeight); + driver.findElement(By.id("storageSlotWidth")).sendKeys(expectedStorageSlotWidth); + driver.findElement(By.id("storageSlotDepth")).sendKeys(expectedStorageSlotDepth); + driver.findElement(By.id("saveBtn")).click(); + driver.manage().timeouts().implicitlyWait(500, TimeUnit.MILLISECONDS); + + WebElement storageSlots = driver.findElement(By.cssSelector("table[class*='table-bordered']")); + List<WebElement> storageSlotRows = storageSlots.findElements(By.tagName("tr")); + + boolean found = false; + for (WebElement row : storageSlotRows) { + List<WebElement> rowElements = row.findElements(By.tagName("td")); + if (rowElements.isEmpty() || !rowElements.get(1).getText().equals(expectedStorageSlotLocation)) { + continue; + } + + assertEquals(expectedStorageSlotLocation, rowElements.get(1).getText()); + assertEquals(String.format("%s * %s * %s", expectedStorageSlotHeight, expectedStorageSlotWidth, expectedStorageSlotDepth), rowElements.get(2).getText()); + found = true; + } + + assertTrue(found); + driver.quit(); + } + + @Test + void FilterFound() { + ChromeDriver driver = new ChromeDriver(); + driver.get("http://localhost:8080/storageSlots"); + + String expectedStorageSlotName = "location"; + String expectedStorageSlotDimensions = "10 * 10 * 1100"; + driver.findElement(By.id("storageSlotHeightGreaterFilter")).sendKeys("5"); + driver.findElement(By.id("storageSlotHeightLessFilter")).sendKeys("15"); + driver.findElement(By.id("saveBtn")).click(); + driver.manage().timeouts().implicitlyWait(500, TimeUnit.MILLISECONDS); + + WebElement storageSlots = driver.findElement(By.cssSelector("table[class*='table-bordered']")); + List<WebElement> storageSlotRows = storageSlots.findElements(By.tagName("tr")); + + boolean found = false; + for (WebElement row : storageSlotRows) { + List<WebElement> rowElements = row.findElements(By.tagName("td")); + if (rowElements.isEmpty() || !rowElements.get(1).getText().equals(expectedStorageSlotName)) { + continue; + } + + assertEquals(expectedStorageSlotName, rowElements.get(1).getText()); + assertEquals(expectedStorageSlotDimensions, rowElements.get(2).getText()); + found = true; + } + + assertTrue(found); + driver.quit(); + } + + @Test + void FilterNotFound() { + ChromeDriver driver = new ChromeDriver(); + driver.get("http://localhost:8080/storageSlots"); + + driver.findElement(By.id("storageSlotHeightGreaterFilter")).sendKeys("15"); + driver.findElement(By.id("storageSlotHeightLessFilter")).sendKeys("10"); + driver.findElement(By.id("saveBtn")).click(); + driver.manage().timeouts().implicitlyWait(500, TimeUnit.MILLISECONDS); + + WebElement storageSlots = driver.findElement(By.cssSelector("table[class*='table-bordered']")); + List<WebElement> storageSlotRows = storageSlots.findElements(By.tagName("tr")); + + String expected = "Данному фильтру не удовлетворяет ни одного места хранения."; + + boolean found = false; + for (WebElement row : storageSlotRows) { + List<WebElement> rowElements = row.findElements(By.tagName("td")); + if (rowElements.isEmpty() || !rowElements.getFirst().getText().equals(expected)) { + continue; + } + + found = true; + } + + assertTrue(found); + driver.quit(); + } +} + |