summaryrefslogtreecommitdiff
path: root/service/test/functional/features/steps
diff options
context:
space:
mode:
Diffstat (limited to 'service/test/functional/features/steps')
-rw-r--r--service/test/functional/features/steps/attachments.py10
-rw-r--r--service/test/functional/features/steps/common.py2
-rw-r--r--service/test/functional/features/steps/tag_list.py21
3 files changed, 14 insertions, 19 deletions
diff --git a/service/test/functional/features/steps/attachments.py b/service/test/functional/features/steps/attachments.py
index 8852b787..37fabb6a 100644
--- a/service/test/functional/features/steps/attachments.py
+++ b/service/test/functional/features/steps/attachments.py
@@ -13,6 +13,8 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+import os
+
from email.MIMEMultipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.mime.text import MIMEText
@@ -67,8 +69,10 @@ def find_icon(context):
def upload_big_file(context):
base_dir = "test/functional/features/files/"
fname = "over_5mb.data"
+ path = os.path.abspath(os.path.join(base_dir, fname))
+
context.browser.execute_script("$('#fileupload').removeAttr('hidden');")
- fill_by_css_selector(context, '#fileupload', base_dir + fname)
+ fill_by_css_selector(context, '#fileupload', path)
find_element_by_css_selector(context, '#upload-error-message')
@@ -97,7 +101,9 @@ def should_not_show_upload_error_message(context):
def upload_attachment(context):
base_dir = "test/functional/features/files/"
fname = "5mb.data"
- fill_by_css_selector(context, '#fileupload', base_dir + fname)
+ path = os.path.abspath(os.path.join(base_dir, fname))
+
+ fill_by_css_selector(context, '#fileupload', path)
attachment_list_item = find_element_by_css_selector(context, '#attachment-list-item li a')
assert attachment_list_item.text == "%s (5.00 Mb)" % fname
diff --git a/service/test/functional/features/steps/common.py b/service/test/functional/features/steps/common.py
index edfe2a50..3e1e995e 100644
--- a/service/test/functional/features/steps/common.py
+++ b/service/test/functional/features/steps/common.py
@@ -61,7 +61,7 @@ def _wait_until_elements_are_visible_by_locator(context, locator_tuple, timeout=
def _wait_until_element_is_visible_by_locator(context, locator_tuple, timeout=TIMEOUT_IN_S):
wait = WebDriverWait(context.browser, timeout)
- wait.until(EC.presence_of_element_located(locator_tuple))
+ wait.until(EC.visibility_of_element_located(locator_tuple))
return context.browser.find_element(locator_tuple[0], locator_tuple[1])
diff --git a/service/test/functional/features/steps/tag_list.py b/service/test/functional/features/steps/tag_list.py
index daea416d..e3382a61 100644
--- a/service/test/functional/features/steps/tag_list.py
+++ b/service/test/functional/features/steps/tag_list.py
@@ -14,11 +14,10 @@
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
from behave import when
-from selenium.common.exceptions import TimeoutException
+from selenium.common.exceptions import TimeoutException, StaleElementReferenceException
from common import (
find_element_by_class_name,
- find_element_by_id,
find_element_by_css_selector,
wait_for_user_alert_to_disapear)
@@ -37,12 +36,11 @@ def expand_side_nav(context):
if is_side_nav_expanded(context):
return
- toggle = find_element_by_class_name(context, 'side-nav-toggle')
- toggle.click()
+ find_element_by_css_selector(context, '.side-nav-toggle-icon i').click()
@when('I select the tag \'{tag}\'')
-def impl(context, tag):
+def select_tag(context, tag):
wait_for_user_alert_to_disapear(context)
expand_side_nav(context)
@@ -53,23 +51,14 @@ def impl(context, tag):
try:
find_element_by_css_selector(context, '#tag-%s' % tag)
- e = find_element_by_id(context, 'tag-%s' % tag)
+ e = find_element_by_css_selector(context, '#tag-%s .tag-label' % tag)
e.click()
find_element_by_css_selector(context, ".mail-list-entry__item[href*='%s']" % tag)
success = True
- except TimeoutException:
+ except (TimeoutException, StaleElementReferenceException):
pass
finally:
try_again -= 1
assert success
-
-
-@when('I am in \'{tag}\'')
-def impl(context, tag):
- expand_side_nav(context)
-
- find_element_by_css_selector(context, '#tag-%s' % tag)
- e = find_element_by_id(context, 'tag-%s' % tag)
- assert "selected" in e.get_attribute("class")