mirror of
https://github.com/TrentSPalmer/hugo_themes_report.git
synced 2024-12-04 16:41:31 -08:00
add test_description_per_features.py
This commit is contained in:
parent
cae74210bc
commit
fae3e8b328
69
test/test_description_per_features.py
Normal file
69
test/test_description_per_features.py
Normal file
@ -0,0 +1,69 @@
|
||||
from test.test_description import TestDescription
|
||||
from unittest import TestCase
|
||||
from secrets import choice
|
||||
import re
|
||||
|
||||
|
||||
class TestDescriptionPerFeatures(TestDescription, TestCase):
|
||||
def setUp(self):
|
||||
super(TestDescriptionPerFeatures, self).setUp()
|
||||
self.driver.find_element_by_id('button-for-filter-by-features').click()
|
||||
self.match = re.compile(r'^(.*)(\s\(\d*\))$')
|
||||
|
||||
def test_description_per_features(self):
|
||||
featureSelectionRow = self.driver.find_element_by_id(
|
||||
'featureSelectionRow')
|
||||
|
||||
inputs = [
|
||||
x.get_attribute(
|
||||
'id'
|
||||
) for x in featureSelectionRow.find_elements_by_tag_name(
|
||||
'input'
|
||||
)
|
||||
]
|
||||
|
||||
for x in inputs:
|
||||
button = self.driver.find_element_by_id(
|
||||
x).find_element_by_xpath('..')
|
||||
|
||||
self.features = 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_features_random(self):
|
||||
self.randomly_select_feature()
|
||||
|
||||
def randomly_select_feature(self):
|
||||
featureSelectionRow = self.driver.find_element_by_id(
|
||||
'featureSelectionRow')
|
||||
|
||||
inputs = [
|
||||
x.get_attribute(
|
||||
'id'
|
||||
) for x in featureSelectionRow.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('..')
|
||||
|
||||
feature = self.match.search(
|
||||
button.find_element_by_tag_name('label').text).group(1)
|
||||
|
||||
button.click()
|
||||
|
||||
self.assertIn(feature, self.desc.text[-15:])
|
||||
self.randomly_select_feature()
|
Loading…
Reference in New Issue
Block a user