Merge "Change TestImageAdmin to test proper pages"

This commit is contained in:
Jenkins 2016-02-16 11:31:37 +00:00 committed by Gerrit Code Review
commit 227db914bb
2 changed files with 23 additions and 62 deletions

View File

@ -129,10 +129,18 @@ class TableRegion(baseregion.BaseRegion):
for elem in self._get_elements(*self._rows_locator)]
def is_next_link_available(self):
return self._is_element_visible(*self._next_locator)
try:
self._turn_off_implicit_wait()
return self._is_element_visible(*self._next_locator)
finally:
self._turn_on_implicit_wait()
def is_prev_link_available(self):
return self._is_element_visible(*self._prev_locator)
try:
self._turn_off_implicit_wait()
return self._is_element_visible(*self._prev_locator)
finally:
self._turn_on_implicit_wait()
def turn_next_page(self):
if self.is_next_link_available():

View File

@ -14,7 +14,13 @@ from openstack_dashboard.test.integration_tests import helpers
from openstack_dashboard.test.integration_tests.regions import messages
class ImagesTestMixin(object):
class TestImages(helpers.TestCase):
"""Login as demo user"""
IMAGE_NAME = helpers.gen_random_resource_name("image")
@property
def images_page(self):
return self.home_pg.go_to_compute_imagespage()
def test_image_create_delete(self):
"""tests the image creation and deletion functionalities:
@ -23,7 +29,7 @@ class ImagesTestMixin(object):
* deletes the newly created image
* verifies the image does not appear in the table after deletion
"""
images_page = self.home_pg.go_to_compute_imagespage()
images_page = self.images_page
images_page.create_image(self.IMAGE_NAME)
self.assertTrue(images_page.find_message_and_dismiss(messages.SUCCESS))
@ -36,11 +42,6 @@ class ImagesTestMixin(object):
self.assertFalse(images_page.find_message_and_dismiss(messages.ERROR))
self.assertFalse(images_page.is_image_present(self.IMAGE_NAME))
class TestImage(helpers.TestCase, ImagesTestMixin):
"""Login as demo user"""
IMAGE_NAME = helpers.gen_random_resource_name("image")
def test_images_pagination(self):
"""This test checks images pagination
Steps:
@ -74,7 +75,7 @@ class TestImage(helpers.TestCase, ImagesTestMixin):
settings_page.change_pagesize(items_per_page)
settings_page.find_message_and_dismiss(messages.SUCCESS)
images_page = self.home_pg.go_to_compute_imagespage()
images_page = self.images_page
images_page.images_table.assert_definition(first_page_definition)
images_page.images_table.turn_next_page()
@ -94,58 +95,10 @@ class TestImage(helpers.TestCase, ImagesTestMixin):
settings_page.find_message_and_dismiss(messages.SUCCESS)
class TestImageAdmin(helpers.AdminTestCase, ImagesTestMixin):
class TestImagesAdmin(helpers.AdminTestCase, TestImages):
"""Login as admin user"""
IMAGE_NAME = helpers.gen_random_resource_name("image")
def test_images_pagination_under_admin(self):
"""This test checks images pagination under admin user
Steps:
1) Login to Horizon Dashboard as admin user
2) Navigate to user settings page
3) Change 'Items Per Page' value to 1
4) Go to Admin -> System -> Images page
5) Check that only 'Next' link is available, only one image is
available (and it has correct name)
6) Click 'Next' and check that both 'Prev' and 'Next' links are
available, only one image is available (and it has correct name)
7) Click 'Next' and check that only 'Prev' link is available,
only one image is visible (and it has correct name)
8) Click 'Prev' and check results (should be the same as for step6)
9) Click 'Prev' and check results (should be the same as for step5)
10) Go to user settings page and restore 'Items Per Page'
"""
default_image_list = self.CONFIG.image.images_list
items_per_page = 1
first_page_definition = {'Next': True, 'Prev': False,
'Count': items_per_page,
'Names': [default_image_list[0]]}
second_page_definition = {'Next': True, 'Prev': True,
'Count': items_per_page,
'Names': [default_image_list[1]]}
third_page_definition = {'Next': False, 'Prev': True,
'Count': items_per_page,
'Names': [default_image_list[2]]}
settings_page = self.home_pg.go_to_settings_usersettingspage()
settings_page.change_pagesize(items_per_page)
settings_page.find_message_and_dismiss(messages.SUCCESS)
images_page = self.home_pg.go_to_system_imagespage()
images_page.images_table.assert_definition(first_page_definition)
images_page.images_table.turn_next_page()
images_page.images_table.assert_definition(second_page_definition)
images_page.images_table.turn_next_page()
images_page.images_table.assert_definition(third_page_definition)
images_page.images_table.turn_prev_page()
images_page.images_table.assert_definition(second_page_definition)
images_page.images_table.turn_prev_page()
images_page.images_table.assert_definition(first_page_definition)
settings_page = self.home_pg.go_to_settings_usersettingspage()
settings_page.change_pagesize()
settings_page.find_message_and_dismiss(messages.SUCCESS)
@property
def images_page(self):
return self.home_pg.go_to_system_imagespage()