From 72e583fa37cbb15587fc6567e76be741b4a06ded Mon Sep 17 00:00:00 2001 From: Trent Palmer Date: Sun, 22 Aug 2021 11:05:55 -0700 Subject: [PATCH] add test_description_per_tags.py --- test/test_description_per_tags.py | 69 +++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 test/test_description_per_tags.py diff --git a/test/test_description_per_tags.py b/test/test_description_per_tags.py new file mode 100644 index 0000000..68054c5 --- /dev/null +++ b/test/test_description_per_tags.py @@ -0,0 +1,69 @@ +from test.test_description import TestDescription +from unittest import TestCase +from secrets import choice +import re + + +class TestDescriptionPerTags(TestDescription, TestCase): + def setUp(self): + super(TestDescriptionPerTags, self).setUp() + self.driver.find_element_by_id('button-for-filter-by-tags').click() + self.match = re.compile(r'^(.*)(\s\(\d*\))$') + + def test_description_per_tags(self): + tagSelectionRow = self.driver.find_element_by_id( + 'tagSelectionRow') + + inputs = [ + x.get_attribute( + 'id' + ) for x in tagSelectionRow.find_elements_by_tag_name( + 'input' + ) + ] + + for x in inputs: + button = self.driver.find_element_by_id( + x).find_element_by_xpath('..') + + self.tags = self.match.search( + button.find_element_by_tag_name('label').text).group(1) + + button.click() + self.coalesced_text_test() + + self.driver.find_element_by_id( + x).find_element_by_xpath('..').click() + + def test_description_per_tags_random(self): + self.randomly_select_tag() + + def randomly_select_tag(self): + tagSelectionRow = self.driver.find_element_by_id( + 'tagSelectionRow') + + inputs = [ + x.get_attribute( + 'id' + ) for x in tagSelectionRow.find_elements_by_tag_name( + 'input' + ) + ] + + unchecked_inputs = [ + x for x in inputs if self.driver.find_element_by_id( + x).is_selected() is False + ] + + if len(unchecked_inputs) > 0: + random_input = choice(unchecked_inputs) + button = self.driver.find_element_by_id( + random_input).find_element_by_xpath('..') + + tag = self.match.search( + button.find_element_by_tag_name('label').text).group(1) + + button.click() + + self.assertIn(tag, self.desc.text[143:-15]) + self.randomly_select_tag()