From fefd3af646ca1a88bf30c2be90a4b12b5477be1a Mon Sep 17 00:00:00 2001 From: Arul Date: Fri, 8 Aug 2025 01:06:55 +0530 Subject: [PATCH] Refined code to fill Quest Title and Quest Description --- .../java/com/ghost/temple/ExcelUtils.java | 54 +++++++++++----- .../com/ghost/temple/ReusableFunctions.java | 59 ++++++++++++++++-- .../java/com/ghost/temple/hooks/Hooks.java | 2 +- src/main/resources/testData.xlsx | Bin 6221 -> 6181 bytes .../{QuestCreator.java => HomePage.java} | 4 +- .../java/com/ghost/temple/pages/Quests.java | 56 +++++++++++++++++ ...torStepDefs.java => HomePageStepDefs.java} | 14 ++--- .../ghost/temple/stepdefs/QuestsStepDefs.java | 28 +++++++++ .../resources/features/questCreator.feature | 1 + .../com/ghost/temple/CookieManager.class | Bin 3019 -> 3067 bytes .../classes/com/ghost/temple/ExcelUtils.class | Bin 2307 -> 3090 bytes .../com/ghost/temple/ReusableFunctions.class | Bin 2443 -> 4543 bytes .../com/ghost/temple/hooks/Hooks.class | Bin 861 -> 831 bytes target/classes/testData.xlsx | Bin 6221 -> 6181 bytes target/cucumber-report.html | 2 +- .../default-testCompile/createdFiles.lst | 3 +- .../default-testCompile/inputFiles.lst | 6 +- .../TEST-com.ghost.temple.TestRunner.xml | 36 ++++++++++- .../com.ghost.temple.AppTest.txt | 2 +- .../com.ghost.temple.TestRunner.txt | 7 ++- .../{QuestCreator.class => HomePage.class} | Bin 1584 -> 1572 bytes .../com/ghost/temple/pages/Quests.class | Bin 0 -> 2117 bytes .../temple/stepdefs/HomePageStepDefs.class | Bin 0 -> 1230 bytes .../stepdefs/QuestCreatorStepDefs.class | Bin 1251 -> 0 bytes .../temple/stepdefs/QuestsStepDefs.class | Bin 0 -> 1003 bytes .../features/questCreator.feature | 1 + 26 files changed, 235 insertions(+), 40 deletions(-) rename src/test/java/com/ghost/temple/pages/{QuestCreator.java => HomePage.java} (92%) create mode 100644 src/test/java/com/ghost/temple/pages/Quests.java rename src/test/java/com/ghost/temple/stepdefs/{QuestCreatorStepDefs.java => HomePageStepDefs.java} (71%) create mode 100644 src/test/java/com/ghost/temple/stepdefs/QuestsStepDefs.java rename target/test-classes/com/ghost/temple/pages/{QuestCreator.class => HomePage.class} (73%) create mode 100644 target/test-classes/com/ghost/temple/pages/Quests.class create mode 100644 target/test-classes/com/ghost/temple/stepdefs/HomePageStepDefs.class delete mode 100644 target/test-classes/com/ghost/temple/stepdefs/QuestCreatorStepDefs.class create mode 100644 target/test-classes/com/ghost/temple/stepdefs/QuestsStepDefs.class diff --git a/src/main/java/com/ghost/temple/ExcelUtils.java b/src/main/java/com/ghost/temple/ExcelUtils.java index b006b2c..8c1e4a8 100644 --- a/src/main/java/com/ghost/temple/ExcelUtils.java +++ b/src/main/java/com/ghost/temple/ExcelUtils.java @@ -2,26 +2,50 @@ package com.ghost.temple; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import java.io.File; + import java.io.FileInputStream; -import java.util.HashMap; -import java.util.Map; +import java.util.*; public class ExcelUtils { - public static Map fetchData(String sheetName) { - Map data = new HashMap<>(); - try (FileInputStream fis = new FileInputStream("src/main/resources/testData.xlsx"); - Workbook workbook = new XSSFWorkbook(fis)) { - Sheet sheet = workbook.getSheet(sheetName); - Row header = sheet.getRow(0); - Row values = sheet.getRow(1); - for (int i = 0; i < header.getPhysicalNumberOfCells(); i++) { - data.put(header.getCell(i).getStringCellValue(), values.getCell(i).getStringCellValue()); + private static final boolean DEBUG = true; // your debug flag + + public static List> fetchQuestDataByColumns(String sheetName) { + + List> questData = new ArrayList<>(); + + try (FileInputStream fis = new FileInputStream("src/main/resources/testData.xlsx"); + Workbook workbook = new XSSFWorkbook(fis)) { + + Sheet sheet = workbook.getSheet(sheetName); + + for (int rowIndex = 0; rowIndex <= sheet.getLastRowNum(); rowIndex++) { // start from 0! + Row row = sheet.getRow(rowIndex); + if (row == null) continue; + + List columns = new ArrayList<>(); + for (int colIndex = 0; colIndex < 2; colIndex++) { // Only Column A and B + Cell cell = row.getCell(colIndex); + columns.add(cell != null ? cell.toString().trim() : ""); } - } catch (Exception e) { - e.printStackTrace(); + + if (DEBUG) { + System.out.println("📄 Row " + rowIndex + ": " + columns); + } + + questData.add(columns); } - return data; + + } catch (Exception e) { + e.printStackTrace(); } + + if (DEBUG) { + System.out.println("📦 Total quests fetched: " + questData.size()); + } + + return questData; +} + + } \ No newline at end of file diff --git a/src/main/java/com/ghost/temple/ReusableFunctions.java b/src/main/java/com/ghost/temple/ReusableFunctions.java index a202bde..415d041 100644 --- a/src/main/java/com/ghost/temple/ReusableFunctions.java +++ b/src/main/java/com/ghost/temple/ReusableFunctions.java @@ -1,9 +1,19 @@ package com.ghost.temple; +import java.util.Map; import org.openqa.selenium.*; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; +import java.time.Duration; +import java.util.ArrayList; +import java.util.List; + + public class ReusableFunctions { + private static final boolean DEBUG = true; // debug flag + public static boolean checkWebElement(WebElement element) { try { return element.isDisplayed() && element.isEnabled(); @@ -18,18 +28,55 @@ public class ReusableFunctions { } } - public static void fillInput(WebElement element, String value) { - if (checkWebElement(element)) { - element.clear(); - element.sendKeys(value); - } + + public static void fillQuestInputs(WebElement titleElement, WebElement descElement, List> questData) { + if (questData == null || questData.isEmpty()) { + System.out.println("No quests found to fill, sweetheart 😢"); + return; } + for (List row : questData) { + if (row.size() < 2) { + System.out.println("⚠️ Skipping incomplete row: " + row); + continue; + } + + String title = row.get(0); // Column A + String description = row.get(1); // Column B + + System.out.println("📝 Filling → Title: \"" + title + "\", Description: \"" + description + "\""); + + fillInput(titleElement, title); + fillInput(descElement, description); + } +} + + // Assuming fillInput is something like this: + public static void fillInput(WebElement element, String value) { + if (value != null) { + element.clear(); + element.sendKeys(value); + } else if (DEBUG) { + System.out.println("DEBUG: Tried to fill input with null value!"); + } + } public static void scrollIntoView(WebDriver driver, WebElement element) { ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element); } - // 🌐 NEW: Open a specific URL + // Wait for Element to be clickable. + public static WebElement waitForElementToBeClickable(WebDriver driver, WebElement element, int timeoutInSeconds) { + WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(timeoutInSeconds)); + return wait.until(ExpectedConditions.elementToBeClickable(element)); + } + + // Wait for Element Visibility + public static WebElement waitForElementToBeVisible(WebDriver driver, WebElement element, int timeoutInSeconds) { + WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(timeoutInSeconds)); + return wait.until(ExpectedConditions.visibilityOf(element)); + } + + // 🌐 Open a specific URL public static void openUrl(WebDriver driver, String url) { try { driver.get(url); diff --git a/src/main/java/com/ghost/temple/hooks/Hooks.java b/src/main/java/com/ghost/temple/hooks/Hooks.java index c92f91d..0e931c1 100644 --- a/src/main/java/com/ghost/temple/hooks/Hooks.java +++ b/src/main/java/com/ghost/temple/hooks/Hooks.java @@ -20,6 +20,6 @@ public class Hooks { e.printStackTrace(); } - DriverManager.quitDriver(); // Then quit driver + //DriverManager.quitDriver(); // Then quit driver } } diff --git a/src/main/resources/testData.xlsx b/src/main/resources/testData.xlsx index 1e67f50c2c187447224b3dbe8771b11f0e7436f4..a68ba14c466788c74d0e52936c1b4d6ca4b7806a 100644 GIT binary patch literal 6181 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 Bcc1_O literal 6221 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 A1poj5 diff --git a/src/test/java/com/ghost/temple/pages/QuestCreator.java b/src/test/java/com/ghost/temple/pages/HomePage.java similarity index 92% rename from src/test/java/com/ghost/temple/pages/QuestCreator.java rename to src/test/java/com/ghost/temple/pages/HomePage.java index d95ec3e..6898231 100644 --- a/src/test/java/com/ghost/temple/pages/QuestCreator.java +++ b/src/test/java/com/ghost/temple/pages/HomePage.java @@ -11,12 +11,12 @@ import com.ghost.temple.ReusableFunctions; import java.time.Duration; -public class QuestCreator { +public class HomePage { WebDriver driver; private By addQuestBtnLocator = By.xpath("//a[@href='/quests']/button[contains(text(),'View All')]"); - public QuestCreator(WebDriver driver) { + public HomePage(WebDriver driver) { this.driver = driver; } diff --git a/src/test/java/com/ghost/temple/pages/Quests.java b/src/test/java/com/ghost/temple/pages/Quests.java new file mode 100644 index 0000000..e36dee4 --- /dev/null +++ b/src/test/java/com/ghost/temple/pages/Quests.java @@ -0,0 +1,56 @@ +package com.ghost.temple.pages; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.FindBy; +import org.openqa.selenium.support.PageFactory; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.WebDriverWait; + +import com.ghost.temple.ReusableFunctions; + +import com.ghost.temple.ExcelUtils; +import java.time.Duration; + +public class Quests { + + WebDriver driver; + + @FindBy(xpath = "//div[@class='mb-6 flex justify-center']/button[contains(text(),'Create Custom Quest')]") + WebElement createCustomQuest; + + @FindBy(xpath = "//input[@id='title']") + WebElement questTitle; + + @FindBy(xpath = "//textarea[@id='description']") + WebElement questDescription; + + public Quests(WebDriver driver) { + this.driver = driver; + PageFactory.initElements(driver, this); + } + + public void clickcreateCustomQuest() { + WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10)); + + // Wait for the element to be clickable + ReusableFunctions.waitForElementToBeClickable(driver, createCustomQuest, 5); + + // Scroll into view using your reusable method + ReusableFunctions.scrollIntoView(driver, createCustomQuest); + + // Use your reusable click + ReusableFunctions.click(createCustomQuest); + } + + + public void createQuests() { + WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10)); + + // Wait for the element to be clickable + ReusableFunctions.waitForElementToBeVisible(driver, questTitle, 5); + ReusableFunctions.fillQuestInputs(questTitle, questDescription, ExcelUtils.fetchQuestDataByColumns("Quests")); + } + +} diff --git a/src/test/java/com/ghost/temple/stepdefs/QuestCreatorStepDefs.java b/src/test/java/com/ghost/temple/stepdefs/HomePageStepDefs.java similarity index 71% rename from src/test/java/com/ghost/temple/stepdefs/QuestCreatorStepDefs.java rename to src/test/java/com/ghost/temple/stepdefs/HomePageStepDefs.java index 9f60940..a5b574b 100644 --- a/src/test/java/com/ghost/temple/stepdefs/QuestCreatorStepDefs.java +++ b/src/test/java/com/ghost/temple/stepdefs/HomePageStepDefs.java @@ -1,20 +1,20 @@ package com.ghost.temple.stepdefs; import com.ghost.temple.driver.DriverManager; -import com.ghost.temple.pages.QuestCreator; +import com.ghost.temple.pages.HomePage; import com.ghost.temple.ReusableFunctions; import io.cucumber.java.en.Given; import io.cucumber.java.en.When; import org.openqa.selenium.WebDriver; -public class QuestCreatorStepDefs { +public class HomePageStepDefs { WebDriver driver; - QuestCreator questPage; - - public QuestCreatorStepDefs() { + HomePage homePage; + + public HomePageStepDefs() { this.driver = DriverManager.getDriver(); - this.questPage = new QuestCreator(driver); + this.homePage = new HomePage(driver); } @Given("I open the solo level page") @@ -24,6 +24,6 @@ public class QuestCreatorStepDefs { @When("I click the Add Quest button") public void i_click_the_add_quest_button() { - questPage.clickAddQuest(); + homePage.clickAddQuest(); } } diff --git a/src/test/java/com/ghost/temple/stepdefs/QuestsStepDefs.java b/src/test/java/com/ghost/temple/stepdefs/QuestsStepDefs.java new file mode 100644 index 0000000..c2ab575 --- /dev/null +++ b/src/test/java/com/ghost/temple/stepdefs/QuestsStepDefs.java @@ -0,0 +1,28 @@ +package com.ghost.temple.stepdefs; + +import org.openqa.selenium.WebDriver; +import com.ghost.temple.driver.DriverManager; +import com.ghost.temple.pages.Quests; + +import io.cucumber.java.en.When; + +public class QuestsStepDefs { + + + WebDriver driver; + Quests questPage; + + public QuestsStepDefs() { + this.driver = DriverManager.getDriver(); + this.questPage = new Quests(driver); + } + + @When("I fill all the quests from Excel") + public void i_fill_all_the_quests_from_excel() { + // Create Quests + questPage.clickcreateCustomQuest(); + questPage.createQuests(); + throw new io.cucumber.java.PendingException(); + } + +} diff --git a/src/test/resources/features/questCreator.feature b/src/test/resources/features/questCreator.feature index 6bf5f4e..f6c8ba3 100644 --- a/src/test/resources/features/questCreator.feature +++ b/src/test/resources/features/questCreator.feature @@ -3,3 +3,4 @@ Feature: Solo Leveling Quest Management Scenario: Open Solo Leveling page and click Add Quest Given I open the solo level page When I click the Add Quest button + When I fill all the quests from Excel diff --git a/target/classes/com/ghost/temple/CookieManager.class b/target/classes/com/ghost/temple/CookieManager.class index 944f3b5e1294f71db74b369c5db99aaff5b4b6d8..36d47034a5533b045b6f51d878d22b48261d426a 100644 GIT binary patch literal 3067 zcmai0S#uOs6#i~9nVzKs7z{9gaX`?lOjO)5h+-rfolMYR5EZdA(OllL!7$`%6DZ)#dHOtyDZ!C zb_+Cjc8v=}2A!grKr>e9NFXV&I%nBtzB)Z&y8DfZk}1z|3Px$%a4q>9Oh&vZt0Iuj zt(*xXN>+>+(@&2Zwsz(mcQWIYP5U7uQ!z`XZB?f;2h53^U2Dd4vt8pF)(LD>xmiw- z`)JiGS3PEF8q*p!2y6(~hpdvhbTxtX*eG+^B+%Y@K15yP3AE!PY0)8&3M}M7OO9X^ zNu;q=!xn*yRt#9jCD=w-rxkSqU7cMkXSi*&>{%o!o5ZE))Nq-=_7zVEH|Xd>w?Jaj z^y+Y4z|#~GRnIDA#!N3Ov+LE-haH6em}_}vsGbHi{7L2+M?bF6aCw8^#!ghIOC48Y zCxzlvsl9gp90IkEQVXca#&EU3`XHRNWV)C>ck0J;KYjJ*C(k8tEe14PC$KhTYsp?6 zS;>)BmhMWnjQe^WyQKzO3MHpPRo;l3H0%ktt5VoMvLKDp?9#yfUj4 zdb8tD;G63>`4BhAis=^oVw8o}NSuJ+d5bVFiH^?KH5TECa#)Ccjc#@=8>UZCb~hch zs_aILa!|<0l4BGD0tI&dUwQhcDJp`VBMbI!0X?Kx7Gwekuu)#_)o~vV5k~X4Rq+T9 zyUsnbv<~ZdK+@k#HEWn)C5HQb*oN&T^-f;bhs)CalEnlH@+1S3vZALJ1t9rd^q~Y` z;E0Z+D6xjvM~Y!xTo~5Sl3ttDU=ynbhLV^@S;s?Q7mcy5T*GsCyDr?WN^m%sXLWm+ z(NJaoT=WvI>NqCDh}h|OPQ73?yv4VVLRKvd zmW)az?|4H_)h^bpsIRIk`7WrcliCqj)&c7E z`fUuBYWldbzpB?Y;~I0SZo%~9YV(~0-vB#gZY--|+csU5oyi~*i=YzE;7x)pV50oI zppMXjC`XM?O^9)pdywQ+=S+s9;MmfA8m)86WHqmH0}#g=UUlC97obhet;L0$;byUg zu3I=aA#!5m4B8K#!TN)3vC~MM#^!wYJT4ZP$992%NM9;aL(jL!v|UxhHGRLLzpsW} zv*^n4UX%AdXGeN|L##J9i`JgrFA?kMt>K2Av$>uc_RcZvcD|OfJT1buJ;V|0Blqzx z0vU0KN^mu;)?h1R?PRq5Sc^l9*1$TINjGg7EpEf@9NU?E4kPru6|0cPC|3{he;@8( zes|JBX6~9rLf;6v_}QSQS>BsC<^w;H1tN#Fz$|Da97fdzia#1)Mv z`4p0AXzb`3Bg2LTep^M)Hwf5H?BSMVQnKA#H)N6 K-!x7|`WCv3yf17>ES;SDm+3OtO} z3ffe(BQ}fCk?9-}Cy`d3ye{(gAy9jXqt9O=f)0VjemJc;ZAwqI-n#V5ts6i5b@5CT z>kwD4Ud1DljoN_c5(ffGR=UfWGVYBkHc45PCo@(~SFkx)FLbjaxsR zl6-Dda6+Kfh0P_VC!^(ZLzc74%A2VYT~1@0f)@kTx~7F$7I)9^@SeWj!@K$hddb4Q zosKN`u+KP}>5OTaJkbdCSSdcL1`Jal%1@5#_Nc5Ux!Ou|G z9XP>IWa0Z+3#^!%sseIki-;w?mMxEiG+f-;co}6d(X92;mi#@5Np6MW* z^1E`&oT4d4LXFSPd^#Iszjk(5TjuoS<($~YJ?Fb!V^GWb=v7Mg3z%$r5GME1Cs7J} zC`mBp5~IJpL`*W(_#ebdyF>x3*)o!7=j{yphPRXKK>`a3j^sBx#@DkC2KOZ8nh`5+ zCv|U4jTel6EU%NCvUT>Erf$3X))}DUAAMX}tR5^!CI2b__659zm-&2!UuBq&d3@)8 z2Jf$OB+jScvpjYU;)-kX8t-x%JoI1ZUG)rb3a8z%H}ED$xLDNDQHW#x*P$G^j*0^{ z^RJ=m8kHZL!6JbfGztu^>9~sJKVntQnyXmLYr|#K4tmdup^mjz@o2|ymk}A@(AFyq zZy{nl+d8oUn|T~{(*F+Zdi{`>%+|9%OZ$&FvJT<9bYG^RUg3Ev z6m;I@lYeaTn_uow`E7`91&I(*`xxhZgnlPN3VmF-j_ocw-GfA<=K?}kVrypbWErlb zpU@4slS9`qJVZeD-NaZ|s3A0iX9T*+8_H+!oWNITk#AJMO{BWQ9>fjd85}9Y<-33K z`>2H66p&!&2sT~iFJnnp$a_)gD%4O;z#Bpmak$_VjQb5$)BG*R?}lE{j}55YMe(K?R`n$jB%7lsempZkHPwMVhwfsetn?H=py3$obsJw=Y~FM~Uy3^j22j%ky!Tt0Z5; zsQ3pp3bx-tyMlfN{7pIZH&)$c#37fo3!LPPPh|wAV7x0k+_y7O^ diff --git a/target/classes/com/ghost/temple/ExcelUtils.class b/target/classes/com/ghost/temple/ExcelUtils.class index cd81ef295255124eec9d39345b86f37785de0b57..bc414d1d772799353431436c8f9f588fcb8925c9 100644 GIT binary patch literal 3090 zcma)8U3VMR72Q{sG^5cZP!Zc1;(!uDYA150P->{}fZQXrG60udIu$DbDckVg+ zoH=KoeRcD{AN&o#V|YhFOkiKxub2yqeh`|WU8%aZd3w2QyXQj34HU!$?p?B8vP{?V z7R+bnmh5sUkT`Yv3y)tLlrmZ>G7RVI*vgOWLHAk*nFXQ2&6A0`tbjdL<(0|De%Zq30 zb`YMjLhIzpgzwfX9z72Y7VczU3TuwHkRNKks`CTQf)j)UNR^xg&kE}`Ci2v$a2e}> zXsx3fwW5sY$MXvM1@4Oyh@zdS)vOg6QbQkhDY&1hN4t)1o^f1z(yP`(`rB4T#ehII zsFlr%<#=Yz4*YtpYzOR7^COQfyTP&s0}sfOJ}A(;Q{FQQ4hS6aYYV1TwaSaOS@j)r zIS4M9^}w!G*cR7(zEnDM-mhJr^Zm;jvUo@$9unBwLS%MZGRqImq;VL73O>vFb|44A z7Th+bjv*WoP#5g5v}oJp&*MAgTIhxqIp)*I;h2J9fdh9n)?wmvWFn(J=UlXF zf>sRhC>~Srd4UJJ1)!;pFJMGKA^e2xx&ja14PTn&%Mw1e+c@z9bRiWHhOALI7z@;Ix8M0=w@JPI67h8E{m4toiv4k~F6|KXf65 zNj$CKsqKMQ0_uT|0;cHg*V(q-Chf_GXE{kNrjq5)w0XQG`;&FYowsW$&I+V&z5C&< z_pW7GwycIC9*~!59p^x8NLtmZ?J>6jS-{R|ZNcPKJTDL%jodFt&#wv$@5rK0LXa`P zECM~AJk}Mo2)jv`MhGW%QqZKvr;~o*bZ~L*hQf(iNBOO)zlt&VEaA(IYqsxbSfWmTi2 zSi!G(9Cee#rU+`K=$MlI;~{_Nhr}_-2^;|HDt{p0ek73OUEwMQmH*@jG+xtuWAaW( zL*mF9^uI(VyLpukpxHgV>P-XOi_b*wGPsW*d-xnfuLSAIB2Fua@eTCNu3>LMOo`$K zjM>b-HS8aaZy-Bs#Mf|eG+`u;tmEMrMw2}w$|_zllD*10j`D?Ss2?G@ilr9FXsTyK zTg6dB?bX)t2rbe^%1Gb9ZX?~m;|=6jk;pu`j*~H*zov;^E%DpUzyB3q*+6kN^XwX) z>s1;kWzIJ+Yor?ZS_2mw_{LEq)pAipuVN(E!Seln^Qw`!fdM124o6@WnJKx}TI<|( zBYp#CjCcd?D#nYskDv}utzuVh_zzHX!wpoVff^a)uJ5#;yFQg`AZVwz%=C_~~d9hQjFu<_)ZjW1TW(i zcD^6C@LhV#+}_9caE)}z;Z1xWuaPAtevH@g2FZ0CK7N27GN&S5z>nyg!dX1R{WnOq zi_GXJ_$kti8>jbMW#FZweS99Eb& z@NZ-kJo+E(=C0V}r|LUf(nwk;_!W4W*kqu)TgIZ0W4EFH3ubJS=_mgmUE+DS*`xyR bsnl(xPDBqf1Oa5)(j<&?{TqH!3~&Dr-gz3L literal 2307 zcma)8T~iZh6n@@h!yCe)d!x3t zF{>#^h0-CgKisojW6E}{=}NU0xGr!o@0N{X z$@K$HQ@QF`hKhA=aX{HN?Fxs2ky*Q9H99)4hzj&%T{d~a^lbIqG-^S~X3(K*3(Sl_ z`?3|}OKNTf2BT%&8q`Kz!!v>%V1%&wH_iI_jgc8_solnSQ0*nlELa{#qouo&I-Tz; zg^+#nL38>Aj<<~48fFH^m(_cx8@zX)U+N85v%ZL4UNwk&?crO^n&q&r+q!6$gIy?u zwc5L@F8w>Z@UXhoiPJk>FGMmoQFmJ|kxFN%4i-J^s00~BPW4783Fqu$#SCg5x2Ip< z!2g{+l?%^xb^23t+d7<3HNjDQ#P5yziGfl;8?V!RGPnw^iP3e4r{VU;ysB+*Ha_81 zZ#W=}89udR7IOq)aBL77lC(YBfLvThdv*h<#U6bfduBG!y*Rdx-r4cdI{ITcucftk z9dGb1k=C@vU0eK&?33w49d8Nzgs~IpM4zlYn6x(QsD$ZS#tiKv-22wsve5t|Af_@9`FLt|IIgt#nmS;I1O$514T IQg~RVSO1WMDJ1%+3VT zs+iS0dYd0c0V@;wi}GvnNY^4KnPUsaaW93vof)-#N4-aj<-wGb6WBJix~WMDO;5@6>0@%N zKO?85OFOr=4tf4$!plncjGf5IjC7rFI<7^4QMjZD6r|@?=|ruGz-)?xjrYC z&DgVYT;tOc)|=R%zE(N8epewFH?T=y?IL&m=h8B(SQRj6NZvqeHT%dh$!Qo`K@Jhu zrUE;C`jDNC_^L=}ob>7Y!aZ6Ifrm}hW36JK&BQkCmQj15D}qMIs7cO$_1y zlh~E#h;dy(LPbc9Kta7<(#MKRc8L6fhPo-7GpPWU2o`Q#-$&}5drJ{iL^r1SSD%uXWZ5rYtwiWULw0S~t@W{lIEPemv#cz#DZW`Ru)?cl&&2 zM*7LsYINJEftLlguhaq$u>a>B(tl2-L)MWvUg7*;`;(z+W4V)$Jhfw~MXiA!$~KmT zm+)N^ui`cKDya|4ly@e}-%sqIaqWZHAb8D&ka2co*PWGAcLdHhV3&dUP3Rt2g9d#Qjn4hdKA z3j;qF*trUV{&QK5hH{+K;JBlQM-x}^OBUB?*jdK>$UO~;JjF8ppQ_Y|e{JG7xW-%w zT}~V{Jc={j+b5#QHc=RHmo$rFe63MDu%i#UMUurJJDZ9nfgP(Ew#1tp)0*#&!BHpY za7tACzHQZnkFao~B$-n#- zo;x1vNG;&2Wvq!c%4c6!KI6W8XtZdQkCU_AG^LwAG?NUHJ+!c=Bo?zn04Hr>+4lzde7l zD8D6=Pigoqey2~F_&wevDOJpy`_TE;$~q5H=g@zl^N*N|aK1=eRiWD6-m!oi%4?er z6%yhm6QZM-0G)HVb)BbFQBZX<@6bl_1RUX7ipe{|(s7h^;+VF{%1bWtu${T5oLNI2 VREa4ol$ZmoFfIJ>7ftD3{{;)vp5Oog literal 2443 zcma)8TUQfT6#h;U7)XXo5dsKel#5BQ#J1X2V=ViQKlbJXdD$o5B z^%wZ!i+!-gwc6F^{;00*GczS&5v32wIcI0@@7uStPyYVr?VkX?Ks}BKq6%Uvy3oxq zxX%xG&fsP>_h4^dXf8wdZQaz}I}Fiurkp?zdKJV~B%m@(S#~vNHHG<%=Nw@OQ}-IV z9kEw1L_?TloY0*W-Dw*9P*i+`#}c7m#eg*L)t!RL_Y6@{@BzcQ7J1>hCYr8pnQ@%M zu!0d4NsKaF)~rUZTC*HC=ZZ$t5V=j^ITB*kGc{@8Fbrrlq1D^nm`)ep?`b~cJ2tN3 zyi7xvX6Ra7x;m-iLMRd3R&bFa*>ZEa#_f`L<_S|1Qu~sM%a~^9afDg9Cl1M($@Ffq zvq3&nRxryj*U7bYs)M81debdD7nUtU>U}m=~`u7{FHWW zPh|25%pjv8i+P4V;TwyRkHl~@-R4WlwRN+aZ+9=Kc|Oyo6^au05DN-&Dz4!ph6|m1 zri`!H`hl>i(p5p#AL&4sDfi+NTvu>I#i#h}M9Y;99jYo>Tb{HIywI)OLvqw5cLi_c zhp2CFs z8)x36(^<|CM%Mv1JU<()%MccUq5otfGc3K6C1|kxS)oeG?n>B<7vH5Ff>9FX4BNI1 zhU;fCpYmUFMLlU8FIk?giB(VGexO&mOS2~BTB+^L;;j^8P}fXT*vkfY9N{Ra zGR&TexlIO@{s7D1=HR#47F8 zKmlLlE}eSi`$H0GY|<)0C$dLS7+zqIHhprV#9ks6eN~LU@{LC^Ml&PoL-*4vVa5>0 zIK7^dB1tgg^jX8YuRno%D3W}`*Ni3?*`h)Kz4R#E54qQ9m5%pkf5*@Z^b+$JgN&e^ zW)SqCqK|@aMbh5}9tGenrawPi~W`^d7DiTnoqu6PcME*em zy}`qnYU3EeHp(O?bDxcd6n5}!2>mnJ$ZSt$=Z|nTf|nTH_!S?|zs2Xk8{EG724B4< zT~Gvast2i~m!BllB)dY=8LH7N#WzRMrG4fU=_N>8R?E-Tu@94YbR4IG$T}5Gf<7j= Z2zK!utvy8dggzPso#M26iW>GY{x545TKfP1 diff --git a/target/classes/com/ghost/temple/hooks/Hooks.class b/target/classes/com/ghost/temple/hooks/Hooks.class index 8c533062d21cf906ceddda221a72f07648c479a6..221d65617b0b2d5134a5051850691e45255d6b96 100644 GIT binary patch delta 135 zcmcc1wx5mb)W2Q(7#J8#7_>HW9cP^Ug7JTT3Ih`mGBEIqFi7lRkXp{b;iJ8cL17~U zBT$fyfs;Xzfti5|$QEK?0h4SD!a%+V10RC~12<4a45FQZhk+N!;{vKuWl#g^RtNIf T8JIlT85CK7Tn!+Xi9r(pks%O4 delta 166 zcmW;Ey$-=(6vpxYTlJP#NmQeaNe7>;%_UeQZo|-+H1tMXgt?0}21bd^1-KO)%~{Ux zIVaCuzqNUOt~X%GqA(8?7(B)<6STtYkLh8RrTI2Hz0^0~Vab5!6P66lG&b>tVacdK wNv>%UQNzgIr~dzxtS9#A5YQ#0Ro$uvrCIA2c diff --git a/target/classes/testData.xlsx b/target/classes/testData.xlsx index 1e67f50c2c187447224b3dbe8771b11f0e7436f4..a68ba14c466788c74d0e52936c1b4d6ca4b7806a 100644 GIT binary patch literal 6181 zcmaJ_1yodP*B-hX1d$Z!PC=wY=^>;?y1P4uZYgPLkdy|Ap+!PcK)Oq6WEiCce(-+l z%IEjryU#i^bJjY0pLzHDoM%6K0~L^vi2>;7=l~=OG(Er_!@Bux;B02=!pU*_S((_S z+{1+(2K9+zIpJRvN6#y6Reat`%SYAu$o@e?WI=B*?1wZFA$DwSPn?r~z?E^)lA=A^ z5*LHQ%g7fxk%$lm6Ti2;Lsw2-oC3r7{(S_3&(s{GSe##}$iqLaN(>hIxW>z4?i?#A zj3aED?3)5a#KWCIFFbgzOe3~JboOHioh&r-X9AGhLX_-m`0eGWDZE8_*R&oc(Yp7` zD;D^^6>KBKF$=@=S~Bx%9$JPbTnxj2$zMcj}o2VbH&3P5=veJ`DoqjpF>+jKm|1P&BVP;;QFNK}7DE`|d|He`AS-(yG8^?6sfHTR9x+9)! zD4vr1EH`U&y?CtVIh^?dRY>ibzWf#m1#KHfpWh%gJ~?yJV0@k1Qw+h`<)dlW2#>i4 zs4i{l{DLL3N!XTSrL45-#&wkKyo3ns(~ptkI$)^ihZs#)FE`QV^*W~Nd=%wpbxzP$ zq?&Rr^SW;g##FHVJW7pE3L& z%V25cN8u9qA?zGkM-Z74h`gNjlWTfLW*($BfmtbO9$XL2#g>!{tavhIgDpwoP>tTF zV=u+_B}uf%sb}cdD%(%w6tadtdCU0qRF4my^i;eVGG;&ercZNqD=S!E$Xt}(!{ON& z^mWZolw0fsHUVJQ2mpXP(!XH`=P&HIxO&-|x!fY>KzrOilZ)7ISxejBfYvIbkqGGa zChZ5$3mcXf89!D65z6~y8$XBnU%um}jjzv4w$^(>&)JA~lI8P$ChB0tSjQPI{@PqE z#M5=dL|W#dIs*)Ud1URxg3L-vTK+vTUoZdE=|gW)OLZ4-b)Ypq6FTKuciL|7_SeE( z`tfJA`H0!3YOi}cft%Uyi0Mlk3ln`zmUF!6jS!!KwUeE!_~bVv$*RXC`uPpi0B?z6 zvKC$|b`4svlsu&HQC(?3RE?LbnNBxElLq@s;)MkF_lGeiDuil?;yF=V43BmPB~ONe z2u8M|bhzl~*BgRA;xyC9_t*$S7+QyF60D?PYTVlmoI6k)h?VUn**561Zw5gXNMKSz z$c+u0&zU0eMMkLW9^iB8h#Vm)eYT!Nm1ji*)h{D9Hwr)%L@$cjP{a4v3l*f(S6`6G z*(lHkt9DwMi)+`kRaYjwwvdTQpm)`z$ed&LpnRSK9C6rBZXcRw92`-6`5&_p=270w3 z?js7Y)x`T4#9)Im947GJB4$&Ol$rzFWlSI15%%zcm>3Q%c+3|~nAE3c#q}9Z_(17w z+L)6s3!6R(uxwWC@y#_TSB?%#eqZ%3()_$~kanN?Q=6grc7q$2%YTl#==6aj(Mxq@ zS)WbwS}ps&i;bde%Bh@4l0HDL7bPC zgy&SN&7H~6l&de{Q>`}3>f}x_X)C5*sUu;_79E9XwA3%;B7Oh@%Zm)GLCeVCK?OBh zegghgM>TXES{%J*EDd&y?jLF&f&{U*B|@1_D7#~Qal)7|Gm?Z89+RxjfuDEBqn?)) zHtddNe=Gl1EsgfPVVyVEb6eTF%~GJd+>#@dFf@B3-?}umP9Hg%)Jt^Ww1ZX#qp;;| zv6>T_=4RDEtt70bbQ!@NN8XOP;M|hvN8RLFK*CFjbOu;mCvXFiTV|y~R=Ae-+{SM7 zd+;e@*r8zmL@p$&C{0oXn^z^#_-jCfy(mLp&y$}r0}?pX*(@K7P=1n!X`orecF09R znHdeIYOP`eqIxO~bHuSc6~oa2i0~_UpSQ4rS4Egz@k+OyLx=~WO>nRg*5fL zya9@slU#O8;)1lo7gS`Ne)b!t0A_2VwG=M%2{>fo^a}U%I2|g2rE2HgD_+Qijdmfn z|J|iL;h2h2#>C7@WjM2eWNkbR+ukzDw2lil-QO0T z>|N__#l95Ml>G+)ZM$m4P*H%0TyeA`6(a-)Oi}5Lz-{X~$NsSMqw;6>S6`JMA>gJ> z-g<-<1x``j`$7z`ZA>(GFa*2BHh&m=EvUq| zJTNRCFeSL}cC{Su^nj-wpQj~55hS5sdzcx_H>k#pn_b_|QT@5-l^IHoN+JQq_Tp6M z5e2~mGc>tO%dJ(_6qbb-hKm+Pg2i0(yU1v~|4Q@reAGqRE#_ zl0!i4qsU2=)6RVKHDY={=5&UxS<&}LajylP?lJG0$*c0A-lWI$*)f)&+gsU2BG7^# zH>4!*x!Hx|RfV9UAoY~y9Vid)FCZ#4TqmN-<)D0tSnQUT+E{5tGD$B!JEd`abH#;DOt4k4; zMJ|k4oaVEOS4;HNsY_lI#mw0))BBE!R}{s@eE^Fkhg8ujl;jo07gDaL__G(LL`eF~ z^CXM;ubk@1xrupta@FHx_~H&9YHFBMX%wp*ljbi?5ii+DRjMDG4#+4)vOhN6*3i*G zc&ZqUNWASWQ}iTsci1K-U@<3qh>e7-6#<1RzKc8scRc;#I~SSlh0&7>(p$R7tSa06 zdQ%?bZ-nMQ%PaD~=;ALSdRJuqB}x;NY<`K-OA^_W4{~TGF@lg7iK@#}gg(`^v0j11 z>4s~6jt6>}X8U7FV_%NjpMT%wi`|XrmBL0X%SR6F`rwWZ0bd>-tlrlg&R<%wq<>XS zO<3MWG!sZF$EjO)EU3d_+#N3rDjbkkF8wml5`3V_IRumYoP{t6F2Lo|5xEj{2%dPY2<8Xs_yD+WpD9I zL&R#1+dp`W?+evpg9GbJeC5@0nbhXN8GLRlg8YPNGSsE55Mj-yhoM7B75;t}UQt9y zGI@;A8_pJjt-{;Kq$g6jl#JgAIq#{IGh(f2E3BJ%)SP;robPX=Sh?3YNjx-Q!>x!W zOMC2+Hcd$PC4KG@ z5+pKReZ#kXFm;=C2rf3;@{(`)hzpfL#BvMV*=}BhK~OIQT%WQ-`TH>m`GJ=mc3Fnqht-2#F-bKsaVtG!?2F*@DL)V z{h2xWMF8k$C&}XbosZ1#okIp)AI1*67_ThhY&DRKAqbN(m!*e0%#x|T2D><1#5X4( zS{2p4$zq5JebC!0$v=_s-9A%#~5<2-s@Hsiikx3DC z$2d9(kYhXo6*4kU1H|LvWNf3Z+dfw*Re>)mq>^*OdysZd;1&7HM=x9AYVj6aZOhu$ zAxc^NXma_&?=F}mT6zf8H_0DBD>dPC)~WljScTbE@zVkU2dip<=Wy;87*TtD4Qx}& zP(&HL>dW3MQLLfJi;Uiw^@Td_X(~LGoqDxXpNpMA9RpOCFH43{#N(NS;o)6s@3XoC z?Ye?sXtVjoLPN8+h`)TI>s@;7lv*D?rr>RXnmP>sv2(Ut?#AguUQCYi_^dNW_ff@Q z)tt;;ukG}EFuVO!7Efo_nqs+|sNz7#Pq#th%4y`_QRI-?(@voRB`Z)W<~=X_=xZhu z?Xl0*6yl@mRKC$O&knRSAk4!aZKuV4E1F32iBEN<&JpA~KZ;5F@5zoEi1LQ;Czl{n zMMC##>C6os%p69lamftn#b&;2X$LU`YE;o zp|EH)*PK{xHQUPPJ^F?29El`F`YT3Ad#m^HDzR+QPTn14ZX9d*)puW0re6PIA899& zu&2lXKm+=}@iM^;`QfuA(oyIiqr%SECS_I+nIflhs}$Em=yQ>sz%S;huhArk!I>AAQCcCMNZ8ZWntW1% zRl#&oh_WJxO{5Pl%F>O}lQM{n+c6xNwJdFH*~b>_0ZO7wkW-)#h+4Dn3}*R_aWf9e z&p?9eCcqR^2C^~T#a2P)6LO$y0)Nnwm|MZQWMjE;APhc+ZbV*!awvo}k@_Glbzu0w z8VnPR;kRH(MFf%5g-a33Y!Sx?_N;p~anN}0UUo1X zO7&zQ&00lA%_Q}3#|Gi2H}vVqMp#^#)S(z1s51Y4BoQG4BOMMZ$P7n#{0j2)Fe43+g*ASujJ5u zJIT2qdC}|i2!&gm31==%KuK~A7v&(Vb~03PIGm7lJfH)xw*EB7wqx4lV)HoIs#YYV z^b%V0NJA3|_Xz(!Z4F^A zo{2~Eg_9g)k)_yrTf4ffo^ECQh6y;wzMobC4OvUhuP`53tl7T04%Jkqghubx9!D~I zV)Q*GlyG!cPzbMOZb0BxIL@4i6H%&H**tWl2ANEXM z#Ic>g>d1|cg)J$RXO@X=>{Gcvsv6ad?jjmi&qC!8X?N^Xn2$W65nEHaBDpTQ zb9UI{2<7V&csI#xyE*?^i`?`zcQEhf;_6`cE1x4ZnB82&p{t8;(P!s1&=Mx< zqXmUEPU4pu5nLSlm7@K8=z%XU)ZiyP@q-(N#WdZIC< zIvYxK_Rv@8>}Z$&QUTX=8G5?pKM8#x#aidT59{pjDRdGrG6B$UfVniN&?_dI_LcvA^?0o>{o^$(u4uZ*b9B zkL>j6;CxAwX=nPTqU%ZCi#P_)7($?;OWq&_gpF##hA%U&_QQ0bf@GDmP+8mK$0356 z;6hv*Bo+-!JNoZNHVVc}dJ}~Go1VThX_{2YDt;T{pZ9SwTgv>LJ1{<0+6NYFG#*5& z3FY@q2B}gHKGKw99FaWm4z&4zw@_p-;wUa4@{X_%^z)seh8GQusp7rSRstw$3#}5Z zVRpBhUKee;`W|&DHqHh=1Fh%EQ;>XShOcF-?`QAGizdNyvMO1;Bb+NSq%9AUKD=YZB{ClT$O{;!*qF}#6 zQECLSrn&duc(nx=dp!;#l$B@@_hhbjJfgto`;+*~Ptg3!1oVWeHfLe%!zxFrvKa>6 z=NPx(TN7@=Gra-cB+Bh3As`Y1eh*~t&LD3Gvj1&&#QjwpW{+Bb-dz6eZSpr2{TbjcwEjE5?#<=@^UebmP;Ryf0KmLC0&gnIE0Wu*{{v{Y Bcc1_O literal 6221 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 A1poj5 diff --git a/target/cucumber-report.html b/target/cucumber-report.html index f3eb51f..c4bd36a 100644 --- a/target/cucumber-report.html +++ b/target/cucumber-report.html @@ -40,7 +40,7 @@ body{padding:0;margin:0}.html-formatter{max-width:1600px;min-height:100vh;margin