summaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMavlushechka <mavlushechka@gmail.com>2022-09-21 22:53:01 +0500
committerMavlushechka <mavlushechka@gmail.com>2022-09-21 22:53:01 +0500
commitcad3399b17c521464072f33555f719952d673cd7 (patch)
treea9e630e0be4a32950258bbf750397e128b376737 /src/test/java
parent7aa745ca6f86c307e871dd908b79bc296393d476 (diff)
Solve TestCase1
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/mavlushechka/a1qa/TestCase1.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/test/java/com/mavlushechka/a1qa/TestCase1.java b/src/test/java/com/mavlushechka/a1qa/TestCase1.java
new file mode 100644
index 0000000..e26ce84
--- /dev/null
+++ b/src/test/java/com/mavlushechka/a1qa/TestCase1.java
@@ -0,0 +1,68 @@
+package com.mavlushechka.a1qa;
+
+import com.mavlushechka.a1qa.models.Domain;
+import com.mavlushechka.a1qa.models.Email;
+import com.mavlushechka.a1qa.models.Interest;
+import com.mavlushechka.a1qa.models.User;
+import com.mavlushechka.a1qa.pages.GamePage;
+import com.mavlushechka.a1qa.pages.HomePage;
+import com.mavlushechka.a1qa.utils.IntegerUtils;
+import com.mavlushechka.a1qa.utils.JSONParser;
+import com.mavlushechka.a1qa.utils.LoggerUtils;
+import com.mavlushechka.a1qa.utils.StringUtils;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+public class TestCase1 extends BaseTest {
+
+ @Test
+ public void test() {
+ HomePage homePage = new HomePage();
+ Assert.assertTrue(homePage.isOpened(), "This is not the " + homePage.getName() + ".");
+ LoggerUtils.step("Click the link (in text 'Please click HERE to GO to the next page') to navigate the next page.");
+ homePage.clickNextPageButton();
+
+ GamePage gamePage = new GamePage();
+ String randomUpperText = StringUtils.generateRandomText(
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.lettersLowerBound")),
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.lettersUpperBound")),
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.length"))
+ ).toUpperCase();
+ User user = new User(
+ new Email(
+ StringUtils.generateRandomText(
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.lettersLowerBound")),
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.lettersUpperBound")),
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.length"))
+ ) + randomUpperText,
+ StringUtils.generateRandomText(
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.lettersLowerBound")),
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.lettersUpperBound")),
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.length"))
+ ),
+ Domain.values()[IntegerUtils.getRandomNumber(Integer.parseInt(JSONParser.parse("config", "integerUtils.randomNumberMin")), Domain.values().length)]
+ ),
+ StringUtils.generateRandomText(
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.lettersLowerBound")),
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.lettersUpperBound")),
+ Integer.parseInt(JSONParser.parse("config", "randomTextGenerator.length"))
+ ) + randomUpperText + IntegerUtils.getRandomNumber(
+ Integer.parseInt(JSONParser.parse("config", "integerUtils.randomNumberMin")),
+ Integer.parseInt(JSONParser.parse("config", "integerUtils.randomNumberMax"))
+ )
+ );
+ Assert.assertTrue(gamePage.isOpened(), "This is not the " + gamePage.getName() + ".");
+ Assert.assertTrue(gamePage.isFirstCardFormOpened(), "The first card is not opened.");
+ LoggerUtils.step("Input random valid password, email, accept the terms of use and click \"next\" button.");
+ gamePage.performAuthorization(user);
+
+ Assert.assertTrue(gamePage.isSecondCardOpened(), "The second card is not opened.");
+ gamePage.select(Interest.UNSELECTALL);
+ LoggerUtils.step("Choose %d random interest, upload image, click \"Next\" button.".formatted(Integer.parseInt(JSONParser.parse("testData", "testCase1.interestsToChoose"))));
+ for (int i = 0; i < Integer.parseInt(JSONParser.parse("testData", "testCase1.interestsToChoose")); i++) {
+ gamePage.select(Interest.values()[IntegerUtils.getRandomNumber(Integer.parseInt(JSONParser.parse("config", "integerUtils.randomNumberMin")), Interest.values().length)]);
+ }
+ gamePage.clickDownloadImageButton();
+ }
+
+}