From 113808a60c6ab41b4bef14463746d20a2a754f48 Mon Sep 17 00:00:00 2001 From: shekhar-cis Date: Mon, 25 Oct 2021 13:52:56 +0530 Subject: [PATCH] resolved conflict --- .../tests/test_create_random_address.py | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/bitmessagekivy/tests/test_create_random_address.py diff --git a/src/bitmessagekivy/tests/test_create_random_address.py b/src/bitmessagekivy/tests/test_create_random_address.py new file mode 100644 index 00000000..3f5e7b67 --- /dev/null +++ b/src/bitmessagekivy/tests/test_create_random_address.py @@ -0,0 +1,81 @@ +from time import time +from random import choice +from string import ascii_lowercase +from telenium.client import TeleniumHttpException +from .telenium_process import TeleniumTestProcess +from .common import skip_screen_checks +from .common import ordered + + +class CreateRandomAddress(TeleniumTestProcess): + """This is for testing randrom address creation""" + + @staticmethod + def populate_test_data(): + pass + + @skip_screen_checks + @ordered + # This method tests the landing screen when the app runs first time and + # the landing screen should be "login" where we can create new address + def test_landing_screen(self): + """Click on Proceed Button to Proceed to Next Screen.""" + # Checking current Screen(Login screen) + self.assert_wait_no_except('//ScreenManager[@current]', timeout=15, value='login') + # Click on "Proceed Next" Button to "generate random label for address" screen + # Some widgets cannot renders suddenly and become not functional so we used loop with a timeout. + start = time() + deadline = start + 2 + while time() < deadline: + try: + # Clicking on Proceed Next Button to redirect to "random" screen + self.cli.wait_click('//Screen[0]//MDFillRoundFlatIconButton[@text=\"Proceed Next\"]', timeout=5) + except TeleniumHttpException: + # Checking Current Screen(Random Screen) after Clicking on "Proceed Next" Button + self.assertExists("//ScreenManager[@current=\"random\"]", timeout=5) + self.assertExists("//ScreenManager[@current=\"random\"]", timeout=5) + + @skip_screen_checks + @ordered + def test_generate_random_address_label(self): + """Creating New Adress For New User.""" + # Checking the Button is rendered + self.assertExists( + '//RandomBoxlayout/BoxLayout[0]/AnchorLayout[1]/MDTextField[@hint_text=\"Label\"]', timeout=2) + # Click on Label Text Field to give address Label + self.cli.wait_click( + '//RandomBoxlayout/BoxLayout[0]/AnchorLayout[1]/MDTextField[@hint_text=\"Label\"]', timeout=2) + # Enter a Label Randomly + random_label = "" + for _ in range(10): + random_label += choice(ascii_lowercase) + self.cli.setattr('//RandomBoxlayout//AnchorLayout[1]/MDTextField[0]', "text", random_label) + self.cli.sleep(0.1) + # Checking the Button is rendered + self.assertExists('//RandomBoxlayout//MDFillRoundFlatIconButton[@text=\"Proceed Next\"]', timeout=3) + # Click on Proceed Next button to generate random Address + self.cli.wait_click('//RandomBoxlayout//MDFillRoundFlatIconButton[@text=\"Proceed Next\"]', timeout=3) + # Checking "My Address" Screen after creating a address + self.assertExists("//ScreenManager[@current=\"myaddress\"]", timeout=5) + # Checking the new address is created + self.assertExists('//MDList[0]/CustomTwoLineAvatarIconListItem', timeout=10) + + @skip_screen_checks + @ordered + def test_set_default_address(self): + """Select First Address From Drawer-Box""" + # Checking current screen + self.assertExists("//ScreenManager[@current=\"myaddress\"]", timeout=5) + # This is for opening side navbar + self.open_side_navbar() + # Click to open Address Dropdown + self.cli.wait_click('//NavigationItem[0]/CustomSpinner[0]', timeout=5) + # Checking the dropdown option is exist + self.assertExists('//MySpinnerOption[0]', timeout=5) + is_open = self.cli.getattr('//NavigationItem[0]/CustomSpinner[@is_open]', 'is_open') + # Check the state of dropdown. + self.assertEqual(is_open, True) + # Selection of an address to set as a default address. + self.cli.wait_click('//MySpinnerOption[0]', timeout=5) + # Checking current screen + self.assertExists("//ScreenManager[@current=\"inbox\"]", timeout=5)