diff --git a/testing/PIMS.Tests.Automation/Classes/AcquisitionFile.cs b/testing/PIMS.Tests.Automation/Classes/AcquisitionFile.cs index acea40cc5f..f345a9c839 100644 --- a/testing/PIMS.Tests.Automation/Classes/AcquisitionFile.cs +++ b/testing/PIMS.Tests.Automation/Classes/AcquisitionFile.cs @@ -35,6 +35,8 @@ public class AcquisitionFile public string OwnerSolicitor { get; set; } = null!; public string OwnerRepresentative { get; set; } = null!; public string OwnerComment { get; set; } = null!; + public string AcquisitionNOCReceivedDate { get; set; } = null!; + public string AcquisitionNOCComments { get; set; } = null!; public int AcquisitionSearchPropertiesIndex { get; set; } = 0; public SearchProperty AcquisitionSearchProperties { get; set; } = new SearchProperty() { }; public int TakesStartRow { get; set; } = 0; diff --git a/testing/PIMS.Tests.Automation/Classes/ManagementFile.cs b/testing/PIMS.Tests.Automation/Classes/ManagementFile.cs index 3e95824bf1..54d710b63f 100644 --- a/testing/PIMS.Tests.Automation/Classes/ManagementFile.cs +++ b/testing/PIMS.Tests.Automation/Classes/ManagementFile.cs @@ -10,10 +10,14 @@ public class ManagementFile public string ManagementName { get; set; } = null!; public string ManagementHistoricalFile { get; set; } = null!; public string ManagementPurpose { get; set; } = null!; + public string ManagementResponsiblePayer { get; set; } = null!; public string ManagementAdditionalDetails { get; set; } = null!; + public string ManagementMinistryRegion { get; set; } = null!; public int ManagementTeamStartRow { get; set; } = 0; public int ManagementTeamCount { get; set; } = 0; public List ManagementTeam { get; set; } = new List() { }; + public string ManagementNOCReceivedDate { get; set; } = null!; + public string ManagementNOCComments { get; set; } = null!; public int ManagementSearchPropertiesIndex { get; set; } = 0; public SearchProperty ManagementSearchProperties { get; set; } = new SearchProperty() { }; public int ManagementTotalProperties { get; set; } = 0; diff --git a/testing/PIMS.Tests.Automation/Classes/Property.cs b/testing/PIMS.Tests.Automation/Classes/Property.cs index 37237441ad..c453f26fbe 100644 --- a/testing/PIMS.Tests.Automation/Classes/Property.cs +++ b/testing/PIMS.Tests.Automation/Classes/Property.cs @@ -20,8 +20,7 @@ public class Property public string MunicipalZoning { get; set; } = null!; public List Anomalies { get; set; } = new List(); public List TenureStatus { get; set; } = new List(); - //public string ProvincialPublicHwy { get; set; } = null!; - //public List HighwayEstablishedBy { get; set; } = new List(); + public List TenureCleanup { get; set; } = new List(); public string SqrMeters { get; set; } = null!; public Boolean IsVolumetric { get; set; } = false; public string Volume { get; set; } = null!; diff --git a/testing/PIMS.Tests.Automation/Data/PIMS_Testing_Data.xlsx b/testing/PIMS.Tests.Automation/Data/PIMS_Testing_Data.xlsx index dad3f17997..4a55993174 100644 Binary files a/testing/PIMS.Tests.Automation/Data/PIMS_Testing_Data.xlsx and b/testing/PIMS.Tests.Automation/Data/PIMS_Testing_Data.xlsx differ diff --git a/testing/PIMS.Tests.Automation/Features/Leases.feature b/testing/PIMS.Tests.Automation/Features/Leases.feature index b14a3317cf..37197d2c5f 100644 --- a/testing/PIMS.Tests.Automation/Features/Leases.feature +++ b/testing/PIMS.Tests.Automation/Features/Leases.feature @@ -13,8 +13,8 @@ Scenario: 02._Leases_Properties_and_Surplus_Declaration Given I create a new minimum Lease from row number 3 When I add Properties to the Lease Details And I update a Lease's Properties from row number 4 - And I verify the Surplus section - Then A new lease is created successfully + #And I verify the Surplus section + #Then A new lease is created successfully Scenario: 03._Leases_Approval_Consultations Given I create a new minimum Lease from row number 20 diff --git a/testing/PIMS.Tests.Automation/Features/Leases.feature.cs b/testing/PIMS.Tests.Automation/Features/Leases.feature.cs index fc6d73472b..d106cf4f16 100644 --- a/testing/PIMS.Tests.Automation/Features/Leases.feature.cs +++ b/testing/PIMS.Tests.Automation/Features/Leases.feature.cs @@ -201,12 +201,6 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa #line hidden #line 15 await testRunner.AndAsync("I update a Lease\'s Properties from row number 4", ((string)(null)), ((global::Reqnroll.Table)(null)), "And "); -#line hidden -#line 16 - await testRunner.AndAsync("I verify the Surplus section", ((string)(null)), ((global::Reqnroll.Table)(null)), "And "); -#line hidden -#line 17 - await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then "); #line hidden } await this.ScenarioCleanupAsync(); diff --git a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionDetails.cs b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionDetails.cs index e3dc160b28..fb97d69e7b 100644 --- a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionDetails.cs +++ b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionDetails.cs @@ -14,6 +14,14 @@ public class AcquisitionDetails : PageObjectBase private readonly By acquisitionFileDetailsTab = By.CssSelector("a[data-rb-event-key='fileDetails']"); private readonly By acquisitionSubfilesTab = By.XPath("//a[contains(text(),'Sub-Files')]"); + //Generate Forms Elements + private readonly By acquisitionFileGenerateFormTitle = By.XPath("//span[text()='Generate a form:']"); + private readonly By acquisitionFileGenerateForm12Link = By.XPath("//div[text()='Generate Form 12']/parent::button"); + private readonly By acquisitionFileGenerateLetterLink = By.XPath("/div[text()='Generate Letter']/parent::button"); + private readonly By acquisitionFileGenerateH0443Link = By.XPath("/div[text()='Conditions of Entry (H0443)']/parent::button"); + private readonly By acquisitionFileGenerateNoticeEntryLink = By.XPath("/div[text()='Generate Notice of Entry']/parent::button"); + private readonly By acquisitionFileGenerateIntakeLink = By.XPath("/div[text()='Generate Intake']/parent::button]"); + //Acquisition File Details View Form Elements private readonly By acquisitionFileTitle = By.CssSelector("div[data-testid='form-title']"); private readonly By acquisitionFileHeaderCodeLabel = By.XPath("//label[contains(text(), 'File:')]"); @@ -100,7 +108,6 @@ public class AcquisitionDetails : PageObjectBase private readonly By acquisitionFileProjectDelete = By.CssSelector("div[data-testid='typeahead-project'] button[aria-label='Clear']"); private readonly By acquisitionFileProject1stOption = By.CssSelector("div[id='typeahead-project'] a"); private readonly By acquisitionFileProjectProductSelect = By.Id("input-product"); - private readonly By acquicistionFileProjectProductOptions = By.CssSelector("select[id='input-product'] option"); private readonly By acquisitionFileProjectOtherFundingInput = By.Id("input-fundingTypeOtherDescription"); private readonly By acquisitionFileStatusesFileProgressCreateLabel = By.XPath("//label[contains(text(),'File progress')]"); @@ -131,7 +138,6 @@ public class AcquisitionDetails : PageObjectBase private readonly By acquisitionFileDetailsRegionSelect = By.Id("input-region"); private readonly By acquisitionFileTeamMembersGroup = By.XPath("//div[contains(text(),'Acquisition Team')]/parent::div/parent::h2/following-sibling::div/div[@class='py-3 row']"); - private readonly By acquisitionFileViewTeamMembersGroup = By.XPath("//div[contains(text(),'Acquisition Team')]/parent::div/parent::h2/following-sibling::div/div"); private readonly By acquisitionFileCreateOwnerSubtitle = By.XPath("//div[contains(text(),'Owners')]"); private readonly By acquisitionFileOwnerInfo = By.XPath("//p[contains(text(),'Each property in this file should be owned by the owner(s) in this section')]"); @@ -141,32 +147,26 @@ public class AcquisitionDetails : PageObjectBase private readonly By acquisitionFileOwnerSolicitorLabel = By.XPath("//label[contains(text(),'Owner solicitor')]"); private readonly By acquisitionFileOwnerSolicitorButton = By.XPath("//label[contains(text(),'Owner solicitor')]/parent::div/following-sibling::div/div/div/div/button[@title='Select Contact']"); private readonly By acquisitionFileOwnerSolicitorContent = By.XPath("//label[contains(text(),'Owner solicitor')]/parent::div/following-sibling::div/a/span"); - private readonly By acquisitionFileOwnerRepresentativeButton = By.XPath("//label[contains(text(),'Owner representative')]/parent::div/following-sibling::div/div/div/div/button[@title='Select Contact']"); private readonly By acquisitionFileOwnerRepresentativeContent = By.XPath("//label[contains(text(),'Owner representative')]/parent::div/following-sibling::div/a/span"); - private readonly By acquisitionFileOwnerCommentTextArea = By.Id("input-ownerRepresentative.comment"); private readonly By acquisitionFileOwnerCommentContent = By.XPath("//label[contains(text(),'Comment')]/parent::div/following-sibling::div"); - private readonly By acquisitionFileOwnerCommentEditTextArea = By.Id("input-ownerRepresentatives.0.comment"); - private readonly By acquisitionFileMainFormDiv = By.XPath("//h1[contains(text(),'Create Acquisition File')]/parent::div/parent::div/parent::div/parent::div"); + private readonly By acquisitionFileNoticeClaimSubtitle = By.XPath("//h2/div/div[contains(text(),'Notice of Claims')]"); + private readonly By acquisitionFileNoticeClaimReceivedDateLabel = By.XPath("//label[contains(text(),'Received date')]"); + private readonly By acquisitionFileNoticeClaimReceivedDateInput = By.Id("datepicker-noticeOfClaim.receivedDate"); + private readonly By acquisitionFileNoticeClaimReceivedDateContent = By.XPath("//label[contains(text(),'Received date')]/parent::div/following-sibling::div"); + private readonly By acquisitionFileNoticeClaimCommentsLabel = By.XPath("//label[contains(text(),'Comments')]"); + private readonly By acquisitionFileNoticeClaimCommentsInput = By.Id("input-noticeOfClaim.comment"); + private readonly By acquisitionFileNoticeClaimCommentsContent = By.XPath("//label[contains(text(),'Comments')]/parent::div/following-sibling::div"); + //Acquisition Sub-files View Elements - private readonly By acquisitionSubfileCreateTableTitle = By.XPath("//div[contains(text(),'Linked Files')]"); private readonly By acquisitionSubfileCreateTableLinkedFilesCode = By.CssSelector("div[data-testid='linked-files-header']"); private readonly By acquisitionSubfileCreateButton = By.XPath("//div[contains(text(),'Add Sub-interest File')]/parent::button"); - private readonly By acquisitionSubfileInitLabel = By.XPath("//label[contains(text(),'Linked files')]"); - private readonly By acquisitionSubfileTable = By.CssSelector("div[data-testid='AcquisitionSubFilesTable']"); - private readonly By acquisitionSubfileNumberColumn = By.XPath("//div[@data-testid='AcquisitionSubFilesTable']/div[@class='thead thead-light']/div/div//div[contains(text(),'#')]"); - private readonly By acquisitionSubfileNameColumn = By.XPath("//div[@data-testid='AcquisitionSubFilesTable']/div[@class='thead thead-light']/div/div//div[contains(text(),'Name')]"); - private readonly By acquisitionSubfileStatusColumn = By.XPath("//div[@data-testid='AcquisitionSubFilesTable']/div[@class='thead thead-light']/div/div//div[contains(text(),'Status')]"); - private readonly By acquisitionSubfilesCount = By.CssSelector("div[data-testid='AcquisitionSubFilesTable'] div[class='tbody'] div[class='tr-wrapper']"); - private readonly By acquisitionSubfileLastChildLink = By.CssSelector("div[data-testid='AcquisitionSubFilesTable'] div[class='tbody'] div[class='tr-wrapper']:last-child a"); - private readonly By acquisitionSubfileCreateInsterestSubtitle = By.XPath("//div[contains(text(),'Sub-Interest')]"); private readonly By acquisitionSubfileInterestInfo = By.XPath("//p[contains(text(),'Each property in this sub-file should be impacted by the sub-interest(s) in this section')]"); - private readonly By acquisitionSubfileOwnersGroup = By.XPath("//div[contains(text(),'Sub-Interest')]/parent::div/parent::h2/following-sibling::div/div[@class='py-3 row']"); private readonly By acquisitionSubfileOwnerSolicitorLabel = By.XPath("//label[contains(text(),'Sub-interest solicitor')]"); private readonly By acquisitionSubfileOwnerSolicitorButton = By.XPath("//label[contains(text(),'Sub-interest solicitor')]/parent::div/following-sibling::div/div/div/div/button[@title='Select Contact']"); private readonly By acquisitionSubfileOwnerSolicitorContent = By.XPath("//label[contains(text(),'Sub-interest solicitor')]/parent::div/following-sibling::div/a/span"); @@ -174,7 +174,6 @@ public class AcquisitionDetails : PageObjectBase private readonly By acquisitionSubfileOwnerRepresentativeButton = By.XPath("//label[contains(text(),'Sub-interest representative')]/parent::div/following-sibling::div/div/div/div/button[@title='Select Contact']"); private readonly By acquisitionSubfileOwnerRepresentativeContent = By.XPath("//label[contains(text(),'Sub-interest representative')]/parent::div/following-sibling::div/a/span"); - //Acquisition File Confirmation Modal Elements private readonly By acquisitionFileConfirmationModal = By.CssSelector("div[class='modal-content']"); @@ -243,14 +242,14 @@ public void AddAcquisitionSubfileBttn() public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitionType) { - //Status + //STATUS if (acquisition.AcquisitionStatus != "" && acquisitionType == "Main") { WaitUntilClickable(acquisitionFileStatusSelect); ChooseSpecificSelectOption(acquisitionFileStatusSelect, acquisition.AcquisitionStatus); } - //Project + //PROJECT if (acquisition.AcquisitionProject != "" && acquisitionType == "Main") { WaitUntilVisible(acquisitionFileProjectInput); @@ -288,7 +287,7 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio webDriver.FindElement(acquisitionFileProjectOtherFundingInput).SendKeys(acquisition.AcquisitionFundingOther); } - //Progress Statuses + //PROGRESS STATUTES //Delete File Progress statuses previously selected if any if (webDriver.FindElements(acquisitionFileStatusesDeleteBttns).Count > 0) { @@ -356,7 +355,7 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio if (acquisition.AcquisitionExpropriationRiskStatus != "") ChooseSpecificSelectOption(acquisitionFileStatusesExpropriationRiskSelect, acquisition.AcquisitionExpropriationRiskStatus); - //Schedule + //SCHEDULE if (acquisition.AcquisitionAssignedDate != "") { WaitUntilClickable(acquisitionFileAssignedDateInput); @@ -389,7 +388,7 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio webDriver.FindElement(acquisitionFilePossesionDateInput).SendKeys(Keys.Enter); } - //Details + //DETAILS if (acquisition.AcquisitionFileName != "") { WaitUntilVisible(acquisitionFileNameInput); @@ -434,7 +433,7 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio ChooseSpecificSelectOption(acquisitionFileDetailsRegionSelect, acquisition.AcquisitionMOTIRegion); } - //Team + //TEAM if (acquisition.AcquisitionTeam!.Count > 0) { while (webDriver.FindElements(acquisitionFileTeamMembersGroup).Count > 0) @@ -445,7 +444,7 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio } - //Owners + //OWNERS if (acquisition.AcquisitionOwners!.Count > 0) { while (webDriver.FindElements(acquisitionFileOwnersGroup).Count > 0) @@ -498,6 +497,25 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio webDriver.FindElement(acquisitionFileOwnerCommentTextArea).SendKeys(acquisition.OwnerComment); } } + + //NOTICE OF CLAIMS + AssertTrueIsDisplayed(acquisitionFileNoticeClaimSubtitle); + + //Date Received + AssertTrueIsDisplayed(acquisitionFileNoticeClaimReceivedDateLabel); + if (acquisition.AcquisitionNOCReceivedDate != "") + { + ClearInput(acquisitionFileNoticeClaimReceivedDateInput); + webDriver.FindElement(acquisitionFileNoticeClaimReceivedDateInput).SendKeys(acquisition.AcquisitionNOCReceivedDate); + } + + //Comments + AssertTrueIsDisplayed(acquisitionFileNoticeClaimCommentsLabel); + if (acquisition.AcquisitionNOCComments != "") + { + ClearInput(acquisitionFileNoticeClaimCommentsInput); + webDriver.FindElement(acquisitionFileNoticeClaimCommentsInput).SendKeys(acquisition.AcquisitionNOCComments); + } } public void SaveAcquisitionFileDetails() @@ -587,7 +605,6 @@ public int IsCreateAcquisitionFileFormVisible() public void VerifyAcquisitionFileView(AcquisitionFile acquisition, string acquisitionType) { Wait(); - //AssertTrueIsDisplayed(acquisitionFileViewTitle); //Header AssertTrueIsDisplayed(acquisitionFileHeaderCodeLabel); @@ -612,6 +629,15 @@ public void VerifyAcquisitionFileView(AcquisitionFile acquisition, string acquis if (acquisition.AcquisitionStatus != "") AssertTrueContentEquals(acquisitionHeaderStatusContent, GetUppercaseString(acquisition.AcquisitionStatus)); + //Links + AssertTrueIsDisplayed(acquisitionFileGenerateFormTitle); + AssertTrueIsDisplayed(acquisitionFileGenerateForm12Link); + AssertTrueIsDisplayed(acquisitionFileGenerateLetterLink); + AssertTrueIsDisplayed(acquisitionFileGenerateH0443Link); + AssertTrueIsDisplayed(acquisitionFileGenerateNoticeEntryLink); + AssertTrueIsDisplayed(acquisitionFileGenerateIntakeLink); + + //MAIN FORM //Project AssertTrueIsDisplayed(acquisitionFileProjectSubtitle); AssertTrueIsDisplayed(acquisitionFileProjectLabel); @@ -777,6 +803,19 @@ public void VerifyAcquisitionFileView(AcquisitionFile acquisition, string acquis if (acquisition.OwnerComment != "") AssertTrueContentEquals(acquisitionFileOwnerCommentContent, acquisition.OwnerComment); + + //NOTICE OF CLAIMS + AssertTrueIsDisplayed(acquisitionFileNoticeClaimSubtitle); + + //NOC Received Date + AssertTrueIsDisplayed(acquisitionFileNoticeClaimReceivedDateLabel); + if (acquisition.AcquisitionNOCReceivedDate != "") + AssertTrueContentEquals(acquisitionFileNoticeClaimReceivedDateContent, acquisition.AcquisitionNOCReceivedDate); + + //NOC Comments + AssertTrueIsDisplayed(acquisitionFileNoticeClaimCommentsLabel); + if (acquisition.AcquisitionNOCReceivedDate != "") + AssertTrueContentEquals(acquisitionFileNoticeClaimCommentsContent, acquisition.AcquisitionNOCComments); } public void VerifyAcquisitionFileCreate(string acquisitionType) @@ -859,6 +898,13 @@ public void VerifyAcquisitionFileCreate(string acquisitionType) AssertTrueIsDisplayed(acquisitionSubfileOwnerRepresentativeButton); } AssertTrueIsDisplayed(acquisitionFileOwnerCommentTextArea); + + //Notice of Claims + AssertTrueIsDisplayed(acquisitionFileNoticeClaimSubtitle); + AssertTrueIsDisplayed(acquisitionFileNoticeClaimReceivedDateLabel); + AssertTrueIsDisplayed(acquisitionFileNoticeClaimReceivedDateInput); + AssertTrueIsDisplayed(acquisitionFileNoticeClaimCommentsLabel); + AssertTrueIsDisplayed(acquisitionFileNoticeClaimCommentsInput); } public void VerifyMaximumFields() diff --git a/testing/PIMS.Tests.Automation/PageObjects/DigitalDocuments.cs b/testing/PIMS.Tests.Automation/PageObjects/DigitalDocuments.cs index 8dbc500906..634d33e0a9 100644 --- a/testing/PIMS.Tests.Automation/PageObjects/DigitalDocuments.cs +++ b/testing/PIMS.Tests.Automation/PageObjects/DigitalDocuments.cs @@ -214,7 +214,7 @@ public class DigitalDocuments: PageObjectBase private readonly By documentViewOwnerContent = By.XPath("//div[@class='modal-body']/div/div/div/div/div/div/label[contains(text(),'Owner')]/parent::div/following-sibling::div"); private readonly By documentViewPhysicalLocationContent = By.XPath("//label[contains(text(),'Physical location')]/parent::div/following-sibling::div"); private readonly By documentViewPIDLabel = By.XPath("//label[contains(text(),'PID')]"); - private readonly By documentViewPIDContent = By.XPath("//div[@class='pb-2 row'][1]/div/label[contains(text(),'PID')]/parent::div/following-sibling::div"); + private readonly By documentViewPIDContent = By.XPath("//div[@class='modal-body']/div/div/div/div/div/div/label[text()='PID']/parent::div/following-sibling::div"); private readonly By documentViewPINContent = By.XPath("//div[@class='pb-2 row'][2]/div/label[contains(text(),'PIN')]/parent::div/following-sibling::div"); private readonly By documentViewPlanNumberContent = By.XPath("//label[contains(text(),'Plan #')]/parent::div/following-sibling::div"); private readonly By documentViewPlanRevisionContent = By.XPath("//label[contains(text(),'Plan revision')]/parent::div/following-sibling::div"); diff --git a/testing/PIMS.Tests.Automation/PageObjects/DispositionFileDetails.cs b/testing/PIMS.Tests.Automation/PageObjects/DispositionFileDetails.cs index c73ad0e1c1..13a6346874 100644 --- a/testing/PIMS.Tests.Automation/PageObjects/DispositionFileDetails.cs +++ b/testing/PIMS.Tests.Automation/PageObjects/DispositionFileDetails.cs @@ -21,7 +21,7 @@ public class DispositionFileDetails : PageObjectBase private readonly By dispositionFileMainFormDiv = By.XPath("//h1[contains(text(),'Create Disposition File')]/parent::div/parent::div/parent::div/parent::div"); private readonly By dispositionFileCreateTitle = By.XPath("//div[@data-testid='form-title']"); - private readonly By dispositionFileCloseFormBttn = By.XPath("//h1[contains(text(),'Disposition File')]/parent::div/following-sibling::div/*[3]"); + private readonly By dispositionFileCloseFormBttn = By.CssSelector("div[data-testd='leaflet-buttons-section'] *[data-testid='close-leaflet-button']"); private readonly By dispositionFileHeaderCodeLabel = By.XPath("//label[contains(text(), 'File:')]"); private readonly By dispositionFileHeaderCodeContent = By.XPath("//label[contains(text(), 'File:')]/parent::div/following-sibling::div"); diff --git a/testing/PIMS.Tests.Automation/PageObjects/LeaseDetails.cs b/testing/PIMS.Tests.Automation/PageObjects/LeaseDetails.cs index ea5e91063e..9c971b2cad 100644 --- a/testing/PIMS.Tests.Automation/PageObjects/LeaseDetails.cs +++ b/testing/PIMS.Tests.Automation/PageObjects/LeaseDetails.cs @@ -293,7 +293,7 @@ public void CreateMinimumLicenseDetails(Lease lease) Wait(); FocusAndClick(licenseDetailsPurposeMultiselector); - Wait(4000); + Wait(5000); ChooseMultiSelectSpecificOption(licenseDetailsPurposeOptions, purpose); } @@ -672,8 +672,10 @@ public void SaveLicenseWithExpectedErrors() public void CancelLicense() { Wait(); - ButtonElement("Cancel"); + FocusAndClick(By.CssSelector("button[data-testid='cancel-button']")); sharedModals.CancelActionModal(); + + Wait(); } public string GetLeaseCode() diff --git a/testing/PIMS.Tests.Automation/PageObjects/ManagementDetails.cs b/testing/PIMS.Tests.Automation/PageObjects/ManagementDetails.cs index cad77a138b..2b88f778f2 100644 --- a/testing/PIMS.Tests.Automation/PageObjects/ManagementDetails.cs +++ b/testing/PIMS.Tests.Automation/PageObjects/ManagementDetails.cs @@ -1,5 +1,6 @@ using OpenQA.Selenium; using OpenQA.Selenium.BiDi.BrowsingContext; +using OpenQA.Selenium.DevTools.V142.Network; using PIMS.Tests.Automation.Classes; namespace PIMS.Tests.Automation.PageObjects @@ -61,14 +62,28 @@ public class ManagementDetails : PageObjectBase private readonly By managementFilePurposeLabel = By.XPath("//label[contains(text(),'Purpose')]"); private readonly By managementFilePurposeSelect = By.Id("input-purposeTypeCode"); private readonly By managemenetFilePurposeContent = By.XPath("//label[contains(text(),'Purpose')]/parent::div/following-sibling::div"); + private readonly By managementFileResponsiblePayerLabel = By.XPath("//label[contains(text(),'Responsible payer')]"); + private readonly By managementFileResponsiblePayerContactBttn = By.XPath("//input[@id='input-responsiblePayer.id']/parent::div/parent::div/following-sibling::div/button"); + private readonly By managementFileResponsiblePayerContent = By.XPath("//label[contains(text(),'Responsible payer')]/parent::div/following-sibling::div/a"); private readonly By managementFileAdditionalDetailsLabel = By.XPath("//label[contains(text(),'Additional details')]"); private readonly By managementFileAdditionalDetailsInput = By.Id("input-additionalDetails"); private readonly By managementFileAdditionalDetailsContent = By.XPath("//label[contains(text(),'Additional details')]/parent::div/following-sibling::div"); + private readonly By managementFileMinistryRegionLabel = By.XPath("//label[contains(text(),'Ministry region')]"); + private readonly By managementFileMinistryRegionSelect = By.Id("input-regionCode"); + private readonly By managementFileMinistryRegionContent = By.XPath("//label[contains(text(),'Ministry region')]/parent::div/following-sibling::div"); private readonly By managementFileTeamSubtitle = By.XPath("//h2/div/div[contains(text(),'Management Team')]"); private readonly By managementFileAddAnotherMemberLink = By.CssSelector("button[data-testid='add-team-member']"); private readonly By managementFileViewTeamMembersGroup = By.XPath("//div[contains(text(),'Management Team')]/parent::div/parent::h2/following-sibling::div/div"); + private readonly By managementFileNoticeClaimSubtitle = By.XPath("//h2/div/div[contains(text(),'Notice of Claims')]"); + private readonly By managementFileNoticeClaimReceivedDateLabel = By.XPath("//label[contains(text(),'Received date')]"); + private readonly By managementFileNoticeClaimReceivedDateInput = By.Id("datepicker-noticeOfClaim.receivedDate"); + private readonly By managementFileNoticeClaimReceivedDateContent = By.XPath("//label[contains(text(),'Received date')]/parent::div/following-sibling::div"); + private readonly By managementFileNoticeClaimCommentsLabel = By.XPath("//label[contains(text(),'Comments')]"); + private readonly By managementFileNoticeClaimCommentsInput = By.Id("input-noticeOfClaim.comment"); + private readonly By managementFileNoticeClaimCommentsContent = By.XPath("//label[contains(text(),'Comments')]/parent::div/following-sibling::div"); + private readonly By managementFileSummaryBttn = By.CssSelector("button[title='File Details']"); private readonly By managementFileConfirmationModal = By.CssSelector("div[class='modal-content']"); @@ -76,12 +91,14 @@ public class ManagementDetails : PageObjectBase private readonly SharedFileProperties sharedSearchProperties; private readonly SharedTeamMembers sharedTeamMembers; private readonly SharedModals sharedModals; + private readonly SharedSelectContact sharedContacts; public ManagementDetails(IWebDriver webDriver) : base(webDriver) { sharedSearchProperties = new SharedFileProperties(webDriver); sharedTeamMembers = new SharedTeamMembers(webDriver); sharedModals = new SharedModals(webDriver); + sharedContacts = new SharedSelectContact(webDriver); } public void NavigateToCreateNewManagementFile() @@ -167,7 +184,15 @@ public void UpdateManagementFileDetails(ManagementFile mgmtFile) if (mgmtFile.ManagementPurpose != "") ChooseSpecificSelectOption(managementFilePurposeSelect, mgmtFile.ManagementPurpose); - //Additional details + //Responsible Payer + AssertTrueIsDisplayed(managementFileResponsiblePayerLabel); + if (mgmtFile.ManagementResponsiblePayer != "") + { + webDriver.FindElement(managementFileResponsiblePayerContactBttn).Click(); + sharedContacts.SelectContact(mgmtFile.ManagementResponsiblePayer, ""); + } + + //Additional Details AssertTrueIsDisplayed(managementFileAdditionalDetailsLabel); if (mgmtFile.ManagementAdditionalDetails != "") { @@ -175,6 +200,11 @@ public void UpdateManagementFileDetails(ManagementFile mgmtFile) webDriver.FindElement(managementFileAdditionalDetailsInput).SendKeys(mgmtFile.ManagementAdditionalDetails); } + //Ministry Region + AssertTrueIsDisplayed(managementFileMinistryRegionLabel); + if (mgmtFile.ManagementMinistryRegion != "") + ChooseSpecificSelectOption(managementFileMinistryRegionSelect, mgmtFile.ManagementMinistryRegion); + //MANAGEMENT TEAM if (mgmtFile.ManagementTeam!.Count > 0) { @@ -184,6 +214,25 @@ public void UpdateManagementFileDetails(ManagementFile mgmtFile) for (var i = 0; i < mgmtFile.ManagementTeam.Count; i++) sharedTeamMembers.AddMgmtTeamMembers(mgmtFile.ManagementTeam[i]); } + + //NOTICE OF CLAIMS + AssertTrueIsDisplayed(managementFileNoticeClaimSubtitle); + + //Date Received + AssertTrueIsDisplayed(managementFileNoticeClaimReceivedDateLabel); + if (mgmtFile.ManagementNOCReceivedDate != "") + { + ClearInput(managementFileNoticeClaimReceivedDateInput); + webDriver.FindElement(managementFileNoticeClaimReceivedDateInput).SendKeys(mgmtFile.ManagementNOCReceivedDate); + } + + //Comments + AssertTrueIsDisplayed(managementFileNoticeClaimCommentsLabel); + if (mgmtFile.ManagementNOCComments != "") + { + ClearInput(managementFileNoticeClaimCommentsInput); + webDriver.FindElement(managementFileNoticeClaimCommentsInput).SendKeys(mgmtFile.ManagementNOCComments); + } } public void EditMgmtFileDetailsBttn() @@ -269,10 +318,19 @@ public void VerifyManagementFileInitCreateForm() AssertTrueIsDisplayed(managementFilePurposeSelect); AssertTrueIsDisplayed(managementFileAdditionalDetailsLabel); AssertTrueIsDisplayed(managementFileAdditionalDetailsInput); + AssertTrueIsDisplayed(managementFileMinistryRegionLabel); + AssertTrueIsDisplayed(managementFileMinistryRegionSelect); //Management Team AssertTrueIsDisplayed(managementFileTeamSubtitle); AssertTrueIsDisplayed(managementFileAddAnotherMemberLink); + + //Notice of Claim + AssertTrueIsDisplayed(managementFileNoticeClaimSubtitle); + AssertTrueIsDisplayed(managementFileNoticeClaimReceivedDateLabel); + AssertTrueIsDisplayed(managementFileNoticeClaimReceivedDateInput); + AssertTrueIsDisplayed(managementFileNoticeClaimCommentsLabel); + AssertTrueIsDisplayed(managementFileNoticeClaimCommentsInput); } public void VerifyManagementUpdateForm() @@ -299,12 +357,23 @@ public void VerifyManagementUpdateForm() AssertTrueIsDisplayed(managementFileHistoricalFileInput); AssertTrueIsDisplayed(managementFilePurposeLabel); AssertTrueIsDisplayed(managementFilePurposeSelect); + AssertTrueIsDisplayed(managementFileResponsiblePayerLabel); + AssertTrueIsDisplayed(managementFileResponsiblePayerContactBttn); AssertTrueIsDisplayed(managementFileAdditionalDetailsLabel); AssertTrueIsDisplayed(managementFileAdditionalDetailsInput); + AssertTrueIsDisplayed(managementFileMinistryRegionLabel); + AssertTrueIsDisplayed(managementFileMinistryRegionSelect); //Management Team AssertTrueIsDisplayed(managementFileTeamSubtitle); AssertTrueIsDisplayed(managementFileAddAnotherMemberLink); + + //Notice of Claim + AssertTrueIsDisplayed(managementFileNoticeClaimSubtitle); + AssertTrueIsDisplayed(managementFileNoticeClaimReceivedDateLabel); + AssertTrueIsDisplayed(managementFileNoticeClaimReceivedDateInput); + AssertTrueIsDisplayed(managementFileNoticeClaimCommentsLabel); + AssertTrueIsDisplayed(managementFileNoticeClaimCommentsInput); } public void VerifyManagementDetailsViewForm(ManagementFile mgmtFile) @@ -370,6 +439,11 @@ public void VerifyManagementDetailsViewForm(ManagementFile mgmtFile) if(mgmtFile.ManagementHistoricalFile != "") AssertTrueContentEquals(managementFileHistoricalFileContent, mgmtFile.ManagementHistoricalFile); + //Responsible Payer + AssertTrueIsDisplayed(managementFileResponsiblePayerLabel); + if (mgmtFile.ManagementResponsiblePayer != "") + AssertTrueContentEquals(managementFileResponsiblePayerContent, mgmtFile.ManagementResponsiblePayer); + //Purpose AssertTrueIsDisplayed(managementFilePurposeLabel); if (mgmtFile.ManagementPurpose != "") @@ -380,10 +454,28 @@ public void VerifyManagementDetailsViewForm(ManagementFile mgmtFile) if (mgmtFile.ManagementAdditionalDetails != "") AssertTrueContentEquals(managementFileAdditionalDetailsContent, mgmtFile.ManagementAdditionalDetails); + //Ministry Region + AssertTrueIsDisplayed(managementFileMinistryRegionLabel); + if (mgmtFile.ManagementMinistryRegion != "") + AssertTrueContentEquals(managementFileMinistryRegionContent, mgmtFile.ManagementMinistryRegion); + //MANAGEMENT TEAM AssertTrueIsDisplayed(managementFileTeamSubtitle); if(mgmtFile.ManagementTeam!.Count > 0) sharedTeamMembers.VerifyTeamMembersViewForm(mgmtFile.ManagementTeam); + + //NOTICE OF CLAIMS + AssertTrueIsDisplayed(managementFileNoticeClaimSubtitle); + + //NOC Received Date + AssertTrueIsDisplayed(managementFileNoticeClaimReceivedDateLabel); + if (mgmtFile.ManagementNOCReceivedDate != "") + AssertTrueContentEquals(managementFileNoticeClaimReceivedDateContent, mgmtFile.ManagementNOCReceivedDate); + + //NOC Comments + AssertTrueIsDisplayed(managementFileNoticeClaimCommentsLabel); + if (mgmtFile.ManagementNOCReceivedDate != "") + AssertTrueContentEquals(managementFileNoticeClaimCommentsContent, mgmtFile.ManagementNOCComments); } } } diff --git a/testing/PIMS.Tests.Automation/PageObjects/Projects.cs b/testing/PIMS.Tests.Automation/PageObjects/Projects.cs index 605e83fbc5..75c708f1f9 100644 --- a/testing/PIMS.Tests.Automation/PageObjects/Projects.cs +++ b/testing/PIMS.Tests.Automation/PageObjects/Projects.cs @@ -366,7 +366,7 @@ public void VerifyCreateProjectForm() Wait(); //AssertTrueIsDisplayed(projectCreateTitle); - AssertTrueIsDisplayed(projectInstructionParagraph); + //AssertTrueIsDisplayed(projectInstructionParagraph); AssertTrueIsDisplayed(projectNameLabel); AssertTrueIsDisplayed(projectNameInput); diff --git a/testing/PIMS.Tests.Automation/PageObjects/PropertyInformation.cs b/testing/PIMS.Tests.Automation/PageObjects/PropertyInformation.cs index 90539fcd41..739d03ac12 100644 --- a/testing/PIMS.Tests.Automation/PageObjects/PropertyInformation.cs +++ b/testing/PIMS.Tests.Automation/PageObjects/PropertyInformation.cs @@ -151,10 +151,8 @@ public class PropertyInformation : PageObjectBase private readonly By propertyDetailsTenureTitle = By.XPath("//div[contains(text(),'Tenure')]"); private readonly By propertyDetailsTenureStatusLabel = By.XPath("//label[contains(text(),'Tenure status')]"); private readonly By propertyDetailsTenureStatusDiv = By.XPath("//label[contains(text(),'Tenure status')]/parent::div/following-sibling::div/div/div/div"); - //private readonly By propertyDetailsPublicHwyLabel = By.XPath("//label[contains(text(),'Provincial public hwy')]"); - //private readonly By propertyDetailsPublicHwyDiv = By.XPath("//label[contains(text(),'Provincial public hwy')]/parent::div/following-sibling::div"); - //private readonly By propertyDetailsHighwayRoadEstablishLabel = By.XPath("//label[contains(text(),'Highway / Road established by')]"); - //private readonly By propertyDetailsHighwayRoadEstablishDiv = By.XPath("//label[contains(text(),'Highway / Road established by')]/parent::div/following-sibling::div"); + private readonly By propertyDetailsTenureCleanupLabel = By.XPath("//label[contains(text(),'Tenure cleanup')]"); + private readonly By propertyDetailsTenureCleanupDiv = By.XPath("//label[contains(text(),'Tenure cleanup')]/parent::div/following-sibling::div/div/div/div"); private readonly By propertyDetailsAdjacentLandTypeLabel = By.XPath("//label[contains(text(),'Adjacent Land type')]"); private readonly By propertyDetailsAdjacentLandTypeDiv = By.XPath("//label[contains(text(),'Adjacent Land type')]/parent::div/following-sibling::div"); @@ -216,9 +214,9 @@ public class PropertyInformation : PageObjectBase private readonly By propertyDetailsTenureStatusInput = By.Id("multiselect-tenures_input"); private readonly By propertyDetailsTenureOptions = By.XPath("//input[@id='multiselect-tenures_input']/parent::div/following-sibling::div/ul[@class='optionContainer']"); private readonly By propertyDetailsTenureDeleteBttns = By.CssSelector("div[id='multiselect-tenures'] i[class='custom-close']"); - private readonly By propertyDetailsProvPublicHwy = By.Id("input-pphStatusTypeCode"); - private readonly By propertyDetailsRoadEstablishInput = By.Id("multiselect-roadTypes_input"); - private readonly By propertyDetailsRoadEstablishOptions = By.XPath("//input[@id='multiselect-roadTypes_input']/parent::div/following-sibling::div/ul[@class='optionContainer']"); + private readonly By propertyDetailsTenureCleanupInput = By.Id("multiselect-tenureCleanups_input"); + private readonly By propertyDetailsTenureCleanupOptions = By.XPath("//input[@id='multiselect-tenureCleanups_input']/parent::div/following-sibling::div/ul[@class='optionContainer']"); + private readonly By propertyDetailsTenureCleanupDeleteBttns = By.CssSelector("div[id='multiselect-tenureCleanups_input'] i[class='custom-close']"); private readonly By propertyDetailsAreaSqMtsInput = By.Name("area-sq-meters"); private readonly By propertyDetailsAreaHctInput = By.Name("area-hectares"); @@ -491,18 +489,15 @@ public void UpdatePropertyDetails(Property property) } } - //if (property.ProvincialPublicHwy != "") - // ChooseSpecificSelectOption(propertyDetailsProvPublicHwy, property.ProvincialPublicHwy); - - //if (property.HighwayEstablishedBy.First() != "") - //{ - // ClearMultiSelectInput(propertyDetailsRoadEstablishInput); - // foreach (string status in property.HighwayEstablishedBy) - // { - // FocusAndClick(propertyDetailsRoadEstablishInput); - // ChooseMultiSelectSpecificOption(propertyDetailsRoadEstablishOptions, status); - // } - //} + if (property.TenureCleanup.First() != "") + { + ClearMultiSelectInput(propertyDetailsTenureCleanupInput); + foreach (string status in property.TenureCleanup) + { + FocusAndClick(propertyDetailsTenureCleanupInput); + ChooseMultiSelectSpecificOption(propertyDetailsTenureCleanupOptions, status); + } + } //MEASUREMENTS if (property.SqrMeters != "") @@ -623,9 +618,6 @@ public void VerifyPropertyInformationHeader(bool hasHistoricalFile) AssertTrueIsDisplayed(propertyInformationHeaderPIDLabel); AssertTrueContentNotEquals(propertyInformationHeaderPIDContent, ""); - //AssertTrueIsDisplayed(propertyInformationHeaderLandTypeLabel); - //AssertTrueContentNotEquals(propertyInformationHeaderLandTypeContent, ""); - AssertTrueIsDisplayed(propertyInformationHeaderZoomBttn); } @@ -673,14 +665,8 @@ public void VerifyPropertyDetailsView() AssertTrueIsDisplayed(propertyDetailsTenureTitle); AssertTrueIsDisplayed(propertyDetailsTenureStatusLabel); AssertTrueIsDisplayed(propertyDetailsTenureStatusDiv); - //AssertTrueIsDisplayed(propertyDetailsPublicHwyLabel); - //AssertTrueIsDisplayed(propertyDetailsPublicHwyDiv); - - //if (webDriver.FindElements(propertyDetailsHighwayRoadEstablishLabel).Count() > 0) - //{ - // AssertTrueIsDisplayed(propertyDetailsHighwayRoadEstablishLabel); - // AssertTrueIsDisplayed(propertyDetailsHighwayRoadEstablishDiv); - //} + AssertTrueIsDisplayed(propertyDetailsTenureCleanupLabel); + AssertTrueIsDisplayed(propertyDetailsTenureCleanupDiv); if (webDriver.FindElements(propertyDetailsAdjacentLandTypeLabel).Count() > 0) { diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchManagement.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchManagement.cs index 1cefefd9ea..238a6ff52c 100644 --- a/testing/PIMS.Tests.Automation/PageObjects/SearchManagement.cs +++ b/testing/PIMS.Tests.Automation/PageObjects/SearchManagement.cs @@ -1,4 +1,5 @@ using OpenQA.Selenium; +using OpenQA.Selenium.DevTools.V142.Network; using PIMS.Tests.Automation.Classes; namespace PIMS.Tests.Automation.PageObjects @@ -8,7 +9,6 @@ public class SearchManagement: PageObjectBase //Main Menu Elements private readonly By managementMainMenu = By.XPath("//div[@data-testid= 'nav-tooltip-management']"); private readonly By managementMainMenuListViewLink = By.XPath("//a[contains(text(),'Manage Management Files')]"); - private readonly By managementMainMenuActsListViewLink = By.XPath("//a[contains(text(),'Manage Management Activities')]"); //Management List View - Search Section Elements private readonly By searchManagementFileTitle = By.XPath("//h1/div/div/span[contains(text(),'Management Files')]"); @@ -24,6 +24,7 @@ public class SearchManagement: PageObjectBase private readonly By managementListSearchByStatusSelect = By.Id("input-managementFileStatusCode"); private readonly By managementListSearchByPurposeSelect = By.Id("input-managementFilePurposeCode"); private readonly By managementListSearchByProjectInput = By.Id("input-projectNameOrNumber"); + private readonly By managementListSearchByRegionSelect = By.Id("input-regionCode"); private readonly By managementListSearchButton = By.Id("search-button"); private readonly By managementListResetButton = By.Id("reset-button"); @@ -31,6 +32,7 @@ public class SearchManagement: PageObjectBase private readonly By managementListViewMgmtFileColumnHeader = By.XPath("//div[@data-testid='managementFilesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'Management file #')]"); private readonly By managementListViewFileNameColumnHeader = By.XPath("//div[@data-testid='managementFilesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'File name')]"); private readonly By managementListViewOrderByFileName = By.CssSelector("div[data-testid='sort-column-fileName']"); + private readonly By managementListViewMOTTRegionColumnHeader = By.XPath("//div[@data-testid='managementFilesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'MOTT region')]"); private readonly By managementListViewHistFileColumnHeader = By.XPath("//div[@data-testid='managementFilesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'Historical File #')]"); private readonly By managementListViewOrderByHistFile = By.CssSelector("div[data-testid='sort-column-legacyFileNum']"); private readonly By managementListViewProjectColumnHeader = By.XPath("//div[@data-testid='managementFilesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'Project')]"); @@ -135,7 +137,7 @@ public string FirstMgmtStatus() } public void FilterManagementFiles(string pid = "", string pin = "", string address = "", string mgmtfile = "", string teamMember = "", - string status = "", string purpose = "", string project = "") + string status = "", string purpose = "", string project = "", string region = "") { Wait(); webDriver.FindElement(managementListResetButton).Click(); @@ -192,6 +194,12 @@ public void FilterManagementFiles(string pid = "", string pin = "", string addre WaitUntilClickable(managementListSearchByProjectInput); webDriver.FindElement(managementListSearchByProjectInput).SendKeys(project); } + if (region != "") + { + WaitUntilClickable(managementListSearchByRegionSelect); + ChooseSpecificSelectOption(managementListSearchByRegionSelect, region); + + } WaitUntilClickable(managementListSearchButton); FocusAndClick(managementListSearchButton); @@ -225,6 +233,7 @@ public void VerifySearchManagementListView() AssertTrueIsDisplayed(managementListSearchByStatusSelect); AssertTrueIsDisplayed(managementListSearchByPurposeSelect); AssertTrueIsDisplayed(managementListSearchByProjectInput); + AssertTrueIsDisplayed(managementListSearchByRegionSelect); AssertTrueIsDisplayed(managementListSearchButton); AssertTrueIsDisplayed(managementListResetButton); @@ -233,6 +242,7 @@ public void VerifySearchManagementListView() AssertTrueIsDisplayed(managementListViewFileNameColumnHeader); AssertTrueIsDisplayed(managementListViewOrderByFileName); AssertTrueIsDisplayed(managementListViewHistFileColumnHeader); + AssertTrueIsDisplayed(managementListViewMOTTRegionColumnHeader); AssertTrueIsDisplayed(managementListViewOrderByHistFile); AssertTrueIsDisplayed(managementListViewProjectColumnHeader); AssertTrueIsDisplayed(managementListViewPurposeColumnHeader); diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchProperties.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchProperties.cs index f551f45b29..3ebff4172f 100644 --- a/testing/PIMS.Tests.Automation/PageObjects/SearchProperties.cs +++ b/testing/PIMS.Tests.Automation/PageObjects/SearchProperties.cs @@ -73,17 +73,24 @@ public class SearchProperties : PageObjectBase private readonly By searchPropertyViewByFirstOption = By.CssSelector("ul[class='optionContainer'] li:nth-child(1)"); private readonly By searchPropertyListViewTitle = By.XPath("//h3[contains(text(),'PIMS Property Search')]"); - private readonly By searchPropertyViewByLabel = By.XPath("//div/strong[contains(text(),'View by')]"); - private readonly By searchViewByContainer = By.CssSelector("div[id='properties-selector']"); + private readonly By searchPropertyViewByLabel = By.XPath("//div/strong[contains(text(),'Search by')]"); + + private readonly By searchPropertyListViewOwnershipLabel = By.XPath("//label(text()='Ownership:')"); + private readonly By searchPropertyListViewOwnershipInput = By.Id("ownership-selector_input"); + private readonly By searchPropertyListViewTenureCleanupLabel = By.XPath("//label(text()='Tenure Cleanup:')"); + private readonly By searchPropertyListViewTenureCleanupInput = By.Id("tenure-cleanup-selector_input"); + private readonly By searchPropertyListHeaderPid = By.XPath("//div[@data-testid='propertiesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'PID')]"); private readonly By searchPropertyListHeaderPin = By.XPath("//div[@data-testid='propertiesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'PIN')]"); + private readonly By searchPropertyListHeaderHistoricalFile = By.XPath("//div[@data-testid='propertiesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'Historical File')]"); private readonly By searchPropertyListHeaderAddress = By.XPath("//div[@data-testid='propertiesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'Civic Address')]"); private readonly By searchPropertyListHeaderLocation = By.XPath("//div[@data-testid='propertiesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'Location')]"); private readonly By searchPropertyListLocationSortBttn = By.CssSelector("div[data-testid='sort-column-Location']"); private readonly By searchPropertyListHeaderLotSize = By.XPath("//div[@data-testid='propertiesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'Lot Size')]"); - private readonly By searchPropertyListLotSizeSortBttn = By.XPath("//div[@data-testid='propertiesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'Lot Size')]/div"); + private readonly By searchPropertyListLotSizeSortBttn = By.CssSelector("div[data-testid='sort-column-Lot Size (in ha)']"); private readonly By searchPropertyListHeaderOwnership = By.XPath("//div[@data-testid='propertiesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'Ownership')]"); private readonly By searchPropertyListOwnershipSortBttn = By.CssSelector("div[data-testid='sort-column-Ownership']"); + private readonly By searchPropertyListHeaderTenureCleanup = By.XPath("//div[@data-testid='propertiesTable']/div[@class='thead thead-light']/div/div/div[contains(text(),'Tenure Cleanup')]"); private readonly By searchPropertyListContent = By.CssSelector("div[data-testid='propertiesTable'] div[class='tbody'] div[class='tr-wrapper']"); private readonly By searchPropertyListContent1stProp = By.CssSelector("div[data-testid='propertiesTable'] div[class='tbody'] div[class='tr-wrapper']:first-child"); private readonly By searchPropertyListContent1stPID = By.CssSelector("div[data-testid='propertiesTable'] div[class='tbody'] div[class='tr-wrapper']:first-child div[role='cell']:nth-child(1)"); @@ -410,16 +417,27 @@ public void ValidatePropertyListView() AssertTrueIsDisplayed(searchPropertyListViewTitle); AssertTrueIsDisplayed(searchPropertyViewByLabel); - AssertTrueIsDisplayed(searchViewByContainer); + + AssertTrueIsDisplayed(searchPropertyTypeSelect); + AssertTrueIsDisplayed(searchPropertyByPIDInput); + AssertTrueIsDisplayed(searchPropertySearchBttn); + AssertTrueIsDisplayed(searchPropertyResetBttn); + + AssertTrueIsDisplayed(searchPropertyListViewOwnershipLabel); + AssertTrueIsDisplayed(searchPropertyListViewOwnershipInput); + AssertTrueIsDisplayed(searchPropertyListViewTenureCleanupLabel); + AssertTrueIsDisplayed(searchPropertyListViewTenureCleanupInput); AssertTrueIsDisplayed(searchPropertyListHeaderPid); AssertTrueIsDisplayed(searchPropertyListHeaderPin); + AssertTrueIsDisplayed(searchPropertyListHeaderHistoricalFile); AssertTrueIsDisplayed(searchPropertyListHeaderAddress); AssertTrueIsDisplayed(searchPropertyListHeaderLocation); AssertTrueIsDisplayed(searchPropertyListLocationSortBttn); AssertTrueIsDisplayed(searchPropertyListHeaderLotSize); AssertTrueIsDisplayed(searchPropertyListLotSizeSortBttn); AssertTrueIsDisplayed(searchPropertyListHeaderOwnership); + AssertTrueIsDisplayed(searchPropertyListHeaderTenureCleanup); AssertTrueIsDisplayed(searchPropertyListOwnershipSortBttn); AssertTrueIsDisplayed(searchPropertyListContent); diff --git a/testing/PIMS.Tests.Automation/PageObjects/SharedFileProperties.cs b/testing/PIMS.Tests.Automation/PageObjects/SharedFileProperties.cs index c5e4a4fa24..95de43d604 100644 --- a/testing/PIMS.Tests.Automation/PageObjects/SharedFileProperties.cs +++ b/testing/PIMS.Tests.Automation/PageObjects/SharedFileProperties.cs @@ -16,7 +16,7 @@ public class SharedFileProperties : PageObjectBase private readonly By searchPropertiesSelectedDescriptiveNameHeader = By.XPath("//div[@class='collapse show']/div/div[contains(text(),'Provide a descriptive name for this land')]"); private readonly By searchPropertiesSelectedToolTipIcon = By.CssSelector("span[data-testid='tooltip-icon-property-selector-tooltip']"); private readonly By searchPropertiesSelectedDefault = By.XPath("//span[contains(text(),'No Properties selected')]"); - private readonly By searchPropertiesPropertiesInFileTotal = By.CssSelector("button[title='move-pin-location']"); + private readonly By searchPropertiesPropertiesInFileTotal = By.CssSelector("button[data-testid*='delete-property']"); private readonly By searchPropertiesPropertiesInLeaseTotal = By.CssSelector("div[class='align-items-center my-3 no-gutters row']"); //File - Edit Properties button diff --git a/testing/PIMS.Tests.Automation/StepDefinitions/AcquisitionFileSteps.cs b/testing/PIMS.Tests.Automation/StepDefinitions/AcquisitionFileSteps.cs index 9e3155456a..48fa54e032 100644 --- a/testing/PIMS.Tests.Automation/StepDefinitions/AcquisitionFileSteps.cs +++ b/testing/PIMS.Tests.Automation/StepDefinitions/AcquisitionFileSteps.cs @@ -1151,6 +1151,10 @@ private void PopulateAcquisitionFile(int rowNumber) acquisitionFile.OwnerRepresentative = ExcelDataContext.ReadData(rowNumber, "OwnerRepresentative"); acquisitionFile.OwnerComment = ExcelDataContext.ReadData(rowNumber, "OwnerComment"); + //Notice of Claims + acquisitionFile.AcquisitionNOCReceivedDate = ExcelDataContext.ReadData(rowNumber, "AcquisitionNOCReceivedDate"); + acquisitionFile.AcquisitionNOCComments = ExcelDataContext.ReadData(rowNumber, "AcquisitionNOCComments"); + //Properties Search acquisitionFile.AcquisitionSearchPropertiesIndex = int.Parse(ExcelDataContext.ReadData(rowNumber, "AcqSearchPropertiesIndex")); if (acquisitionFile.AcquisitionSearchPropertiesIndex > 0) diff --git a/testing/PIMS.Tests.Automation/StepDefinitions/LeaseLicenseSteps.cs b/testing/PIMS.Tests.Automation/StepDefinitions/LeaseLicenseSteps.cs index 91e7c15785..357f802f08 100644 --- a/testing/PIMS.Tests.Automation/StepDefinitions/LeaseLicenseSteps.cs +++ b/testing/PIMS.Tests.Automation/StepDefinitions/LeaseLicenseSteps.cs @@ -181,6 +181,7 @@ public void UpdateLeaseProperties(int rowNumber) //Save the new license details leaseDetails.CancelLicense(); + leaseDetails.CancelLicense(); //Edit Properties Section leaseDetails.NavigateToAddPropertiesLeasesFile(); diff --git a/testing/PIMS.Tests.Automation/StepDefinitions/ManagementFileSteps.cs b/testing/PIMS.Tests.Automation/StepDefinitions/ManagementFileSteps.cs index c739eeee7a..57b00b391c 100644 --- a/testing/PIMS.Tests.Automation/StepDefinitions/ManagementFileSteps.cs +++ b/testing/PIMS.Tests.Automation/StepDefinitions/ManagementFileSteps.cs @@ -588,8 +588,10 @@ private void PopulateManagementFile(int rowNumber) //Management Details managementFile.ManagementName = ExcelDataContext.ReadData(rowNumber, "ManagementName"); managementFile.ManagementHistoricalFile = ExcelDataContext.ReadData(rowNumber, "ManagementHistoricalFile"); + managementFile.ManagementResponsiblePayer = ExcelDataContext.ReadData(rowNumber, "ManagementResponsiblePayer"); managementFile.ManagementPurpose = ExcelDataContext.ReadData(rowNumber, "ManagementPurpose"); managementFile.ManagementAdditionalDetails = ExcelDataContext.ReadData(rowNumber, "ManagementAdditionalDetails"); + managementFile.ManagementMinistryRegion = ExcelDataContext.ReadData(rowNumber, "ManagementMinistryRegion"); //Management Team managementFile.ManagementTeamStartRow = int.Parse(ExcelDataContext.ReadData(rowNumber, "ManagementTeamStartRow")); @@ -598,6 +600,10 @@ private void PopulateManagementFile(int rowNumber) if (managementFile.ManagementTeamStartRow != 0 && managementFile.ManagementTeamCount != 0) PopulateTeamsCollection(managementFile.ManagementTeamStartRow, managementFile.ManagementTeamCount); + //Notice of Claims + managementFile.ManagementNOCReceivedDate = ExcelDataContext.ReadData(rowNumber, "ManagementNOCReceivedDate"); + managementFile.ManagementNOCComments = ExcelDataContext.ReadData(rowNumber, "ManagementNOCComments"); + //Properties Search managementFile.ManagementTotalProperties = int.Parse(ExcelDataContext.ReadData(rowNumber, "ManagementTotalProperties")); managementFile.ManagementSearchPropertiesIndex = int.Parse(ExcelDataContext.ReadData(rowNumber, "ManagementSearchPropertiesIndex")); diff --git a/testing/PIMS.Tests.Automation/StepDefinitions/PropertiesSteps.cs b/testing/PIMS.Tests.Automation/StepDefinitions/PropertiesSteps.cs index d41969ed97..0e3e41611f 100644 --- a/testing/PIMS.Tests.Automation/StepDefinitions/PropertiesSteps.cs +++ b/testing/PIMS.Tests.Automation/StepDefinitions/PropertiesSteps.cs @@ -259,6 +259,8 @@ public void EditPropertyInformationDetailsFromFile(int rowNumber) //Cancel changes propertyInformation.CancelPropertyDetails(); + + //Click on the Edit Property Information Button propertyInformation.EditPropertyInfoBttn(); @@ -563,8 +565,7 @@ private void PopulateProperty(int rowNumber) property.Anomalies = genericSteps.PopulateLists(ExcelDataContext.ReadData(rowNumber, "PropertyAnomalies")); property.TenureStatus = genericSteps.PopulateLists(ExcelDataContext.ReadData(rowNumber, "PropertyTenureStatus")); - //property.ProvincialPublicHwy = ExcelDataContext.ReadData(rowNumber, "PropertyProvincialPublicHwy"); - //property.HighwayEstablishedBy = genericSteps.PopulateLists(ExcelDataContext.ReadData(rowNumber, "PropertyHighwayEstablishedBy")); + property.TenureCleanup = genericSteps.PopulateLists(ExcelDataContext.ReadData(rowNumber, "PropertyTenureCleanup")); property.SqrMeters = ExcelDataContext.ReadData(rowNumber, "PropertySqrMeters"); property.IsVolumetric = bool.Parse(ExcelDataContext.ReadData(rowNumber, "PropertyIsVolumetric")); property.Volume = ExcelDataContext.ReadData(rowNumber, "PropertyVolume");