public void CDR_ComplexWF_End_To_End()
        {
            string cdrDescription = WF_QaRcrdCtrl_GeneralCDR.CreateAndSaveForwardCDRDocument(UserType.CDRTech);

            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.QC_Review, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.QC_Review)");
            GridHelper.ClickEditBtnForRow();
            Report.Step("STEP:------------send to revise from Review------------");
            QaRcrdCtrl_GeneralCDR.ClickBtn_Revise();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.Revise, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.Revise)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("STEP:------------cancel, edit/saveonly in Revise------------");
            QaRcrdCtrl_GeneralCDR.EnterDescription("New CDR Description", true);
            QaRcrdCtrl_GeneralCDR.ClickBtn_Cancel();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.Revise, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.Revise)");
            GridHelper.ClickEditBtnForRow();
            cdrDescription = QaRcrdCtrl_GeneralCDR.EnterDescription();
            QaRcrdCtrl_GeneralCDR.ClickBtn_SaveOnly();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.Revise, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.Revise)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("STEP:------------save&fwd in Review------------");
            QaRcrdCtrl_GeneralCDR.ClickBtn_SaveForward();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.QC_Review, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.QC_Review)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("STEP:------------save&fwd in Disposition------------");
            QaRcrdCtrl_GeneralCDR.ClickBtn_SaveForward();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.Disposition, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.Disposition)");
            GridHelper.ClickEditBtnForRow();


            Report.Step("STEP:------------save&fwd in ToBeClosed------------");
            QaRcrdCtrl_GeneralCDR.ClickBtn_SaveForward();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.To_Be_Closed, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.To_Be_Closed)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("STEP:------------send Back to Disposition from ToBeClosed------------");
            QaRcrdCtrl_GeneralCDR.ClickBtn_Back_To_Disposition();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.Disposition, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.Disposition)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("STEP:------------send back to QC review from Disposition------------");
            QaRcrdCtrl_GeneralCDR.ClickBtn_Back_To_QC_Review();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.QC_Review, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.QC_Review)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("STEP:------------save&fwd in Disposition------------");
            QaRcrdCtrl_GeneralCDR.ClickBtn_SaveForward();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.Disposition, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.Disposition)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("STEP:------------verify closed in Closed tab------------");
            QaRcrdCtrl_GeneralCDR.ClickBtn_SaveForward();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.To_Be_Closed, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.To_Be_Closed)");
            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_GeneralCDR.ClickBtn_CloseCDR();
            AddAssertionToList(QaRcrdCtrl_GeneralCDR.VerifyCDRDocIsDisplayed(TableTab.Closed_DN, cdrDescription), "VerifyCDRDocIsDisplayed(TableTab.Closed_DN)");
            AssertAll();
        }
Beispiel #2
0
        public void Inspection_Deficiency_Log_Report_for_QaDIR_With_Deficiencies()
        {
            WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRTechQA);
            string[] dirNumbers = WF_QaRcrdCtrl_QaDIR.Create_and_SaveForward_DIR_with_Failed_Inspection_and_PreviousFailingReports();
            string   dirNumber  = dirNumbers[0];
            string   previousFailedDirNumber = dirNumbers[1];

            LogoutToLoginPage();
            WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRMgrQA, true);
            WF_QaRcrdCtrl_QaDIR.Verify_DIR_then_Approve_inReview(dirNumber);
            WF_QaRcrdCtrl_QaDIR.Verify_DIR_then_Approve_inAuthorization(dirNumber);

            NavigateToPage.QARecordControl_QA_DIRs();
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Attachments, dirNumber), "VerifyDirIsDisplayed in Attachments Tab");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyPreviousFailingDirEntry(previousFailedDirNumber), $"VerifyPreviousFailingDirEntry in Attachments: {previousFailedDirNumber}");
            QaRcrdCtrl_QaDIR.ClickBtn_Save_Forward();

            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.QC_Review, dirNumber), "VerifyDirIsDisplayed in QC Review Tab after (clicked 'Save Forward' from Attachments)");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyPreviousFailingDirEntry(previousFailedDirNumber), $"VerifyPreviousFailingDirEntry in QaRcrdCtrl_QcReview: {previousFailedDirNumber}");
            WF_QaRcrdCtrl_QaDIR.ClickBtn_ApproveOrNoError();

            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.To_Be_Closed, dirNumber), "VerifyDirIsDisplayed in To Be Closed Tab after (clicked 'No Error' from QC Review)");
            GridHelper.ClickEditBtnForRow(dirNumber, true, true);
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyPreviousFailingDirEntry(previousFailedDirNumber), $"VerifyPreviousFailingDirEntry in ToBeClosed: {previousFailedDirNumber}");
            QaRcrdCtrl_QaDIR.ClickBtn_Cancel();

            NavigateToPage.QASearch_Inspection_Deficiency_Log_Report();
            AddAssertionToList(QaSearch_InspctDefncyLogRprt.VerifyDirIsDisplayed(InspectionDeficiencyLogReport.ColumnName.DIR_No, dirNumber), $"InspctDefncyLogRprt.VerifyDirIsDisplayed DIR No: {dirNumber}");
            GridHelper.ClearTableFilters();
            AddAssertionToList(QaSearch_InspctDefncyLogRprt.VerifyDirIsDisplayed(InspectionDeficiencyLogReport.ColumnName.Closed_Dir, previousFailedDirNumber), $"InspctDefncyLogRprt.VerifyDirIsDisplayed Previously Failed DIR No: {previousFailedDirNumber}");
            WF_QaRcrdCtrl_QaDIR.VerifyDbCleanupForDIR(dirNumber);
            AssertAll();
        }
Beispiel #3
0
 public void QaDIR_RevisionInDetailsPage()
 {
     Report.Step("UnitTest_QaDIR_VerifyRevisionInDetailsPage");
     WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRMgrQA);
     QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Create_Revise, "RKCHAD181017");
     GridHelper.ClickEditBtnForRow();
     QaRcrdCtrl_QaDIR.VerifyDirRevisionInDetailsPage("B");
 }
        public void NCR_SimpleWF_End_To_End()
        {
            string ncrDescription = WF_QaRcrdCtrl_GeneralNCR.Create_and_SaveForward_NCR(UserType.NCRTech);

            AddAssertionToList(WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInReview(ncrDescription), "VerifyNCRDocIsDisplayedInReview");
            GridHelper.ClickEditBtnForRow();
            log.Debug("------------send to revise from Review------------");
            QaRcrdCtrl_GeneralNCR.ClickBtn_Revise();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Revise, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Revise)");
            GridHelper.ClickEditBtnForRow();

            log.Debug("------------cancel, edit/saveonly in Revise------------");
            QaRcrdCtrl_GeneralNCR.EnterDescription("New NCR Description", true);
            QaRcrdCtrl_GeneralNCR.ClickBtn_Cancel();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Revise, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Revise)");
            GridHelper.ClickEditBtnForRow();
            ncrDescription = QaRcrdCtrl_GeneralNCR.EnterDescription();
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveOnly();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Revise, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Revise)");
            GridHelper.ClickEditBtnForRow();

            log.Debug("------------save&fwd in Review------------");
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveForward();
            AddAssertionToList(WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInReview(ncrDescription), "VerifyNCRDocIsDisplayedInReview");
            GridHelper.ClickEditBtnForRow();

            log.Debug("------------save&fwd in ToBeClosed------------");
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveForward();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.To_Be_Closed, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.To_Be_Closed)");
            GridHelper.ClickEditBtnForRow();

            log.Debug("------------send to revise from ToBeClosed------------");
            QaRcrdCtrl_GeneralNCR.ClickBtn_Revise();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Revise, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Revise)");
            GridHelper.ClickEditBtnForRow();

            log.Debug("------------save&fwd from Revise to Review------------");
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveForward();
            AddAssertionToList(WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInReview(ncrDescription), "VerifyNCRDocIsDisplayedInReview");
            GridHelper.ClickEditBtnForRow();

            log.Debug("------------save&fwd in Review------------");
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveForward();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.To_Be_Closed, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.To_Be_Closed)");
            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_GeneralNCR.ClickBtn_Close();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsClosed(ncrDescription), "VerifyNCRDocIsDisplayedInClosed");
            AssertAll();
        }
        public void Revise_Ncr_Document_ConcessionRequest_ReturnToConformance()
        {
            string ncrDescription = WF_QaRcrdCtrl_GeneralNCR.Create_and_SaveForward_NCR(UserType.NCRTech);

            LogoutToLoginPage();
            WF_QaRcrdCtrl_GeneralNCR.Review_and_Return_NCR_ForRevise(UserType.NCRMgr, ncrDescription);
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Creating_Revise, ncrDescription));
            GridHelper.ClickEditBtnForRow();
            //step for Edit NCR ?
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveForward();
            WF_QaRcrdCtrl_GeneralNCR.Review_and_Approve_NCR(UserType.NCRMgr, ncrDescription);
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Resolution_Disposition, ncrDescription));
            WF_QaRcrdCtrl_GeneralNCR.SaveForward_FromResolutionDisposition_ToVerificationClosure_ReturnToConformance(ncrDescription);
            WF_QaRcrdCtrl_GeneralNCR.CheckReviseKickback_FromVerificationClosure_ForReturnToConformance(ncrDescription);
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Resolution_Disposition, ncrDescription));
            AssertAll();
        }
Beispiel #6
0
        public void PDF_Report_View()
        {
            //Simple WF
            WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRTechQA);
            string dirNumber = WF_QaRcrdCtrl_QaDIR.Create_and_SaveOnly_DIR();

            AddAssertionToList(WF_QaRcrdCtrl_QaDIR.Verify_ViewReport_forDIR_inCreate(dirNumber), "Verify View Report for DIR in Create tab");
            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_QaDIR.ClickBtn_Save_Forward();
            LogoutToLoginPage();
            WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRMgrQA, true);
            AddAssertionToList(WF_QaRcrdCtrl_QaDIR.Verify_ViewReport_forDIR_inQcReview(dirNumber), "Verify View Report for DIR in QC Review tab");
            WF_QaRcrdCtrl_QaDIR.Verify_DIR_then_Approve_inReview(dirNumber);
            AddAssertionToList(WF_QaRcrdCtrl_QaDIR.Verify_ViewReport_forDIR_inAuthorization(dirNumber), "Verify View Report for DIR in QC Authorization tab");

            WF_QaRcrdCtrl_QaDIR.Verify_DIR_then_Approve_inAuthorization(dirNumber);
            AddAssertionToList(WF_QaRcrdCtrl_QaDIR.VerifyWorkflowLocationAfterSimpleWF(dirNumber), "VerifyWorkflowLocationAfterSimpleWF");
            WF_QaRcrdCtrl_QaDIR.VerifyDbCleanupForDIR(dirNumber);
            AssertAll();
        }
Beispiel #7
0
        public void DIR_Packages_Recreate()
        {
            WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRMgrQA);
            QaRcrdCtrl_QaDIR.ClickTab_Packages();
            WF_QaRcrdCtrl_QaDIR.FilterRecreateColumnWithoutButtonAscending();

            string weekStartDate = QaRcrdCtrl_QaDIR.GetDirPackageWeekStartFromRow();
            string packageNumber = QaRcrdCtrl_QaDIR.GetDirPackageNumberFromRow();

            string[] dirNumbers = QaRcrdCtrl_QaDIR.GetDirPackageDirNumbersFromRow(PackagesColumnNameType.DIRs);
            LogoutToLoginPage();

            WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRTechQA);
            string newDirNumber = WF_QaRcrdCtrl_QaDIR.Create_DirRevision_For_Package_Recreate_ComplexWF_EndToEnd(weekStartDate, packageNumber, dirNumbers);

            LogoutToLoginPage();

            WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRMgrQA, true);
            WF_QaRcrdCtrl_QaDIR.Verify_DIR_then_Approve_inReview(newDirNumber);
            WF_QaRcrdCtrl_QaDIR.Verify_DIR_then_Approve_inAuthorization(newDirNumber);

            WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRMgrQA);
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Attachments, newDirNumber), "VerifyDirIsDisplayed in 'Attachments' tab");
            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_QaDIR.ClickBtn_Save_Forward();

            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.QC_Review, newDirNumber), "VerifyDirIsDisplayed in 'QC Review' tab");
            GridHelper.ClickEditBtnForRow();
            WF_QaRcrdCtrl_QaDIR.ClickBtn_ApproveOrNoError();

            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.To_Be_Closed, newDirNumber), "VerifyDirIsDisplayed in 'To Be Closed' tab");
            GridHelper.ClickCloseDirBtnForRow(newDirNumber);

            QaRcrdCtrl_QaDIR.ClickTab_Packages();
            QaRcrdCtrl_QaDIR.VerifyRecreateBtnIsDisplayed(packageNumber, newDirNumber);

            //need DB cleanup
            AssertAll();
        }
Beispiel #8
0
        public void DIR_ComplexWF_End_To_End()
        {
            Report.Step("Workflow: SimpleWF portion of ComplexWF (QaField menu)");
            WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRTechQA);
            string dirNumber = WF_QaRcrdCtrl_QaDIR.Create_and_SaveForward_DIR();

            LogoutToLoginPage();
            WF_QaRcrdCtrl_QaDIR.LoginToDirPage(UserType.DIRMgrQA, true);
            WF_QaRcrdCtrl_QaDIR.Return_DIR_ForRevise_FromQcReview_then_Edit_SaveForward(dirNumber);
            WF_QaRcrdCtrl_QaDIR.Modify_Cancel_Verify_inCreateRevise(dirNumber);
            WF_QaRcrdCtrl_QaDIR.Modify_Save_Verify_and_SaveForward_inCreateRevise(dirNumber);
            WF_QaRcrdCtrl_QaDIR.Verify_DIR_then_Approve_inReview(dirNumber);
            WF_QaRcrdCtrl_QaDIR.Return_DIR_ForRevise_FromAuthorization_then_ForwardToAuthorization(dirNumber);
            WF_QaRcrdCtrl_QaDIR.Verify_DIR_then_Approve_inAuthorization(dirNumber);
            AddAssertionToList(WF_QaRcrdCtrl_QaDIR.VerifyWorkflowLocationAfterSimpleWF(dirNumber), "VerifyWorkflowLocationAfterSimpleWF");

            Report.Step("Workflow: ComplexWF portion (QaRecordControl menu)");
            NavigateToPage.QARecordControl_QA_DIRs();
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Attachments, dirNumber), "VerifyDirIsDisplayed in Attachments Tab");
            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_QaDIR.ClickBtn_Back_To_Field();
            NavigateToPage.QAField_QA_DIRs();
            AddAssertionToList(WF_QaRcrdCtrl_QaDIR.VerifyDirIsDisplayedInRevise(dirNumber), "VerifyDirIsDisplayed in >>QA Field>>QA DIRs in Revise Tab after (clicked 'Back To Field')");
            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_QaDIR.ClickBtn_Save_Forward();
            WF_QaRcrdCtrl_QaDIR.Verify_DIR_then_Approve_inReview(dirNumber);
            WF_QaRcrdCtrl_QaDIR.Verify_DIR_then_Approve_inAuthorization(dirNumber);

            Report.Step("Workflow: Modify_Upload_and_VerifyCancel_VerifySave_inAttachments");
            NavigateToPage.QARecordControl_QA_DIRs();
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Attachments, dirNumber), "VerifyDirIsDisplayed in Attachments Tab");
            GridHelper.ClickEditBtnForRow();
            string fileName = UploadFile();

            AddAssertionToList(VerifyUploadedFileNames(fileName, true), "VerifyUploadedFileNames Before 'Edit DIR, Cancel' - (Expected) File 'test.xlsx' should be seen");
            QaRcrdCtrl_QaDIR.ClickBtn_Cancel();
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Attachments, dirNumber), "VerifyDirIsDisplayed in Attachments Tab");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyUploadedFileNames(""), "VerifyUploadedFileNames After 'Edit DIR, Cancel' - (Expected) No files are seen");
            fileName = UploadFile();
            QaRcrdCtrl_QaDIR.ClickBtn_Save();
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Attachments, dirNumber), "VerifyDirIsDisplayed in Attachments Tab");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyUploadedFileNames(fileName), "VerifyUploadedFileNames After 'Edit DIR, Save' - (Expected) File 'test.xlsx' should be seen");

            Report.Step("Workflow: 01");
            WF_QaRcrdCtrl_QaDIR.ClickBtn_KickBackOrRevise();//1
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Revise, dirNumber), "VerifyDirIsDisplayed in (QaRecordControl) Revise Tab after (clicked 'Revise' from Attachments)");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyUploadedFileNames(fileName), "VerifyUploadedFileNames After 'Return DIR for Revise' - (Expected) File 'test.xlsx' should be seen");

            Report.Step("Workflow: 02");
            QaRcrdCtrl_QaDIR.ClickBtn_Send_To_Attachment();//2
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Attachments, dirNumber), "VerifyDirIsDisplayed in Attachments Tab after (clicked 'Send To Attachments' from Revise)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("Workflow: 03");
            QaRcrdCtrl_QaDIR.ClickBtn_Save_Forward();//3
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.QC_Review, dirNumber), "VerifyDirIsDisplayed in QC Review Tab after (clicked 'Save Forward' from Attachments)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("Workflow: 04");
            WF_QaRcrdCtrl_QaDIR.ClickBtn_KickBackOrRevise();//4
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Revise, dirNumber), "VerifyDirIsDisplayed in (QaRecordControl) Revise Tab after (clicked 'Revise' from QC Review)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("Workflow: 05");
            QaRcrdCtrl_QaDIR.ClickBtn_Save_Forward();//5
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.QC_Review, dirNumber), "VerifyDirIsDisplayed in QC Review Tab after (clicked 'Save Forward' from Revise)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("Workflow: 06");
            WF_QaRcrdCtrl_QaDIR.ClickBtn_ApproveOrNoError();//6
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.To_Be_Closed, dirNumber), "VerifyDirIsDisplayed in To Be Closed Tab after (clicked 'No Error' from QC Review)");
            GridHelper.ClickEditBtnForRow(dirNumber, true, true);

            Report.Step("Workflow: 07");
            WF_QaRcrdCtrl_QaDIR.ClickBtn_KickBackOrRevise();//7
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.Revise, dirNumber), "VerifyDirIsDisplayed in (QaRecordControl) Revise Tab after (clicked 'Revise' from To Be Closed)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("Workflow: 08");
            QaRcrdCtrl_QaDIR.ClickBtn_Save_Forward();//8
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.QC_Review, dirNumber), "VerifyDirIsDisplayed in QC Review Tab after (clicked 'Save Forward' from Revise - 2ndRound)");
            GridHelper.ClickEditBtnForRow();

            Report.Step("Workflow: 09");
            WF_QaRcrdCtrl_QaDIR.ClickBtn_ApproveOrNoError();//9
            AddAssertionToList(QaRcrdCtrl_QaDIR.VerifyDirIsDisplayed(GridTabType.To_Be_Closed, dirNumber), "VerifyDirIsDisplayed in To Be Closed Tab after (clicked 'No Error' from QC Review - 2ndRound)");
            GridHelper.ToggleCheckBoxForRow(dirNumber);

            Report.Step("Workflow: 10");
            QaRcrdCtrl_QaDIR.ClickBtn_Close_Selected();
            AddAssertionToList(QaSearch_DIR.VerifyDirWorkflowLocationBySearch(dirNumber, WorkflowLocation.Closed), "QaSearch_DIR.VerifyDirWorkflowLocationBySearch");
            WF_QaRcrdCtrl_QaDIR.VerifyDbCleanupForDIR(dirNumber);

            AssertAll();
        }
        public void Edit_Cancel_SaveOnly_Ncr_Document_ComplexWF()
        {
            Report.Step("STEP:  Login as NCR Technician, create ncr and enter description, click saveOnly then logout -------");
            string ncrDescription = WF_QaRcrdCtrl_GeneralNCR.Create_and_SaveOnly_NCR(UserType.NCRTech);

            LogoutToLoginPage();

            Report.Step("STEP:  Login as NCR Manager, edit NCR in revise tab, modify description then click cancel  -------");
            LoginAs(UserType.NCRMgr);
            NavigateToPage.QARecordControl_General_NCR();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Creating_Revise, ncrDescription), "VerifyNCRDocIsDisplayed(Creating_Revise)");
            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_GeneralNCR.EnterDescription("Temp Description", true);
            QaRcrdCtrl_GeneralNCR.ClickBtn_Cancel();

            Report.Step("STEP:  edit in revise tab then click saveFwd -------");
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Creating_Revise, ncrDescription), "VerifyNCRDocIsDisplayed(Creating_Revise)");
            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveForward();

            Report.Step("STEP:  edit in review tab and select Type of NCR (Level 3) then click cancel -------");
            AddAssertionToList(WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInReview(ncrDescription), "VerifyNCRDocIsDisplayed(CQM_Review)");
            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_GeneralNCR.SelectRdoBtn_TypeOfNCR_Level3();
            QaRcrdCtrl_GeneralNCR.ClickBtn_Cancel();

            Report.Step("STEP:  edit in review tab and select Type of NCR (Level 3) then click saveOnly -------");
            AddAssertionToList(WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInReview(ncrDescription), "VerifyNCRDocIsDisplayed(CQM_Review)");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.TypeOfNCR_Level3 /*, false*/), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.TypeOfNCR_Level3"); //<----- TODO: uncomment after bug is fixed: Retains selection when clicking Cancel btn after selecting Type Of NCR rdoBtn.
            QaRcrdCtrl_GeneralNCR.SelectRdoBtn_TypeOfNCR_Level3();
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveOnly();

            Report.Step("STEP:  edit in review tab and verify Type of NCR selection is intact then click Approve -------");
            AddAssertionToList(WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInReview(ncrDescription), "VerifyNCRDocIsDisplayed(CQM_Review)");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.TypeOfNCR_Level3), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.TypeOfNCR_Level3)");
            QaRcrdCtrl_GeneralNCR.ClickBtn_Approve();

            Report.Step("STEP:  edit in Resolution/Disposition tab and verify previously selected required field -------");
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Resolution_Disposition, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Resolution_Disposition)");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.TypeOfNCR_Level3), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.TypeOfNCR_Level3)");

            Report.Step("STEP:  selectDDL Concession Request - Concession Diviation and populate required fields then click Cancel  -------");
            QaRcrdCtrl_GeneralNCR.PopulateRelatedFields_And_SelectDDL_forConcessionRequest_ConcessionDeviation();
            QaRcrdCtrl_GeneralNCR.ClickBtn_Cancel();

            Report.Step("STEP:  edit in Resolution/Disposition tab then verify Concession Request DDL is set to 'Please Select'  -------");
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Resolution_Disposition, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Resolution_Disposition)");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyDDListSelectedValue(InputFields.Concession_Request, "Please Select"), "VerifyDDListSelectedValue(InputFields.Concession_Request, \"Please Select\")");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required, false), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required, false)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Accept_As_Is, false), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Accept_As_Is, false)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Repair, false), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Repair, false)");

            Report.Step("STEP:  selectDDL Concession Request - Concession Diviation, populate required fields then click SaveOnly  -------");
            QaRcrdCtrl_GeneralNCR.PopulateRelatedFields_And_SelectDDL_forConcessionRequest_ConcessionDeviation();
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveOnly();

            Report.Step("STEP:  edit in Resolution/Disposition tab and verify Concession Request DDL is set to 'Concession Diviation', checkboxes are selected then click SaveFwd  -------");
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Resolution_Disposition, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Resolution_Disposition)");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyDDListSelectedValue(InputFields.Concession_Request, "Concession Deviation"), "VerifyDDListSelectedValue(InputFields.Concession_Request, \"Concession Deviation\")");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Accept_As_Is), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Accept_As_Is)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Repair), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Repair)");
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveForward();

            Report.Step("------  edit in Developer Concurrence tab and verify preivously selected required fields -------");
            WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInDevConcurrence(ncrDescription);
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyDDListSelectedValue(InputFields.Concession_Request, "Concession Deviation"), "VerifyDDListSelectedValue(InputFields.Concession_Request, \"Concession Deviation\")");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Accept_As_Is), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Accept_As_Is)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Repair), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Repair)");

            Report.Step("------  provide signature for Engineer of Record then click Cancel  -------");
            WF_QaRcrdCtrl_GeneralNCR.SignDateApproveNCR(TableTab.Developer_Concurrence);
            QaRcrdCtrl_GeneralNCR.ClickBtn_Cancel();

            Report.Step("STEP:  edit in Developer Concurrence tab and verify signatature for Eng of Record is empty -------");
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Developer_Concurrence, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Developer_Concurrence)");
            GridHelper.ClickEditBtnForRow();
            WF_QaRcrdCtrl_GeneralNCR.VerifySignatureNCR(TableTab.Developer_Concurrence, ncrDescription, true);


            Report.Step("------  provide signature, name and select Approval 'Yes' rdoBtn then click SaveOnly  -------");
            WF_QaRcrdCtrl_GeneralNCR.SignDateApproveNCR(TableTab.Developer_Concurrence);
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveOnly();

            Report.Step("STEP:  edit in Developer Concurrence tab and verify signature value attribute is not empty, name field is not empty, approval rdoBtn is selected then click saveFwd  -------");
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Developer_Concurrence, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Developer_Concurrence)");
            GridHelper.ClickEditBtnForRow();
            WF_QaRcrdCtrl_GeneralNCR.VerifySignatureNCR(TableTab.Developer_Concurrence, ncrDescription, false);

            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveForward();

            WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInLAWAConcurrence(ncrDescription);
            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_GeneralNCR.SignDateApproveNcrByReviewer(Reviewer.Owner);
            QaRcrdCtrl_GeneralNCR.ClickBtn_Cancel();

            Report.Step("STEP:  edit in DOT Approval tab and verify signatature for DOT Review is empty  -------");
            AddAssertionToList(WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInDOTApprovalOrLAWAConcurrence(ncrDescription), "VerifyNCRDocIsDisplayedInDOTApprovalOrLAWAConcurrence");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifySignatureField(Reviewer.Owner, true), "VerifySignatureField(Reviewer.Owner, true)");
            AddAssertionToList(VerifyInputField(InputFields.Owner_Review, true), "VerifyInputField(InputFields.Owner_Review, true)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.Owner_Approval_NA), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.Owner_Approval_NA)");

            Report.Step("STEP:  provide signature, name and select Approval 'Yes' rdoBtn then click SaveOnly  -------");
            QaRcrdCtrl_GeneralNCR.SignDateApproveNcrByReviewer(Reviewer.Owner);
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveOnly();

            Report.Step("STEP:  edit in DOT Approval tab and verify signature value attribute is not empty, name field is not empty, approval rdoBtn is selected then click saveFwd  -------");
            AddAssertionToList(WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInDOTApprovalOrLAWAConcurrence(ncrDescription), "VerifyNCRDocIsDisplayedInDOTApprovalOrLAWAConcurrence");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifySignatureField(Reviewer.Owner), "VerifySignatureField(Reviewer.Owner)");
            AddAssertionToList(VerifyInputField(InputFields.Owner_Review), "VerifyInputField(InputFields.Owner_Review)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.Owner_Approval_Yes), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.Owner_Approval_Yes)");
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveForward();

            WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInVerificationAndClosure(ncrDescription);

            GridHelper.ClickEditBtnForRow();
            QaRcrdCtrl_GeneralNCR.ClickBtn_Revise();

            WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInResolutionAndDisposition(ncrDescription);
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyDDListSelectedValue(InputFields.Concession_Request, "Concession Deviation"), "VerifyDDListSelectedValue(InputFields.Concession_Request)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Correct_Rework, false), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Correct_Rework, false)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Replace, false), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Replace, false)");

            Report.Step("STEP:  selectDDL Concession Request - Return To Conformance and select checkboxes then click SaveOnly  -------");
            QaRcrdCtrl_GeneralNCR.PopulateRelatedFields_And_SelectDDL_forConcessionRequest_ReturnToConformance();
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveOnly();

            Report.Step("STEP:  edit in Resolution/Disposition tab and verify Concession Request DDL is set to 'Return to Conformance' and checkboxes are selected then click SaveFwd  -------");
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Resolution_Disposition, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Resolution_Disposition)");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyDDListSelectedValue(InputFields.Concession_Request, "Return to Conformance"), "VerifyDDListSelectedValue(InputFields.Concession_Request, \"Return to Conformance\")");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Correct_Rework), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Correct_Rework)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Replace), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Replace)");
            QaRcrdCtrl_GeneralNCR.ClickBtn_SaveForward();

            WF_QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayedInVerificationAndClosure(ncrDescription);
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(VerifyDDListSelectedValue(InputFields.Concession_Request, "Return to Conformance"), "VerifyDDListSelectedValue(InputFields.Concession_Request, \"Return to Conformance\")");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_As_Built_Required)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Correct_Rework), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Correct_Rework)");
            AddAssertionToList(VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Replace), "VerifyChkBoxRdoBtnSelection(RadioBtnsAndCheckboxes.ChkBox_Replace)");

            Report.Step("STEP:  provide signature for IQF Mgr then click cancel  -------");
            QaRcrdCtrl_GeneralNCR.SignDateApproveNcrByReviewer(Reviewer.IQF_Manager);
            QaRcrdCtrl_GeneralNCR.ClickBtn_Cancel();

            Report.Step("STEP:  edit in Verification and Closure and verify signature is empty for IQF Mgr -------");
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Verification_and_Closure, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Verification_and_Closure, ncrDescription)");
            GridHelper.ClickEditBtnForRow();
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifySignatureField(Reviewer.IQF_Manager, true), "VerifySignatureField(Reviewer.IQF_Manager, true)");

            WF_QaRcrdCtrl_GeneralNCR.SignDateApproveNCR(TableTab.Verification_and_Closure);


            Report.Step("STEP:  edit in Verification and Closure and verify signatures' element value and name field is not empty then click Close  -------");
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsDisplayed(TableTab.Verification_and_Closure, ncrDescription), "VerifyNCRDocIsDisplayed(TableTab.Verification_and_Closure)");
            GridHelper.ClickEditBtnForRow();
            WF_QaRcrdCtrl_GeneralNCR.VerifySignatureNCR(TableTab.Verification_and_Closure, ncrDescription);
            QaRcrdCtrl_GeneralNCR.ClickBtn_Close();

            Report.Step("------  verify ncr is closed  -------");
            AddAssertionToList(QaRcrdCtrl_GeneralNCR.VerifyNCRDocIsClosed(ncrDescription), $"VerifyNCRDocIsClosed({ncrDescription})");

            AssertAll();
        }