aboutsummaryrefslogtreecommitdiffstats
path: root/tests/uiTests/test_cms_news_and_announcementsion.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/uiTests/test_cms_news_and_announcementsion.py')
-rw-r--r--tests/uiTests/test_cms_news_and_announcementsion.py144
1 files changed, 144 insertions, 0 deletions
diff --git a/tests/uiTests/test_cms_news_and_announcementsion.py b/tests/uiTests/test_cms_news_and_announcementsion.py
new file mode 100644
index 0000000..b639338
--- /dev/null
+++ b/tests/uiTests/test_cms_news_and_announcementsion.py
@@ -0,0 +1,144 @@
+
+# ============LICENSE_START==========================================
+# org.onap.vvp/test-engine
+# ===================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+#
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the “License”);
+# you may not use this software except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+#
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://creativecommons.org/licenses/by/4.0/
+#
+# Unless required by applicable law or agreed to in writing, documentation
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ============LICENSE_END============================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+from wheel.signatures import assertTrue
+
+from iceci.decorator.exception_decor import exception
+from services.constants import Constants
+from services.frontend.base_actions.click import Click
+from services.logging_service import LoggingServiceFactory
+from services.session import session
+from services.types import *
+from tests.uiTests.test_ui_base import TestUiBase
+logger = LoggingServiceFactory.get_logger()
+
+
+class TestCMSNewsAndAnnoucements(TestUiBase):
+ user_content = None
+
+ @classmethod
+ def setUpClass(cls):
+ super(TestCMSNewsAndAnnoucements, cls).setUpClass()
+
+ cls.user_content = API.VirtualFunction.create_engagement(wait_for_gitlab=False)
+ logger.debug("user_conntent = "+str(cls.user_content))
+
+ def setUp(self):
+ super(TestCMSNewsAndAnnoucements, self).setUp()
+ Frontend.User.login(self.user_content['email'], Constants.Default.Password.TEXT)
+
+ @exception()
+ def test_announcements(self):
+ categoryId = DB.Cms.get_cms_category_id('News')
+ assertTrue(len(categoryId) > 0 and not None)
+
+ @exception()
+ def test_insert_post_Announcement(self):
+ title, description = DB.Cms.create_announcement()
+ Frontend.General.refresh()
+ Frontend.Cms.validae_announcement(title, description)
+
+ @exception()
+ def test_insert_post_News(self):
+ title, description = DB.Cms.create_news()
+ Frontend.General.refresh()
+ Frontend.Cms.validate_news(title, description)
+
+ @exception()
+ def test_insert_post_FAQ(self):
+ title, description = DB.Cms.create_faq()
+ Frontend.General.refresh()
+ Frontend.Cms.validate_FAQ(description)
+
+ @exception()
+ def test_insert_page(self):
+ title, description = DB.Cms.create_page()
+ Frontend.Cms.validate_page(title, description)
+
+ @exception()
+ def test_search_documentation_title(self):
+ title, description = DB.Cms.create_page()
+ logger.debug("About to login with EL and add VFC")
+ users = [self.user_content['el_email'], self.user_content['pr_email'], Constants.Users.AdminRO.EMAIL,
+ Constants.Users.Admin.EMAIL, self.user_content['email']]
+ for user in users:
+ logger.debug("Login with user " + user)
+ Frontend.User.relogin(user, Constants.Default.Password.TEXT, "documentation")
+ Frontend.Cms.search_documentation_title(title, self.user_content)
+
+ @exception()
+ def test_search_documentation_content(self):
+ title, description = DB.Cms.create_page()
+ Frontend.Cms.search_documentation_content(title, description)
+
+ '''
+ Announcement toast should stay for 2 days after it was published
+ '''
+ @exception()
+ def test_validate_expired_post_Announcement(self):
+ title, description = DB.Cms.create_announcement()
+ Frontend.General.refresh()
+ Frontend.Cms.validate_expired_post_Announcement(title, description)
+
+ '''
+ Announcement toast should stay was published if the user closes the message
+ '''
+ @exception()
+ def test_Announcement_validate_toast(self):
+ title, description = DB.Cms.create_announcement()
+ Frontend.User.relogin(self.user_content['email'], Constants.Default.Password.TEXT, Constants.Toast.CMS_ID)
+ Frontend.Cms.announcement_validate_toast(title, description, self.user_content)
+
+ '''
+ Announcement toast is shown for users even after the entry has disappeared from the widget on the Dashboard
+ '''
+ @exception()
+ def test_validate_5_last_Announcement_displayed(self):
+ listOfTitleAnDescriptions = DB.Cms.create_announcements(6)
+ Frontend.User.relogin(self.user_content['email'], Constants.Default.Password.TEXT)
+ last_title = listOfTitleAnDescriptions[len(listOfTitleAnDescriptions) - 1][0]
+ Frontend.Cms.validate_5_last_announcement_displayed(listOfTitleAnDescriptions, self.user_content, last_title)
+
+ @exception()
+ def test_insert_grandchild_page(self):
+ parent_title, parent_description = DB.Cms.create_page()
+ parent_id = DB.Cms.get_last_inserted_page_id()
+ child_title, child_description = DB.Cms.create_page(parent_id)
+ child_id = DB.Cms.get_last_inserted_page_id()
+ grand_child_title, grand_child_description = DB.Cms.create_page(child_id)
+ Frontend.Cms.validate_grandchild_page(parent_title, child_title, grand_child_title, grand_child_description)