aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrfoxygmfr <mrfoxygmfr@sch9.ru>2025-05-06 23:20:17 +0300
committermrfoxygmfr <mrfoxygmfr@sch9.ru>2025-05-06 23:20:17 +0300
commit0e1abbfe524079b5ae2912429942a5e8711bdc3b (patch)
tree471ac41c189dea1c2280e6c4768d0d00d3ae60e4
parent8c0cb8a38df9ec1ad83da0113a94b7a576a3eb99 (diff)
test: storage slots controller
-rw-r--r--src/test/java/ru/mrfoxygmfr/warehouse_accounting/http/StorageSlotsControllerTest.java114
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();
+ }
+}
+