diff --git a/master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSOrganisationInvitation.xml b/master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSOrganisationInvitation.xml new file mode 100644 index 0000000000000000000000000000000000000000..29c8c2a72e1da86683190557b7d661174783c4ef --- /dev/null +++ b/master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSOrganisationInvitation.xml @@ -0,0 +1,58 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>content_type</string> </key> + <value> <string>text/html</string> </value> + </item> + <item> + <key> <string>expand</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>testSlapOSJSOrganisationInvitation</string> </value> + </item> + <item> + <key> <string>output_encoding</string> </key> + <value> <string>utf-8</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <unicode></unicode> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSOrganisationInvitation.zpt b/master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSOrganisationInvitation.zpt new file mode 100644 index 0000000000000000000000000000000000000000..39221ae7b0b13b6d0cd513452a25ab3dc18ee794 --- /dev/null +++ b/master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSOrganisationInvitation.zpt @@ -0,0 +1,192 @@ +<html xmlns:tal="http://xml.zope.org/namespaces/tal" + xmlns:metal="http://xml.zope.org/namespaces/metal"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Test SlapJS UI</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">Test RenderJS UI</td></tr> +</thead><tbody> + +<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/slapos_init" /> + +<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/slapos_login" /> + +<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_front_page" /> + + +<tal:block define="person_name python: 'Demo User Functional'"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/access_menu_item_account" /> +</tal:block> + +<tal:block tal:define="pagination_configuration python: {'header': '(1)', 'footer': '1 Records'}"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text" /> +</tal:block> + +<tal:block tal:define="pagination_configuration python: {'header': '(0)', 'footer': 'No records'}"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text" /> +</tal:block> + +<tr> + <td colspan="3"><b> Create an Organisation</b> </td> +</tr> + +<tal:block define="menu_action python: 'Add Organisation'"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action" /> +</tal:block> + +<tal:block define="header python: 'New Organisation'; "> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/assert_page_header" /> +</tal:block> + +<tr> + <td colspan="3"><b> Fill the form</b> </td> +</tr> + +<tr> + <td>type</td> + <td>//input[@name='title']</td> + <td>demo_test_organisation_from_testSlapOSJSOrganisationInvitation</td> +</tr> + +<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/click_proceed" /> + +<tal:block tal:define="notification_configuration python: {'class': 'success', + 'text': 'New Organisation created.'}"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/wait_for_notification" /> +</tal:block> + +<tal:block define="header python: 'Organisation : demo_test_organisation_from_testSlapOSJSOrganisationInvitation'; "> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/assert_page_header" /> +</tal:block> + +<tr> + <td colspan="3"><b> Fill the form</b> </td> +</tr> + +<tal:block define="menu_action python: 'Invite User'"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action" /> +</tal:block> + +<tal:block define="header python: 'Generate New Invitation Link'; "> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/assert_page_header" /> +</tal:block> + +<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/click_proceed" /> + +<tal:block define="header python: 'Generate New Invitation Link'; "> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/assert_page_header" /> +</tal:block> + +<tal:block tal:define="notification_configuration python: {'class': 'success', + 'text': 'New Invitation link generated.'}"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/wait_for_notification" /> +</tal:block> + +<tr> + <td>waitForElementPresent</td> + <td>//p[@id="invitation_link"]</td> + <td></td> +</tr> + +<tr> + <td>storeText</td> + <td>//p[@id="invitation_link"]</td> + <td>invitation_link</td> +</tr> +<tr> + <td>openAndWait</td> + <td>${invitation_link}</td> + <td></td> +</tr> + +<tal:block define="header python: 'Fail...'; "> + <tr> + <td>waitForElementPresent</td> + <td tal:content="python: '//div[contains(@data-gadget-url, \'gadget_slapos_header.html\')]//span[@data-i18n=\'%s\']' % header"></td> + <td></td> + </tr> + <tr> + <td>assertElementPresent</td> + <td tal:content="python: '//div[contains(@data-gadget-url, \'gadget_slapos_header.html\')]//span[@data-i18n=\'%s\']' % header"></td> + <td></td> + </tr> +</tal:block> + +<tr> + <td>assertTextPresent</td> + <td>Invitation Token cannot be used by the same user that generated the token!</td> + <td></td> +</tr> + +<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/slapos_login_with_another_user" /> + +<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_front_page" /> + +<tal:block define="person_name python: 'Another Demo User Functional'"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/access_menu_item_account" /> +</tal:block> + +<tal:block tal:define="pagination_configuration python: {'header': '(1)', 'footer': '1 Records'}"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text" /> +</tal:block> + +<tal:block tal:define="pagination_configuration python: {'header': '(0)', 'footer': 'No records'}"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text" /> +</tal:block> + +<tr> + <td>openAndWait</td> + <td>${invitation_link}</td> + <td></td> +</tr> + +<tal:block define="header python: 'Success...'; "> + <tr> + <td>waitForElementPresent</td> + <td tal:content="python: '//div[contains(@data-gadget-url, \'gadget_slapos_header.html\')]//span[@data-i18n=\'%s\']' % header"></td> + <td></td> + </tr> + <tr> + <td>assertElementPresent</td> + <td tal:content="python: '//div[contains(@data-gadget-url, \'gadget_slapos_header.html\')]//span[@data-i18n=\'%s\']' % header"></td> + <td></td> + </tr> +</tal:block> + +<tr> + <td>assertTextPresent</td> + <td>You sucessfully join a new organisation: demo_test_organisation_from_testSlapOSJSOrganisationInvitation. +</td> + <td></td> +</tr> + +<tr> + <td>click</td> + <td>//a[@data-i18n='Continue']</td> + <td></td> +</tr> + +<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_front_page" /> + +<tal:block define="person_name python: 'Another Demo User Functional'"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/access_menu_item_account" /> +</tal:block> + +<tal:block tal:define="pagination_configuration python: {'header': '(1)', 'footer': '1 Records'}"> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text" /> +</tal:block> + +<tr> + <td>waitForTextPresent</td> + <td>demo_test_organisation_from_testSlapOSJSOrganisationInvitation</td> + <td></td> +</tr> + +<tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/slapos_logout" /> + +</tbody></table> +</body> +</html> \ No newline at end of file diff --git a/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createTestUserList.py b/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createTestUserList.py index d9e27349b2103c7324cd30e7e536c1ee5db27b06..26c2e83e7ca23997a698255c35cf007c5ad81255 100644 --- a/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createTestUserList.py +++ b/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createTestUserList.py @@ -12,4 +12,19 @@ context.WebSection_newCredentialRequest( batch_mode=1 ) +context.WebSection_newCredentialRequest( + reference="another_demo_functional_user", + default_email_text="another_demo@nexedi.com", + first_name="Another Demo User", + last_name="Functional", + password="another_demo_functional_user", + default_telephone_text="12345678", + corporate_name="Nexedi", + default_address_city="Campos", + default_address_street_address="Av Pelinca", + default_address_zip_code="28480", + batch_mode=1 +) + + return "Done." diff --git a/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_removeTestUserList.py b/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_removeTestUserList.py index 2b13c9d994cabb0300ba17e3ed35e6b060b14287..3e894c9e72439ab7689876e2253ee23761e94036 100644 --- a/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_removeTestUserList.py +++ b/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_removeTestUserList.py @@ -1,6 +1,6 @@ portal = context.getPortalObject() -for cr in portal.portal_catalog(reference=["testSlapOSJSSubscribeUser", "demo_functional_user"], +for cr in portal.portal_catalog(reference=["testSlapOSJSSubscribeUser", "demo_functional_user", "another_demo_functional_user"], portal_type="Credential Request"): related_person = cr.getDestinationDecisionValue() if related_person is not None: diff --git a/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/Zuite_SlapOSCommonTemplate.zpt b/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/Zuite_SlapOSCommonTemplate.zpt index e29e5cf5f7fe345d4826c055ac523565889467c1..91489bca9257308f2c256df90672f15afb749256 100644 --- a/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/Zuite_SlapOSCommonTemplate.zpt +++ b/master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/Zuite_SlapOSCommonTemplate.zpt @@ -111,6 +111,49 @@ <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/wait_for_app_loaded" /> </tal:block> + + <tal:block metal:define-macro="slapos_login_with_another_user"> + <!-- Logout --> + <tr> + <td>open</td> + <td>${base_url}/web_site_module/hostingjs/WebSite_logout</td> + <td></td> + </tr> + <!-- Initialize --> + <tr> + <td>open</td> + <td>${base_url}/web_site_module/hostingjs/</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>__ac_name</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>__ac_name</td> + <td>another_demo_functional_user</td> + </tr> + <tr> + <td>type</td> + <td>__ac_password</td> + <td>another_demo_functional_user</td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>//input[@value="Login"]</td> + <td></td> + </tr> + <tr> + <td>clickAndWait</td> + <td>//input[@value="Login"]</td> + <td></td> + </tr> + <tal:block metal:use-macro="here/Zuite_SlapOSCommonTemplate/macros/wait_for_app_loaded" /> + </tal:block> + + <tal:block metal:define-macro="slapos_wait_for_activities_and_front_page"> <tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />