示例#1
0
 def search_by_manual_id(manual_id):
     Enter.text_by_id(Constants.Dashboard.LeftPanel.SearchBox.ID,
                      manual_id,
                      wait_for_page=True)
     Click.css(Constants.Dashboard.LeftPanel.SearchBox.Results.CSS,
               wait_for_page=True)
     Wait.id(Constants.Dashboard.Overview.Title.ID)
示例#2
0
 def edit_template_and_save():
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              FIRST_SECTION_ID)
     Enter.text_by_id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.
         FIRST_SECTION_INPUT_ID, "Ros Is My Mentor")
     FEChecklistTemplate.click_on_save_and_assert_success_msg()
示例#3
0
 def search_by_vfname_for_not_local(user_content):
     vfFullName = user_content[
         'engagement_manual_id'] + ": " + user_content['vfName']
     if settings.DATABASE_TYPE != 'local':
         Enter.text_by_id(Constants.Dashboard.LeftPanel.SearchBox.ID,
                          user_content['vfName'])
         Click.css(Constants.Dashboard.LeftPanel.SearchBox.Results.CSS)
         Wait.text_by_id(Constants.Dashboard.Overview.Title.ID, vfFullName)
示例#4
0
 def add_lineitem_and_check_db():
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              FIRST_SECTION_ID)
     Enter.text_by_id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.
         FIRST_SECTION_INPUT_ID, "Ros Is My Mentor")
     FEChecklistTemplate.click_on_save_and_assert_success_msg()
     result = DBChecklist.checkChecklistIsUpdated()
     Helper.internal_not_equal(result, None)
示例#5
0
 def click_on_export_excel(user_content):
     Enter.text_by_id(Constants.Dashboard.Statuses.SearchBox.ID,
                      user_content['vfName'])
     engName = user_content['engagement_manual_id'] + ": " + user_content[
         'vfName']
     engSearchID = "eng-" + engName
     Wait.id(engSearchID)
     # Find the download link and click it
     Click.id(Constants.Dashboard.Statuses.ExportExcel.ID)
示例#6
0
 def statuses_search_vf(engagement_manual_id, vf_name):
     engName = engagement_manual_id + ": " + vf_name
     # Search by VF name.
     Enter.text_by_id(Constants.Dashboard.Statuses.SearchBox.ID,
                      vf_name,
                      wait_for_page=True)
     Wait.id("eng-" + engName, wait_for_page=True)
     Click.id("eng-" + engName, wait_for_page=True)
     Wait.text_by_id(Constants.Dashboard.Overview.Title.ID,
                     engName,
                     wait_for_page=True)
示例#7
0
 def search_by_vf(user_content):
     engName = user_content['engagement_manual_id'] + ": " + user_content[
         'vfName']
     engSearchID = "eng-" + engName
     FEGeneral.re_open_not_clean_cache(Constants.Default.DashbaordURL.TEXT)
     logger.debug("Search engagement by engagement_manual_id")
     Enter.text_by_id(Constants.Dashboard.Statuses.SearchBox.ID,
                      user_content['engagement_manual_id'],
                      wait_for_page=True)
     eng_manual_id = user_content['engagement_manual_id'] + ":"
     Wait.text_by_id(engSearchID, eng_manual_id)
示例#8
0
 def search_documentation_title(title, user_content):
     FEDashboard.open_documentation(title)
     Wait.text_by_id(title, title)
     logger.debug("Search Documentation by title")
     Enter.text_by_id(Constants.Cms.SearchDocumentation,
                      title,
                      wait_for_page=True)
     Wait.text_by_id(title, title)
     Click.id(title, wait_for_page=True)
     Wait.text_by_id(title, title)
     logger.debug("Documentation found (searched by title)")
示例#9
0
 def del_lineitem_and_save():
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              FIRST_SECTION_ID,
              wait_for_page=True)
     Enter.text_by_id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
                      FIRST_SECTION_INPUT_ID,
                      "Ros Is My Mentor",
                      wait_for_page=True)
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              FIRST_SECTION_ID)
     FEChecklistTemplate.click_on_save_and_assert_success_msg()
示例#10
0
 def search_documentation_content(title, content):
     FEDashboard.open_documentation(title)
     Wait.text_by_id(title, title)
     logger.debug("Search Documentation by content")
     Enter.text_by_id(Constants.Cms.SearchDocumentation,
                      content,
                      wait_for_page=True)
     Wait.text_by_id(title, title)
     Click.id(title, wait_for_page=True)
     Wait.text_by_css(Constants.Cms.DocumentationPageContent, content)
     logger.debug("Documentation found (searched by content)")
示例#11
0
 def add_line_item_audit_log():
     try:
         log_txt = Helper.rand_string("randomString")
         Enter.text_by_id("new-audit-log-text", log_txt, wait_for_page=True)
         Click.id("submit-new-audit-lop-text")
         Wait.text_by_css(
             Constants.Dashboard.Checklist.AuditLog.LastLocalAuditLog.CSS,
             log_txt,
             wait_for_page=True)
         return log_txt
     except Exception as e:
         errorMsg = "Failed to add audit log to line item."
         raise Exception(errorMsg, e)
示例#12
0
 def search_in_dashboard(user_content, vfcName, users):
     engName = user_content['engagement_manual_id'] + ": " + user_content[
         'vfName']
     engSearchID = "eng-" + engName
     for user in users:
         FEGeneral.re_open(Constants.Default.LoginURL.TEXT)
         logger.debug("Login with user " + user)
         FEUser.login(user, Constants.Default.Password.TEXT)
         logger.debug("Search engagement by engagement_manual_id")
         Enter.text_by_id(Constants.Dashboard.Statuses.SearchBox.ID,
                          user_content['engagement_manual_id'])
         eng_manual_id = user_content['engagement_manual_id'] + ":"
         Wait.text_by_id(engSearchID, eng_manual_id)
         logger.debug("Engagement found (searched by engagement_manual_id)")
         FEGeneral.smart_refresh()
         logger.debug("Search engagement by VF name")
         # Search by VF name.
         Enter.text_by_id(Constants.Dashboard.Statuses.SearchBox.ID,
                          user_content['vfName'])
         Wait.text_by_id(engSearchID, eng_manual_id)
         logger.debug("Engagement found (searched by VF name)")
         FEGeneral.smart_refresh()
         logger.debug("Search engagement by VFC")
         # Search by VFC.
         Enter.text_by_id(Constants.Dashboard.Statuses.SearchBox.ID,
                          vfcName)
         Wait.text_by_id(engSearchID, eng_manual_id)
         logger.debug("Engagement found (searched by VFC)")
         FEGeneral.smart_refresh()
         logger.debug("Negative search: search by random string")
         # Search by VFC.
         Enter.text_by_id(Constants.Dashboard.Statuses.SearchBox.ID,
                          "RND_STR_" + Helper.rand_string("randomString"))
         Wait.text_by_id("search-results", "Export to Excel >>")
示例#13
0
 def add_lineitem_and_save():
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              ADD_LINE_ITEM_BTN,
              wait_for_page=True)
     Click.xpath("//li[@id='select-lineitem-btn-0.1']/span[2]")
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              EDIT_LINE_ITEM_BTN)
     Enter.text_by_id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.
         EDIT_LINE_ITEM_NAME, "xxx")
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              EDIT_LINE_ITEM_BTN,
              wait_for_page=True)
     FEChecklistTemplate.click_on_save_and_assert_success_msg()
示例#14
0
 def edit_description_lineitem_and_save():
     desc = Helper.rand_string("randomString")
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              FIRST_LINE_ITEM_ID)
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              EDIT_LINE_ITEM_BTN)
     Enter.text_by_id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.
         EDIT_LINE_ITEM_NAME, Helper.rand_string("randomString"))
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              EDIT_LINE_ITEM_DESC)
     editor_element = Get.wysiwyg_element_by_id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.
         LINE_ITEM_DESC_TEXT_BOX)
     editor_element.clear()
     editor_element.send_keys(desc)
     Wait.page_has_loaded()
     actionChains = ActionChains(session.ice_driver)
     actionChains.double_click(editor_element).perform()
     Wait.page_has_loaded()
     Click.xpath(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
                 WYSIWYG_BUTTON_BOLD)
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              EDIT_LINE_ITEM_BTN,
              wait_for_page=True)
     isBold = Wait.is_css_exists("b")
     while not isBold:
         Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
                  EDIT_LINE_ITEM_BTN,
                  wait_for_page=True)
         actionChains.double_click(editor_element).perform()
         Click.xpath(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
                     WYSIWYG_BUTTON_BOLD,
                     wait_for_page=True)
         Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
                  EDIT_LINE_ITEM_BTN,
                  wait_for_page=True)
         isBold = Wait.is_css_exists("b")
     if isBold:
         FEChecklistTemplate.click_on_save_and_assert_success_msg()
     FEGeneral.refresh()
     Click.name(Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT,
                wait_for_page=True)
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              FIRST_LINE_ITEM_ID,
              wait_for_page=True)
     Wait.css("b")
     Wait.text_by_css("b", desc, wait_for_page=True)
示例#15
0
    def test_search_bar(self):
        """ Create user and VF, log in, add VFC, search by EID, VF and VFC """
        vfFullName = self.user_content[
            'engagement_manual_id'] + ": " + self.user_content['vfName']
        try:
            Enter.text_by_id(
                Constants.Dashboard.LeftPanel.SearchBox.ID,
                self.user_content['vfName'])
            Wait.css(Constants.Dashboard.LeftPanel.SearchBox.Results.CSS)
            Click.css(Constants.Dashboard.LeftPanel.SearchBox.Results.CSS)
            Wait.text_by_id(
                Constants.Dashboard.Overview.Title.ID, vfFullName)
        except BaseException:
            errorMsg = "Failed to search by VF name."
            raise Exception(errorMsg)

        try:
            Enter.text_by_id(
                Constants.Dashboard.LeftPanel.SearchBox.ID,
                self.user_content['engagement_manual_id'])
            Enter.text_by_id(
                Constants.Dashboard.LeftPanel.SearchBox.ID,
                self.user_content['engagement_manual_id'])
            Wait.css(Constants.Dashboard.LeftPanel.SearchBox.Results.CSS)
            Click.css(Constants.Dashboard.LeftPanel.SearchBox.Results.CSS)
            Wait.text_by_id(
                Constants.Dashboard.Overview.Title.ID, vfFullName)
        except BaseException:
            errorMsg = "Failed to search by Engagement Manual ID."
            raise Exception(errorMsg)
        Frontend.Overview.click_on_vf(self.user_content)
        detailedViewID = Constants.Dashboard.DetailedView.ID + vfFullName
        Wait.text_by_id(detailedViewID, "Detailed View", wait_for_page=True)
        Click.id(detailedViewID, wait_for_page=True)
        Click.id(
            Constants.Dashboard.DetailedView.VFC.Add.ID, wait_for_page=True)
        vfcName = Helper.rand_string("randomString")
        extRefID = Helper.rand_string("randomNumber")
        Enter.text_by_name("name", vfcName)
        Enter.text_by_name("extRefID", extRefID, wait_for_page=True)
        Select(session.ice_driver.find_element_by_id(
            Constants.Dashboard.DetailedView.VFC.Choose_Company.ID)).\
            select_by_visible_text(self.user_content['vendor'])
        Click.id(
            Constants.Dashboard.DetailedView.VFC.Save_button.ID,
            wait_for_page=True)
        try:
            Enter.text_by_id(
                Constants.Dashboard.LeftPanel.SearchBox.ID,
                vfcName,
                wait_for_page=True)
            Click.id(
                "search-" + self.user_content['vfName'], wait_for_page=True)
            Wait.id("clickable-" + vfFullName, wait_for_page=True)
        except Exception as e:
            errorMsg = "Failed to search by VFC name."
            raise Exception(errorMsg + str(e))
示例#16
0
 def add_next_step_updated(checklistName, newFileName):
     Click.id(Constants.Dashboard.Checklist.AddNS.ID)
     Wait.id(Constants.Dashboard.Modal.CLOSE_BUTTON_ID)
     Wait.text_by_css("span.font_header.ng-binding", "Checklist:")
     Wait.text_by_css("h2.ng-binding", "Add Next Steps")
     # First NS
     Click.id("description")
     Enter.text_by_id("description", "description of NS")
     Click.css("div.modal-content")
     Click.xpath("(//button[@type='button'])[10]")
     Click.link_text(newFileName)
     Click.css("div.modal-content")
     Click.xpath("(//button[@type='button'])[11]")
     try:
         Click.xpath("//div[3]/multiselect/div/ul/li/a")
     except BaseException:
         Wait.link_text("Homer Simpson")
         Click.link_text("Homer Simpson")
     Wait.css("div.modal-content")
     Click.css("div.modal-content")
     Wait.xpath("(//button[@type='button'])[12]")
     count = 0
     FEWizard.date_picker_add_ns(count)
     count = +1
     Click.css("span.add-text")
     Click.xpath("(//div[@id='description'])[2]")
     Enter.text_by_xpath("(//div[@id='description'])[2]",
                         "description of NS2")
     Click.css("div.modal-content")
     Click.xpath("(//button[@type='button'])[14]")
     Click.xpath("(//button[@type='button'])[22]")
     Click.xpath("//div[3]/div/div[2]/multiselect/div/ul/li[2]/a")
     Click.css("div.modal-content")
     Click.xpath("(//button[@type='button'])[23]")
     Click.css("div.btn-group.open > ul.dropdown-menu > " +
               "li.ng-scope > a.ng-binding")
     Click.link_text("Add Another Next Step")
     Wait.xpath("(//button[@type='button'])[25]")
     Click.xpath("(//button[@type='button'])[25]")
     Wait.xpath("(//button[@type='button'])[24]")
     FEWizard.date_picker_add_ns(count)
     Wait.xpath("//div[4]/div/span")
     Click.xpath("//div[4]/div/span")
     Wait.id("btn-submit")
     Wait.text_by_id("btn-submit", "Submit Next Steps")
     Click.id("btn-submit")
示例#17
0
 def discard_checklist_after_modification():
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              FIRST_SECTION_ID,
              wait_for_page=True)
     Enter.text_by_id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
                      FIRST_SECTION_INPUT_ID,
                      "ttttttt",
                      wait_for_page=True)
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              FIRST_SECTION_ID)
     Click.id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.REJECT_BTN_ID)
     Click.id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.APPROVE_BTN_ID,
         wait_for_page=True)
     Wait.text_by_id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.SUCCESS_ID,
         "All changes discarded.")
示例#18
0
 def add_next_step(checklistName, newObj):
     Click.id(Constants.Dashboard.Checklist.AddNS.ID, wait_for_page=True)
     Wait.text_by_css("span.font_header", "Checklist:")
     Helper.internal_assert("Checklist:", Get.by_css("span.font_header"))
     Helper.internal_assert("Add Next Steps", Get.by_css("h2"))
     # First NS
     Click.id("description")
     Enter.text_by_id("description", "description of NS")
     Click.css("div.modal-content")
     Click.xpath("(//button[@type='button'])[10]")
     FEChecklist.assocciatedFileName = "file0"
     Click.link_text(FEChecklist.assocciatedFileName)
     Click.css("div.modal-content")
     Click.xpath("(//button[@type='button'])[11]")
     try:
         Click.xpath("//div[3]/multiselect/div/ul/li/a")
     except BaseException:
         Click.link_text("Homer Simpson")
     Click.css("div.modal-content")
     count = 0
     FEWizard.date_picker_add_ns(count)
     count = +1
     Click.css("span.add-text")
     Click.xpath("(//div[@id='description'])[2]")
     Enter.text_by_xpath("(//div[@id='description'])[2]",
                         "description of NS2")
     Click.css("div.modal-content")
     Click.xpath("(//button[@type='button'])[14]")
     Click.xpath("(//button[@type='button'])[22]")
     Click.xpath("//div[3]/div/div[2]/multiselect/div/ul/li[2]/a")
     Click.css("div.modal-content")
     Click.xpath("(//button[@type='button'])[23]")
     Click.css("div.btn-group.open > ul.dropdown-menu > " +
               "li.ng-scope > a.ng-binding")
     Click.link_text("Add Another Next Step")
     Click.xpath("(//button[@type='button'])[25]")
     FEWizard.date_picker_add_ns(count)
     Click.xpath("//div[4]/div/span")
     Helper.internal_assert("Submit Next Steps", Get.by_id("btn-submit"))
     Click.id("btn-submit", wait_for_page=True)
 def update_vf_version():
     try:
         Click.id(Constants.Dashboard.DetailedView.ValidationDetails.PLUS,
                  wait_for_page=True)
         Wait.text_by_id(
             Constants.Dashboard.Modal.TITLE_ID,
             Constants.Dashboard.DetailedView.ValidationDetails.TITLE,
             wait_for_page=True)
         newVFVersionName = "newVFVersionName-" + \
             Helper.rand_string("randomString")
         Click.id(Constants.Dashboard.DetailedView.ValidationDetails.
                  VFVersion.ID_VERSION)
         Enter.text_by_id(Constants.Dashboard.DetailedView.
                          ValidationDetails.VFVersion.ID_VERSION,
                          newVFVersionName,
                          wait_for_page=True)
         Click.id(Constants.Dashboard.DetailedView.ValidationDetails.SAVE,
                  wait_for_page=True)
         return newVFVersionName
     # If failed - count the failure and add the error to list of errors.
     except BaseException:
         errorMsg = "Failed in update_ecomp_release ."
         raise Exception(errorMsg)
示例#20
0
 def check_cl_after_lineitem_added():
     template_name = Constants.Dashboard.LeftPanel.\
         EditChecklistTemplate.HEAT
     user_content = APIVirtualFunction.create_engagement()
     FEUser.login(Constants.Users.Admin.EMAIL,
                  Constants.Default.Password.TEXT)
     vfName = user_content['vfName']
     engagement_id = DBChecklist.fetchEngByVfName(vfName)
     engLeadEmail = DBUser.select_el_email(vfName)
     engagement_manual_id = DBChecklist.fetchEngManIdByEngUuid(
         engagement_id)
     FEOverview.click_on_vf(user_content)
     FEGeneral.re_open(Constants.Default.LoginURL.TEXT)
     FEUser.login(engLeadEmail, Constants.Default.Password.TEXT,
                  engagement_manual_id)
     Click.id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.DASHBOARD_ID)
     Enter.text_by_id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.SEARCH_ENG_ID,
         vfName)
     Click.id("test_" + vfName)
     checklistName = FEChecklist.create_checklist(engagement_id, vfName,
                                                  None,
                                                  engagement_manual_id)
     FEUser.go_to_admin()
     result = DBChecklist.fetchChecklistByName(checklistName)
     FEUser.go_to_admin()
     FEChecklistTemplate.click_on_template_name_on_navigation(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.HEAT,
         template_name)
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              EDIT_LINE_ITEM_BTN)
     Enter.text_by_id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.
         EDIT_LINE_ITEM_NAME,
         "test_lineitem_added_and_audit_log_on_dupl_cl-NAME")
     Click.id(Constants.Dashboard.LeftPanel.EditChecklistTemplate.
              EDIT_LINE_ITEM_BTN)
     FEChecklistTemplate.click_on_save_and_assert_success_msg()
     Click.id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.DASHBOARD_ID)
     Enter.text_by_id(
         Constants.Dashboard.LeftPanel.EditChecklistTemplate.SEARCH_ENG_ID,
         vfName)
     Click.id("test_" + vfName)
     Click.id("checklist-" + str(result))
     Helper.internal_assert(
         "1. automation",
         session.ice_driver.find_element_by_xpath("//li[@id='']").text)
示例#21
0
    def approval_state_actions_and_validations(checklistName, newObj, state):
        #     REWVIEW STEPS AND VALIDATIONS
        try:
            Wait.id("checklist-main-section")
            Wait.text_by_id(Constants.Dashboard.Checklist.Name.ID,
                            checklistName)
            try:
                if settings.DATABASE_TYPE == 'local':
                    Wait.text_by_css("h2.ng-binding",
                                     "Section 1: Parameter Specification")
                    Helper.internal_assert(
                        "Parameters", Get.by_css("span.col-md-9.ng-binding"))
                    Helper.internal_assert("String parameters",
                                           Get.by_xpath("//li[2]/span[2]"))
                    Helper.internal_assert("Numeric parameters",
                                           Get.by_xpath("//li[3]/span[2]"))
                    if settings.DATABASE_TYPE == 'local':
                        Helper.internal_assert(
                            "Section 2: External References",
                            Get.by_xpath("//li[2]/h2"))
                    Helper.internal_assert(
                        "Normal references",
                        Get.by_xpath("//li[2]/ul/li/span[2]"))
                    Helper.internal_assert(
                        "VF image", Get.by_xpath("//li[2]/ul/li[2]/span[2]"))
            except BaseException:
                if settings.DATABASE_TYPE == 'local':
                    Wait.text_by_css("h2.ng-binding",
                                     "Section 1: External References")
                    try:
                        Helper.internal_assert(
                            "Normal references",
                            Get.by_css("span.col-md-9.ng-binding"))
                    except BaseException:
                        if "VF image" in Get.by_xpath("//li[2]/span[2]"):
                            logger.debug("All Ok")
                    if settings.DATABASE_TYPE == 'local':
                        Helper.internal_assert(
                            "Section 2: Parameter Specification",
                            Get.by_xpath("//li[2]/h2"))
            try:
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert("1.1 - Parameters",
                                           Get.by_xpath("//header/h2"))
            except BaseException:
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert("1.1 - Normal References",
                                           Get.by_xpath("//header/h2"))
            if settings.DATABASE_TYPE == 'local':
                elementTxt = Get.by_id("line-item-description")
                Helper.internal_assert(
                    "Numeric parameters should include " +
                    "range and/or allowed values.", elementTxt)
            Helper.internal_assert("Audit Logs", Get.by_css("h3.col-md-12"))
            localLogText = "local log"
            Enter.text_by_id("new-audit-log-text", localLogText)
            Helper.internal_assert("Add Log Entry",
                                   Get.by_id("submit-new-audit-lop-text"))
            Click.id("submit-new-audit-lop-text")
            vfName = newObj[0]
            DBUser.get_el_name(vfName)
            Helper.internal_assert(
                localLogText,
                Get.by_css(Constants.Dashboard.Checklist.AuditLog.
                           LastLocalAuditLog.CSS))
            try:
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Parameters", Get.by_xpath("//li[2]/ul/li/span[2]"))
            except BaseException:
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Numeric parameters",
                        Get.by_xpath("//li[2]/ul/li/span[2]"))

            session.run_negative(
                lambda: Wait.css(Constants.Dashboard.Checklist.LineItem.Deny.
                                 CSS) or Wait.css(Constants.Dashboard.Checklist
                                                  .LineItem.Approve.CSS),
                "Buttons displayed for Admin it's NOT work")
            if state == "APPROVAL":
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Audit Log (6)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
                else:
                    Helper.internal_assert(
                        "Audit Log (7)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
            if state == "HANDOFF":
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Audit Log (8)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
                else:
                    Helper.internal_assert(
                        "Audit Log (9)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
            Click.id(Constants.Dashboard.Checklist.AuditLog.ID)
            Wait.text_by_xpath("//span[2]", checklistName)
            DBUser.select_el_email(vfName)
            Enter.text_by_xpath("//textarea", "zdfgsdyh")
            Click.css(Constants.SubmitButton.CSS)
            Wait.modal_to_dissappear()
            if state == "APPROVAL":
                if settings.DATABASE_TYPE == 'local':
                    Wait.text_by_id(Constants.Dashboard.Checklist.AuditLog.ID,
                                    "Audit Log (7)")
                else:
                    Wait.text_by_id(Constants.Dashboard.Checklist.AuditLog.ID,
                                    "Audit Log (8)")
            if state == "HANDOFF":
                if settings.DATABASE_TYPE == 'local':
                    Wait.text_by_id(Constants.Dashboard.Checklist.AuditLog.ID,
                                    "Audit Log (9)")
                else:
                    Wait.text_by_id(Constants.Dashboard.Checklist.AuditLog.ID,
                                    "Audit Log (10)")
            if state == "APPROVAL":
                Wait.text_by_xpath("//button[3]", "Add Next Steps")
                Wait.text_by_id(
                    Constants.Dashboard.Checklist.Reject.ID,
                    Constants.Dashboard.Checklist.Reject.Modal.Button.TEXT)
                Wait.text_by_xpath("//div[@id='state-actions']/button",
                                   "Approve")
            if state == "HANDOFF":
                Wait.text_by_xpath("//div[@id='state-actions']/button",
                                   "Handoff complete?")
            logger.debug("ALL VALIDATION PASS FOR STATE : " + state)
        # If failed - count the failure and add the error to list of errors.
        except Exception as e:
            logger.error(
                state +
                " state  FAILED CONNECT TO STAGING MANUAL AND VERIFY WHY! ")
            errorMsg = "approval_state_actions_and_validations " +\
                "FAILED  because : " + str(e)
            raise Exception(errorMsg, "approval_state_actions_and_validations")
示例#22
0
    def review_state_actions_and_validations(checklistName, vfName, state):
        try:
            #    REWVIEW STEPS AND VALIDATIONS
            Wait.id("checklist-main-section")
            Wait.text_by_id(Constants.Dashboard.Checklist.Name.ID,
                            checklistName)
            try:
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Section 1: Parameter Specification",
                        Get.by_css("h2.ng-binding"))
                    Helper.internal_assert(
                        "Parameters", Get.by_css("span.col-md-9.ng-binding"))
                    Helper.internal_assert("String parameters",
                                           Get.by_xpath("//li[2]/span[2]"))
                    Helper.internal_assert("Numeric parameters",
                                           Get.by_xpath("//li[3]/span[2]"))
                    if settings.DATABASE_TYPE == 'local':
                        Helper.internal_assert(
                            "Section 2: External References",
                            Get.by_xpath("//li[2]/h2"))
                    Helper.internal_assert("Normal references",
                                           Get.by_name("Normal references"))
                    Helper.internal_assert("VF image",
                                           Get.by_name("Normal references"))
            except BaseException:
                try:
                    Helper.internal_assert("Section 1: External References",
                                           Get.by_css("h2.ng-binding"))
                except BaseException:
                    Helper.internal_assert("Section 1: Scaling Considerations",
                                           Get.by_css("h2.ng-binding"))
                try:
                    Helper.internal_assert(
                        "Normal references",
                        Get.by_css("span.col-md-9.ng-binding"))
                except BaseException:
                    if "VF image" in Get.by_xpath("//li[2]/span[2]"):
                        logger.debug("All Ok")
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Section 2: Parameter Specification",
                        Get.by_xpath("//li[2]/h2"))
                Click.name("VF image")
                Click.name("Normal references")
                try:
                    Helper.internal_assert("1.1 - Parameters",
                                           Get.by_xpath("//header/h2"))
                except BaseException:
                    text = Get.by_name("Normal references")
                    Helper.internal_assert("Normal references", text)
            Helper.internal_assert("Audit Logs", Get.by_css("h3.col-md-12"))
            localLogText = "local log"
            Enter.text_by_id("new-audit-log-text", localLogText)
            Helper.internal_assert("Add Log Entry",
                                   Get.by_id("submit-new-audit-lop-text"))
            Click.id("submit-new-audit-lop-text")
            #    Validate Local AuditLog
            engLeadFullName = DBUser.get_el_name(vfName)
            Helper.internal_assert(
                engLeadFullName,
                Get.by_xpath("//ul[@id='audit-log-list']/li/h4"))
            Helper.internal_assert(
                localLogText,
                Get.by_css(Constants.Dashboard.Checklist.AuditLog.
                           LastLocalAuditLog.CSS))
            if settings.DATABASE_TYPE == 'local':
                try:
                    Helper.internal_assert(
                        "Parameters", Get.by_xpath("//li[2]/ul/li/span[2]"))
                except BaseException:
                    Helper.internal_assert(
                        "Numeric parameters",
                        Get.by_xpath("//li[2]/ul/li/span[2]"))
                Click.name("Normal references")
                Wait.css(Constants.Dashboard.Checklist.LineItem.Deny.CSS)
                Wait.css(Constants.Dashboard.Checklist.LineItem.Approve.CSS)
                Click.css(Constants.Dashboard.Checklist.LineItem.Approve.CSS)
            # NOT LOCAL
            if settings.DATABASE_TYPE != 'local':
                checklistUuid = DBChecklist.get_recent_checklist_uuid(
                    checklistName)[0]
                DBChecklist.update_all_decisions_to_approve(checklistUuid)
            # NOT LOCAL

            Click.css(".line-item-row span.manual")
            print("click on V button approve of decision in state = " + state)
            try:
                Wait.css("li.not-relevant-btn")
            except BaseException:
                Wait.xpath("//aside/header/ul/li")
            if state == "review":
                Wait.id("edit-checklist")
            if state == "PEER":
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Audit Log (4)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
                else:
                    Helper.internal_assert(
                        "Audit Log (5)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
            if state == "review":
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Audit Log (2)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
                else:
                    Helper.internal_assert(
                        "Audit Log (3)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
            if state == "APPROVAL":
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Audit Log (8)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
                else:
                    Helper.internal_assert(
                        "Audit Log (9)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
            Click.id(Constants.Dashboard.Checklist.AuditLog.ID,
                     wait_for_page=True)
            Wait.text_by_xpath("//span[2]", checklistName)
            Enter.text_by_xpath("//textarea", "zdfgsdyh")
            Click.css(Constants.SubmitButton.CSS)
            Wait.modal_to_dissappear()
            if state == "review":
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Audit Log (3)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
                else:
                    Helper.internal_assert(
                        "Audit Log (4)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
            if state == "PEER":
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Audit Log (5)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
                else:
                    Helper.internal_assert(
                        "Audit Log (6)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
            if state == "APPROVAL":
                if settings.DATABASE_TYPE == 'local':
                    Helper.internal_assert(
                        "Audit Log (9)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
                else:
                    Helper.internal_assert(
                        "Audit Log (10)",
                        Get.by_id(Constants.Dashboard.Checklist.AuditLog.ID))
            #    Validate Buttons
            if settings.DATABASE_TYPE != 'local':
                FEGeneral.refresh()
                engagement_id = DBVirtualFunction.select_eng_uuid(vfName)
                engLeadEmail = DBUser.select_el_email(vfName)
                logger.debug("EL email: " + engLeadEmail)
                engagement_manual_id = DBGeneral.select_where(
                    "engagement_manual_id", "ice_engagement", "uuid",
                    engagement_id, 1)
                #    Click on all default next steps
                myVfName = engagement_manual_id + ": " + vfName
                actualVfNameid = "clickable-" + myVfName
                Click.id(actualVfNameid)
                Click.id("checklist-" + checklistUuid)
            Helper.internal_assert("Add Next Steps",
                                   Get.by_xpath("//button[3]"))
            Wait.text_by_id(
                Constants.Dashboard.Checklist.Reject.ID,
                Constants.Dashboard.Checklist.Reject.Modal.Button.TEXT,
                wait_for_page=True)
            Helper.internal_assert(
                "Approve", Get.by_xpath("//div[@id='state-actions']/button"))
            logger.debug("ALL VALIDATION PASS FOR STATE: " + state)
        # If failed - count the failure and add the error to list of errors.
        except Exception as e:
            errorMsg = "review_state_actions_and_validations " +\
                "FAILED because: " + str(e)
            raise Exception(errorMsg, "review_state_actions_and_validations")
            logger.error(
                state +
                " state FAILED CONNECT TO STAGING MANUAL AND VERIFY WHY!")
            raise