diff --git a/testing/PIMS.Tests.Automation/Data/PIMS_Testing_Data.xlsx b/testing/PIMS.Tests.Automation/Data/PIMS_Testing_Data.xlsx
index edb514215f..72e783e349 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 92676a4c41..0f714bd284 100644
--- a/testing/PIMS.Tests.Automation/Features/Leases.feature
+++ b/testing/PIMS.Tests.Automation/Features/Leases.feature
@@ -9,12 +9,11 @@ Scenario: 01._Lease_and_License_File_Details
And I update a Lease's Details from row number 2
Then A new lease is created successfully
-Scenario: 02._Leases_Properties_and_Surplus_Declaration
+Scenario: 02._Leases_Properties
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
+ 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 0de3dfd006..970ad6a888 100644
--- a/testing/PIMS.Tests.Automation/Features/Leases.feature.cs
+++ b/testing/PIMS.Tests.Automation/Features/Leases.feature.cs
@@ -172,15 +172,15 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
await this.ScenarioCleanupAsync();
}
- [global::Xunit.SkippableFactAttribute(DisplayName="02._Leases_Properties_and_Surplus_Declaration")]
+ [global::Xunit.SkippableFactAttribute(DisplayName="02._Leases_Properties")]
[global::Xunit.TraitAttribute("FeatureTitle", "Leases and Licenses")]
- [global::Xunit.TraitAttribute("Description", "02._Leases_Properties_and_Surplus_Declaration")]
- public async global::System.Threading.Tasks.Task _02__Leases_Properties_And_Surplus_Declaration()
+ [global::Xunit.TraitAttribute("Description", "02._Leases_Properties")]
+ public async global::System.Threading.Tasks.Task _02__Leases_Properties()
{
string[] tagsOfScenario = ((string[])(null));
global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
string pickleIndex = "1";
- global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("02._Leases_Properties_and_Surplus_Declaration", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("02._Leases_Properties", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
#line 12
@@ -201,6 +201,9 @@ 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.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
await this.ScenarioCleanupAsync();
@@ -217,7 +220,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("03._Leases_Approval_Consultations", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 19
+#line 18
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -227,16 +230,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 20
+#line 19
await testRunner.GivenAsync("I create a new minimum Lease from row number 20", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 21
+#line 20
await testRunner.WhenAsync("I insert new consultations to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 22
+#line 21
await testRunner.AndAsync("I update a Lease\'s consultation from row number 21", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 23
+#line 22
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -254,7 +257,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("04._Lease_Checklist_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 25
+#line 24
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -264,13 +267,13 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 26
+#line 25
await testRunner.GivenAsync("I create a new minimum Lease from row number 22", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 27
+#line 26
await testRunner.WhenAsync("I insert Checklist information to a Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 28
+#line 27
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -288,7 +291,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("05-1._Lease_and_License_Payees_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 30
+#line 29
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -298,16 +301,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 31
+#line 30
await testRunner.GivenAsync("I create a new minimum Lease from row number 5", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 32
+#line 31
await testRunner.WhenAsync("I add Tenants or Payees to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 33
+#line 32
await testRunner.AndAsync("I update a Lease\'s Tenants from row number 31", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 34
+#line 33
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -325,7 +328,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("05-2._Lease_and_License_Tenants_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 36
+#line 35
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -335,16 +338,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 37
+#line 36
await testRunner.GivenAsync("I create a new minimum Lease from row number 6", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 38
+#line 37
await testRunner.WhenAsync("I add Tenants or Payees to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 39
+#line 38
await testRunner.AndAsync("I update a Lease\'s Tenants from row number 7", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 40
+#line 39
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -362,7 +365,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("07._Lease_and_License_Insurance_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 42
+#line 41
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -372,16 +375,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 43
+#line 42
await testRunner.GivenAsync("I create a new minimum Lease from row number 25", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 44
+#line 43
await testRunner.WhenAsync("I add Insurance to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 45
+#line 44
await testRunner.AndAsync("I update a Lease\'s Insurance from row number 26", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 46
+#line 45
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -399,7 +402,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("08._Lease_and_License_Deposits_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 48
+#line 47
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -409,16 +412,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 49
+#line 48
await testRunner.GivenAsync("I create a new minimum Lease from row number 27", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 50
+#line 49
await testRunner.WhenAsync("I add Deposits to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 51
+#line 50
await testRunner.AndAsync("I update a Lease\'s Deposits from row number 28", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 52
+#line 51
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -436,7 +439,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("09._Lease_and_License_Periods_and_Payments_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 54
+#line 53
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -446,16 +449,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 55
+#line 54
await testRunner.GivenAsync("I create a new minimum Lease from row number 29", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 56
+#line 55
await testRunner.WhenAsync("I add Periods and Payments to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 57
+#line 56
await testRunner.AndAsync("I update a Lease\'s Payments from row number 30", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 58
+#line 57
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -473,7 +476,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("10._Lease_Compensation_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 60
+#line 59
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -483,25 +486,25 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 61
+#line 60
await testRunner.GivenAsync("I create a new minimum Lease from row number 8", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 62
+#line 61
await testRunner.WhenAsync("I add additional Information to the Lease Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 63
+#line 62
await testRunner.AndAsync("I add Properties to the Lease Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 64
+#line 63
await testRunner.AndAsync("I add Tenants or Payees to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 65
+#line 64
await testRunner.AndAsync("I create Compensation Requisition within a Lease or Licence", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 66
+#line 65
await testRunner.AndAsync("I update Compensation Requisition within a Lease from row number 9", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 67
+#line 66
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -519,7 +522,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("11._Lease_and_License_Documents_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 69
+#line 68
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -529,16 +532,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 70
+#line 69
await testRunner.GivenAsync("I create a new minimum Lease from row number 32", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 71
+#line 70
await testRunner.WhenAsync("I create Digital Documents for a \"Lease\" from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 72
+#line 71
await testRunner.AndAsync("I edit a Digital Document for a \"Lease\" from row number 5", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 73
+#line 72
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -556,7 +559,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("12._Lease_and_License_Notes_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 75
+#line 74
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -566,16 +569,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 76
+#line 75
await testRunner.GivenAsync("I create a new minimum Lease from row number 19", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 77
+#line 76
await testRunner.WhenAsync("I create a new Note on the Notes Tab from row number 5", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 78
+#line 77
await testRunner.AndAsync("I edit a Note on the Notes Tab from row number 2", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 79
+#line 78
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -593,7 +596,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("13._Lease_and_License_from_Inventory_Search_Control", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 81
+#line 80
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -603,10 +606,10 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 82
+#line 81
await testRunner.GivenAsync("I create a new Lease through a Property Pin from row number 33", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 83
+#line 82
await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -624,7 +627,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("14._Lease_and_License_List_View", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 85
+#line 84
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -634,10 +637,10 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 86
+#line 85
await testRunner.GivenAsync("I search for an existing Lease or License from row number 2", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 87
+#line 86
await testRunner.ThenAsync("Expected Lease File Content is displayed on Leases Table", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -655,7 +658,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("15._Lease_and_Licence_Error_Message_Payee", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 89
+#line 88
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -665,22 +668,22 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 90
+#line 89
await testRunner.GivenAsync("I create a new minimum Lease from row number 18", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 91
+#line 90
await testRunner.WhenAsync("I add additional Information to the Lease Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 92
+#line 91
await testRunner.AndAsync("I add Tenants or Payees to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 93
+#line 92
await testRunner.AndAsync("I create Compensation Requisition within a Lease or Licence", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 94
+#line 93
await testRunner.AndAsync("I delete a payee from lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 95
+#line 94
await testRunner.ThenAsync("Payee cannot be deleted", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
diff --git a/testing/PIMS.Tests.Automation/Features/Properties.feature b/testing/PIMS.Tests.Automation/Features/Properties.feature
index 8cdae3f4a4..a864c96032 100644
--- a/testing/PIMS.Tests.Automation/Features/Properties.feature
+++ b/testing/PIMS.Tests.Automation/Features/Properties.feature
@@ -29,7 +29,6 @@ Scenario: 03._Property_Management_Tab
Scenario: 04._Property_Documents_Tab
Given I review a Property's Information from row number 3
When I create Digital Documents for a "Property" from row number 1
- When I create Digital Documents for a "Property" from row number 1
And I edit a Digital Document for a "Property" from row number 16
Then A Property Information is saved successfully
@@ -51,7 +50,7 @@ Scenario: 07._Verify_Digital_Documents_on_Related_Documents
When I create Digital Documents for a "Property" from row number 16
And I create a Management File from row number 5 to check common data
And I add Properties to the Management File
- Then The related documents appeared as expected
+ Then Property Management Tab has been updated successfully
Scenario: 08._Properties_List
Given I search for a Property in the Properties List by different filters from row number 29
diff --git a/testing/PIMS.Tests.Automation/Features/Properties.feature.cs b/testing/PIMS.Tests.Automation/Features/Properties.feature.cs
index 00fc106cae..d001f8a37a 100644
--- a/testing/PIMS.Tests.Automation/Features/Properties.feature.cs
+++ b/testing/PIMS.Tests.Automation/Features/Properties.feature.cs
@@ -308,12 +308,9 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
await testRunner.WhenAsync("I create Digital Documents for a \"Property\" from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
#line 32
- await testRunner.WhenAsync("I create Digital Documents for a \"Property\" from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
-#line hidden
-#line 33
await testRunner.AndAsync("I edit a Digital Document for a \"Property\" from row number 16", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 34
+#line 33
await testRunner.ThenAsync("A Property Information is saved successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -331,7 +328,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("05._Property_Notes_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 36
+#line 35
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -341,16 +338,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 37
+#line 36
await testRunner.GivenAsync("I review a Property\'s Information from row number 3", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 38
+#line 37
await testRunner.WhenAsync("I create a new Note on the Notes Tab from row number 13", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 39
+#line 38
await testRunner.AndAsync("I edit a Note on the Notes Tab for a \"Property\" from row number 14", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 40
+#line 39
await testRunner.ThenAsync("A Property Information is saved successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -368,7 +365,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("06._Property_Management_Activity_Digital_Documents", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 42
+#line 41
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -378,19 +375,19 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 43
+#line 42
await testRunner.GivenAsync("I search for a property in the inventory by PID from row number 23", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 44
+#line 43
await testRunner.WhenAsync("I insert activities to the Property Management Tab from row number 4", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 45
+#line 44
await testRunner.AndAsync("I create Digital Documents for a Property Management row number 11", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 46
+#line 45
await testRunner.AndAsync("I delete all activities from the Property Management Tab", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 47
+#line 46
await testRunner.ThenAsync("Property Management Tab has been updated successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -408,7 +405,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("07._Verify_Digital_Documents_on_Related_Documents", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 49
+#line 48
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -418,20 +415,20 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 50
+#line 49
await testRunner.GivenAsync("I search for a property in the inventory by PID from row number 37", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 51
+#line 50
await testRunner.WhenAsync("I create Digital Documents for a \"Property\" from row number 16", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 52
+#line 51
await testRunner.AndAsync("I create a Management File from row number 5 to check common data", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 53
+#line 52
await testRunner.AndAsync("I add Properties to the Management File", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 54
- await testRunner.ThenAsync("The related documents appeared as expected", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line 53
+ await testRunner.ThenAsync("Property Management Tab has been updated successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
await this.ScenarioCleanupAsync();
@@ -448,7 +445,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("08._Properties_List", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 56
+#line 55
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -458,11 +455,11 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 57
+#line 56
await testRunner.GivenAsync("I search for a Property in the Properties List by different filters from row numb" +
"er 29", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 58
+#line 57
await testRunner.ThenAsync("Properties filters works successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -480,7 +477,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("09._Non-Inventory_Property_Information", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 60
+#line 59
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -490,10 +487,10 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 61
+#line 60
await testRunner.GivenAsync("I search for a non MOTI property from row number 6", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 62
+#line 61
await testRunner.ThenAsync("Non-Inventory property renders correctly", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -511,7 +508,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("10._Invalid_Property_Not_Found", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 64
+#line 63
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -521,10 +518,10 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 65
+#line 64
await testRunner.GivenAsync("I search for an Invalid Property from row number 10", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 66
+#line 65
await testRunner.ThenAsync("No Properties were found", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -542,7 +539,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("11._Map_Features", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 68
+#line 67
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -552,10 +549,10 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 69
+#line 68
await testRunner.GivenAsync("I verify the Maps Layers", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 70
+#line 69
await testRunner.ThenAsync("Map Features rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -583,7 +580,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("12._Property_Management_Lease_Active_Indicator", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 72
+#line 71
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -593,19 +590,19 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 73
+#line 72
await testRunner.GivenAsync(string.Format("I create a new minimum Lease from row number {0}", rowNumber), ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 74
+#line 73
await testRunner.WhenAsync("I add additional Information to the Lease Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 75
+#line 74
await testRunner.AndAsync("I add Properties to the Lease Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 76
+#line 75
await testRunner.AndAsync("I search for a Property in the Properties List by PID from row number 33", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 77
+#line 76
await testRunner.ThenAsync(string.Format("Expected Active Lease status is displayed as \"{0}\" successfully", activeLeaseStatus), ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -623,7 +620,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("13._Strata_Properties_Tabs", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 89
+#line 88
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -633,13 +630,13 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 90
+#line 89
await testRunner.GivenAsync("I search for a property by Plan Number from row number 39", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 91
+#line 90
await testRunner.WhenAsync("I verify the MultiProperty Tabs", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 92
+#line 91
await testRunner.ThenAsync("Multiproperty property rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -657,7 +654,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("14._Property_Hwy_and_Other_Tabs", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 94
+#line 93
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -667,16 +664,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 95
+#line 94
await testRunner.GivenAsync("I search for a property by Plan Number from row number 40", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 96
+#line 95
await testRunner.WhenAsync("I verify the Highway Tab", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 97
+#line 96
await testRunner.AndAsync("I verify the Other Tab", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 98
+#line 97
await testRunner.ThenAsync("Property Tabs rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
@@ -694,7 +691,7 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("15._Property_PMBC_and_Crown_Tabs", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
string[] tagsOfRule = ((string[])(null));
global::Reqnroll.RuleInfo ruleInfo = null;
-#line 100
+#line 99
this.ScenarioInitialize(scenarioInfo, ruleInfo);
#line hidden
if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
@@ -704,16 +701,16 @@ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, globa
else
{
await this.ScenarioStartAsync();
-#line 101
+#line 100
await testRunner.GivenAsync("I search for a property by PID from row number 41", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
#line hidden
-#line 102
+#line 101
await testRunner.WhenAsync("I verify the PMBC Tab", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
#line hidden
-#line 103
+#line 102
await testRunner.AndAsync("I verify the Crown Tab", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
#line hidden
-#line 104
+#line 103
await testRunner.ThenAsync("Property Tabs rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
#line hidden
}
diff --git a/testing/PIMS.Tests.Automation/Features/RegressionTesting.feature b/testing/PIMS.Tests.Automation/Features/RegressionTesting.feature
new file mode 100644
index 0000000000..b34130095d
--- /dev/null
+++ b/testing/PIMS.Tests.Automation/Features/RegressionTesting.feature
@@ -0,0 +1,228 @@
+@RegressionTesting
+Feature: RegressionTesting
+
+A short summary of the feature
+
+Scenario: 01._Help_Desk_Section
+ Given I review the Help Desk Section
+ Then Help Desk rendered successfully
+
+Scenario: 02._User_Management_List_View
+ Given I enter to the User Management List View
+ Then User Management rendered successfully
+
+Scenario: 03._CDOGS_Templates
+ Given I create a CDOGS template
+ Then CDOGS rendered successfully
+
+Scenario: 04._Financial_Codes_List_View
+ Given I search for an existing Financial Code from row number 1
+ Then Financial Codes rendered successfully
+
+Scenario: 05._Acquisition_File_Details
+ Given I create a new Acquisition File from row number 1
+ When I add additional information to the Acquisition File Details
+ And I update the File details from an existing Acquisition File from row number 2
+ Then A new Acquisition file is created successfully
+
+Scenario: 06._Acquisition_File_Property_Takes
+ Given I create a new Acquisition File from row number 5
+ When I add Properties to the Acquisition File
+ And I create Takes within Acquisition File's Properties
+ And I update Takes within Acquisition File's Properties from row number 6
+ Then A new Acquisition file is created successfully
+
+Scenario: 07._Acquisition_File_Agreements_Tab
+ Given I create a new Acquisition File from row number 10
+ When I create Agreements within an Acquisition File
+ And I update an Agreement within an Acquisition File from row number 11
+ Then A new Acquisition file is created successfully
+
+Scenario: 08._Acquisition_File_Stakeholders_Tab
+ Given I create a new Acquisition File from row number 12
+ When I add Properties to the Acquisition File
+ And I create Stakeholders within an Acquisition File
+ Then A new Acquisition file is created successfully
+
+Scenario: 09._Acquisition_File_Compensation_Tab
+ Given I create a new Acquisition File from row number 13
+ When I add additional information to the Acquisition File Details
+ And I add Properties to the Acquisition File
+ And I create Stakeholders within an Acquisition File
+ And I create Compensation Requisition within an Acquisition File
+ And I update Compensation Requisition within an Acquisition File from row number 14
+ Then A new Acquisition file is created successfully
+
+Scenario: 10._Acquisition_File_Expropriation_Tab
+ Given I create a new Acquisition File from row number 15
+ When I add additional information to the Acquisition File Details
+ And I add Properties to the Acquisition File
+ And I create Stakeholders within an Acquisition File
+ And I create Expropriations within an Acquisition File
+ And I update Expropriation within an Acquisition File from row number 16
+ Then A new Acquisition file is created successfully
+
+Scenario: 11._Acquisition_File_from_Land_Parcel
+ Given I create an Acquisition File from a pin on map from row number 17
+ Then A new Acquisition file is created successfully
+
+Scenario: 12._Acquisition_Files_List_View
+ Given I search for an existing Acquisition File from row number 2
+ Then Expected Acquisition File Content is displayed on Acquisition File Table
+
+Scenario: 13._Acquisition_File_Subfiles-Subfile_Details
+ Given I create a new Acquisition File from row number 22
+ When I add additional information to the Acquisition File Details
+ And I create a new Sub-file from row number 23
+ Then A new Acquisition file is created successfully
+
+Scenario: 14._Lease_and_License_File_Details
+ Given I create a new minimum Lease from row number 1
+ When I add additional Information to the Lease Details
+ And I update a Lease's Details from row number 2
+ Then A new lease is created successfully
+
+Scenario: 15._Leases_Properties
+ 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
+ Then A new lease is created successfully
+
+Scenario: 16._Leases_Approval_Consultations
+ Given I create a new minimum Lease from row number 20
+ When I insert new consultations to the Lease
+ And I update a Lease's consultation from row number 21
+ Then A new lease is created successfully
+
+Scenario: 17._Lease_Checklist_Tab
+ Given I create a new minimum Lease from row number 22
+ When I insert Checklist information to a Lease
+ Then A new lease is created successfully
+
+Scenario: 18._Lease_and_License_Tenants_Tab
+ Given I create a new minimum Lease from row number 6
+ When I add Tenants or Payees to the Lease
+ And I update a Lease's Tenants from row number 7
+ Then A new lease is created successfully
+
+Scenario: 19._Lease_and_License_Insurance_Tab
+ Given I create a new minimum Lease from row number 25
+ When I add Insurance to the Lease
+ And I update a Lease's Insurance from row number 26
+ Then A new lease is created successfully
+
+Scenario: 20._Lease_and_License_Deposits_Tab
+ Given I create a new minimum Lease from row number 27
+ When I add Deposits to the Lease
+ And I update a Lease's Deposits from row number 28
+ Then A new lease is created successfully
+
+Scenario: 21._Lease_and_License_Periods_and_Payments_Tab
+ Given I create a new minimum Lease from row number 29
+ When I add Periods and Payments to the Lease
+ And I update a Lease's Payments from row number 30
+ Then A new lease is created successfully
+
+Scenario: 22._Lease_and_License_Documents_Tab
+ Given I create a new minimum Lease from row number 32
+ When I create Digital Documents for a "Lease" from row number 1
+ And I edit a Digital Document for a "Lease" from row number 5
+ Then A new lease is created successfully
+
+Scenario: 23._Lease_and_License_from_Inventory_Search_Control
+ Given I create a new Lease through a Property Pin from row number 33
+ Then A new lease is created successfully
+
+Scenario: 24._Lease_and_License_List_View
+ Given I search for an existing Lease or License from row number 2
+ Then Expected Lease File Content is displayed on Leases Table
+
+Scenario: 25._Research_File_Details
+ Given I create a basic Research File from row number 1
+ When I add additional details to Research File
+ And I update a Research File Details from row number 4
+ Then A new Research File is created successfully
+
+Scenario: 26._Research_File_Notes
+ Given I create a basic Research File from row number 1
+ When I create a new Note on the Notes Tab from row number 1
+ And I edit a Note on the Notes Tab from row number 2
+ Then A new Research File is created successfully
+
+Scenario: 27._Research_File_from_Search
+ Given I create a Research File from a search on map and from row number 6
+ Then A new Research File is created successfully
+
+Scenario: 28._Research_File_List_View
+ Given I search for Research Files from row number 4
+ Then Research File Properties remain unchanged
+
+Scenario: 29._Disposition_File_Details
+ Given I create a new Disposition File from row number 2
+ When I add additional information to the Disposition File Details
+ And I update the File details from an existing Disposition File from row number 3
+ Then A new Disposition file is created successfully
+
+Scenario: 30._Disposition_Offers_and_Sale_Tab
+ Given I create a new Disposition File from row number 8
+ When I create Appraisal, Assessment, Offers and Sales Details within a Disposition File
+ And I update Appraisal, Assessment and Offers section within Disposition File from row number 9
+ Then A new Disposition file is created successfully
+
+Scenario: 31._Disposition_File_from_Parcel
+ Given I create a Disposition File from a pin on map from row number 12
+ Then A new Disposition file is created successfully
+
+Scenario: 32._Disposition_Files_List_View
+ Given I search for an existing Disposition File from row number 3
+ Then Expected Disposition File Content is displayed on Disposition File List View
+
+Scenario: 33._Organization_Contacts
+ Given I create a new Organization Contact from row number 1
+ When I update an existing Organization Contact from row number 2
+ And I search for an existing contact from type "Organization" row number 1
+ Then Expected Content is displayed on Contacts Table from contact type "Organization"
+
+Scenario: 34._Individual_Contacts
+ Given I create a new Individual Contact from row number 1
+ When I update an existing Individual Contact from row number 2
+ And I search for an existing contact from type "Individual" row number 1
+ Then Expected Content is displayed on Contacts Table from contact type "Individual"
+
+Scenario: 35._Contacts_List_View
+ Given I verify the Contacts List View from row number 1
+ Then Expected Content is displayed on Contacts Table from contact type "Organization"
+
+ Scenario: 36._Properties_List
+ Given I search for a Property in the Properties List by different filters from row number 29
+ Then Properties filters works successfully
+
+Scenario: 37._Non-Inventory_Property_Information
+ Given I search for a non MOTI property from row number 6
+ Then Non-Inventory property renders correctly
+
+Scenario: 38._Invalid_Property_Not_Found
+ Given I search for an Invalid Property from row number 10
+ Then No Properties were found
+
+Scenario: 39._Map_Features
+ Given I verify the Maps Layers
+ Then Map Features rendered successfully
+
+Scenario: 40._Strata_Properties_Tabs
+ Given I search for a property by Plan Number from row number 39
+ When I verify the MultiProperty Tabs
+ Then Multiproperty property rendered successfully
+
+Scenario: 41._Property_Hwy_and_Other_Tabs
+ Given I search for a property by Plan Number from row number 40
+ When I verify the Highway Tab
+ And I verify the Other Tab
+ Then Property Tabs rendered successfully
+
+Scenario: 42._Property_PMBC_and_Crown_Tabs
+ Given I search for a property by PID from row number 41
+ When I verify the PMBC Tab
+ And I verify the Crown Tab
+ Then Property Tabs rendered successfully
+
diff --git a/testing/PIMS.Tests.Automation/Features/RegressionTesting.feature.cs b/testing/PIMS.Tests.Automation/Features/RegressionTesting.feature.cs
new file mode 100644
index 0000000000..289f88ccba
--- /dev/null
+++ b/testing/PIMS.Tests.Automation/Features/RegressionTesting.feature.cs
@@ -0,0 +1,1626 @@
+// ------------------------------------------------------------------------------
+//
+// This code was generated by Reqnroll (https://reqnroll.net/).
+// Reqnroll Version:3.0.0.0
+// Reqnroll Generator Version:3.0.0.0
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+// ------------------------------------------------------------------------------
+#region Designer generated code
+#pragma warning disable
+using Reqnroll;
+namespace PIMS.Tests.Automation.Features
+{
+
+
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Reqnroll", "3.0.0.0")]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::Xunit.TraitAttribute("Category", "RegressionTesting")]
+ public partial class RegressionTestingFeature : object, global::Xunit.IClassFixture, global::Xunit.IAsyncLifetime
+ {
+
+ private global::Reqnroll.ITestRunner testRunner;
+
+ private static string[] featureTags = new string[] {
+ "RegressionTesting"};
+
+ private static global::Reqnroll.FeatureInfo featureInfo = new global::Reqnroll.FeatureInfo(new global::System.Globalization.CultureInfo("en-US"), "Features", "RegressionTesting", "A short summary of the feature", global::Reqnroll.ProgrammingLanguage.CSharp, featureTags, InitializeCucumberMessages());
+
+ private global::Xunit.Abstractions.ITestOutputHelper _testOutputHelper;
+
+#line 1 "RegressionTesting.feature"
+#line hidden
+
+ public RegressionTestingFeature(RegressionTestingFeature.FixtureData fixtureData, global::Xunit.Abstractions.ITestOutputHelper testOutputHelper)
+ {
+ this._testOutputHelper = testOutputHelper;
+ }
+
+ public static async global::System.Threading.Tasks.Task FeatureSetupAsync()
+ {
+ }
+
+ public static async global::System.Threading.Tasks.Task FeatureTearDownAsync()
+ {
+ await global::Reqnroll.TestRunnerManager.ReleaseFeatureAsync(featureInfo);
+ }
+
+ public async global::System.Threading.Tasks.Task TestInitializeAsync()
+ {
+ testRunner = global::Reqnroll.TestRunnerManager.GetTestRunnerForAssembly(featureHint: featureInfo);
+ try
+ {
+ if (((testRunner.FeatureContext != null)
+ && (testRunner.FeatureContext.FeatureInfo.Equals(featureInfo) == false)))
+ {
+ await testRunner.OnFeatureEndAsync();
+ }
+ }
+ finally
+ {
+ if (((testRunner.FeatureContext != null)
+ && testRunner.FeatureContext.BeforeFeatureHookFailed))
+ {
+ throw new global::Reqnroll.ReqnrollException("Scenario skipped because of previous before feature hook error");
+ }
+ if ((testRunner.FeatureContext == null))
+ {
+ await testRunner.OnFeatureStartAsync(featureInfo);
+ }
+ }
+ }
+
+ public async global::System.Threading.Tasks.Task TestTearDownAsync()
+ {
+ if ((testRunner == null))
+ {
+ return;
+ }
+ try
+ {
+ await testRunner.OnScenarioEndAsync();
+ }
+ finally
+ {
+ global::Reqnroll.TestRunnerManager.ReleaseTestRunner(testRunner);
+ testRunner = null;
+ }
+ }
+
+ public void ScenarioInitialize(global::Reqnroll.ScenarioInfo scenarioInfo, global::Reqnroll.RuleInfo ruleInfo)
+ {
+ testRunner.OnScenarioInitialize(scenarioInfo, ruleInfo);
+ testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(_testOutputHelper);
+ }
+
+ public async global::System.Threading.Tasks.Task ScenarioStartAsync()
+ {
+ await testRunner.OnScenarioStartAsync();
+ }
+
+ public async global::System.Threading.Tasks.Task ScenarioCleanupAsync()
+ {
+ await testRunner.CollectScenarioErrorsAsync();
+ }
+
+ private static global::Reqnroll.Formatters.RuntimeSupport.FeatureLevelCucumberMessages InitializeCucumberMessages()
+ {
+ return new global::Reqnroll.Formatters.RuntimeSupport.FeatureLevelCucumberMessages("Features/RegressionTesting.feature.ndjson", 44);
+ }
+
+ async global::System.Threading.Tasks.Task global::Xunit.IAsyncLifetime.InitializeAsync()
+ {
+ try
+ {
+ await this.TestInitializeAsync();
+ }
+ catch (System.Exception e1)
+ {
+ try
+ {
+ ((global::Xunit.IAsyncLifetime)(this)).DisposeAsync();
+ }
+ catch (System.Exception e2)
+ {
+ throw new System.AggregateException("Test initialization failed", e1, e2);
+ }
+ throw;
+ }
+ }
+
+ async global::System.Threading.Tasks.Task global::Xunit.IAsyncLifetime.DisposeAsync()
+ {
+ await this.TestTearDownAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="01._Help_Desk_Section")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "01._Help_Desk_Section")]
+ public async global::System.Threading.Tasks.Task _01__Help_Desk_Section()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "0";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("01._Help_Desk_Section", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 6
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 7
+ await testRunner.GivenAsync("I review the Help Desk Section", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 8
+ await testRunner.ThenAsync("Help Desk rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="02._User_Management_List_View")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "02._User_Management_List_View")]
+ public async global::System.Threading.Tasks.Task _02__User_Management_List_View()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "1";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("02._User_Management_List_View", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 10
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 11
+ await testRunner.GivenAsync("I enter to the User Management List View", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 12
+ await testRunner.ThenAsync("User Management rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="03._CDOGS_Templates")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "03._CDOGS_Templates")]
+ public async global::System.Threading.Tasks.Task _03__CDOGS_Templates()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "2";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("03._CDOGS_Templates", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 14
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 15
+ await testRunner.GivenAsync("I create a CDOGS template", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 16
+ await testRunner.ThenAsync("CDOGS rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="04._Financial_Codes_List_View")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "04._Financial_Codes_List_View")]
+ public async global::System.Threading.Tasks.Task _04__Financial_Codes_List_View()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "3";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("04._Financial_Codes_List_View", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 18
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 19
+ await testRunner.GivenAsync("I search for an existing Financial Code from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 20
+ await testRunner.ThenAsync("Financial Codes rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="05._Acquisition_File_Details")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "05._Acquisition_File_Details")]
+ public async global::System.Threading.Tasks.Task _05__Acquisition_File_Details()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "4";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("05._Acquisition_File_Details", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 22
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 23
+ await testRunner.GivenAsync("I create a new Acquisition File from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 24
+ await testRunner.WhenAsync("I add additional information to the Acquisition File Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 25
+ await testRunner.AndAsync("I update the File details from an existing Acquisition File from row number 2", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 26
+ await testRunner.ThenAsync("A new Acquisition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="06._Acquisition_File_Property_Takes")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "06._Acquisition_File_Property_Takes")]
+ public async global::System.Threading.Tasks.Task _06__Acquisition_File_Property_Takes()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "5";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("06._Acquisition_File_Property_Takes", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 28
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 29
+ await testRunner.GivenAsync("I create a new Acquisition File from row number 5", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 30
+ await testRunner.WhenAsync("I add Properties to the Acquisition File", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 31
+ await testRunner.AndAsync("I create Takes within Acquisition File\'s Properties", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 32
+ await testRunner.AndAsync("I update Takes within Acquisition File\'s Properties from row number 6", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 33
+ await testRunner.ThenAsync("A new Acquisition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="07._Acquisition_File_Agreements_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "07._Acquisition_File_Agreements_Tab")]
+ public async global::System.Threading.Tasks.Task _07__Acquisition_File_Agreements_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "6";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("07._Acquisition_File_Agreements_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 35
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 36
+ await testRunner.GivenAsync("I create a new Acquisition File from row number 10", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 37
+ await testRunner.WhenAsync("I create Agreements within an Acquisition File", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 38
+ await testRunner.AndAsync("I update an Agreement within an Acquisition File from row number 11", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 39
+ await testRunner.ThenAsync("A new Acquisition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="08._Acquisition_File_Stakeholders_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "08._Acquisition_File_Stakeholders_Tab")]
+ public async global::System.Threading.Tasks.Task _08__Acquisition_File_Stakeholders_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "7";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("08._Acquisition_File_Stakeholders_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 41
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 42
+ await testRunner.GivenAsync("I create a new Acquisition File from row number 12", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 43
+ await testRunner.WhenAsync("I add Properties to the Acquisition File", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 44
+ await testRunner.AndAsync("I create Stakeholders within an Acquisition File", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 45
+ await testRunner.ThenAsync("A new Acquisition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="09._Acquisition_File_Compensation_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "09._Acquisition_File_Compensation_Tab")]
+ public async global::System.Threading.Tasks.Task _09__Acquisition_File_Compensation_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "8";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("09._Acquisition_File_Compensation_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 47
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 48
+ await testRunner.GivenAsync("I create a new Acquisition File from row number 13", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 49
+ await testRunner.WhenAsync("I add additional information to the Acquisition File Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 50
+ await testRunner.AndAsync("I add Properties to the Acquisition File", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 51
+ await testRunner.AndAsync("I create Stakeholders within an Acquisition File", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 52
+ await testRunner.AndAsync("I create Compensation Requisition within an Acquisition File", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 53
+ await testRunner.AndAsync("I update Compensation Requisition within an Acquisition File from row number 14", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 54
+ await testRunner.ThenAsync("A new Acquisition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="10._Acquisition_File_Expropriation_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "10._Acquisition_File_Expropriation_Tab")]
+ public async global::System.Threading.Tasks.Task _10__Acquisition_File_Expropriation_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "9";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("10._Acquisition_File_Expropriation_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 56
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 57
+ await testRunner.GivenAsync("I create a new Acquisition File from row number 15", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 58
+ await testRunner.WhenAsync("I add additional information to the Acquisition File Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 59
+ await testRunner.AndAsync("I add Properties to the Acquisition File", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 60
+ await testRunner.AndAsync("I create Stakeholders within an Acquisition File", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 61
+ await testRunner.AndAsync("I create Expropriations within an Acquisition File", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 62
+ await testRunner.AndAsync("I update Expropriation within an Acquisition File from row number 16", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 63
+ await testRunner.ThenAsync("A new Acquisition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="11._Acquisition_File_from_Land_Parcel")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "11._Acquisition_File_from_Land_Parcel")]
+ public async global::System.Threading.Tasks.Task _11__Acquisition_File_From_Land_Parcel()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "10";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("11._Acquisition_File_from_Land_Parcel", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 65
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 66
+ await testRunner.GivenAsync("I create an Acquisition File from a pin on map from row number 17", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 67
+ await testRunner.ThenAsync("A new Acquisition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="12._Acquisition_Files_List_View")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "12._Acquisition_Files_List_View")]
+ public async global::System.Threading.Tasks.Task _12__Acquisition_Files_List_View()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "11";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("12._Acquisition_Files_List_View", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 69
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 70
+ await testRunner.GivenAsync("I search for an existing Acquisition File from row number 2", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 71
+ await testRunner.ThenAsync("Expected Acquisition File Content is displayed on Acquisition File Table", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="13._Acquisition_File_Subfiles-Subfile_Details")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "13._Acquisition_File_Subfiles-Subfile_Details")]
+ public async global::System.Threading.Tasks.Task _13__Acquisition_File_Subfiles_Subfile_Details()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "12";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("13._Acquisition_File_Subfiles-Subfile_Details", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 73
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 74
+ await testRunner.GivenAsync("I create a new Acquisition File from row number 22", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 75
+ await testRunner.WhenAsync("I add additional information to the Acquisition File Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 76
+ await testRunner.AndAsync("I create a new Sub-file from row number 23", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 77
+ await testRunner.ThenAsync("A new Acquisition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="14._Lease_and_License_File_Details")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "14._Lease_and_License_File_Details")]
+ public async global::System.Threading.Tasks.Task _14__Lease_And_License_File_Details()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "13";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("14._Lease_and_License_File_Details", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 79
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 80
+ await testRunner.GivenAsync("I create a new minimum Lease from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 81
+ await testRunner.WhenAsync("I add additional Information to the Lease Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 82
+ await testRunner.AndAsync("I update a Lease\'s Details from row number 2", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 83
+ await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="15._Leases_Properties")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "15._Leases_Properties")]
+ public async global::System.Threading.Tasks.Task _15__Leases_Properties()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "14";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("15._Leases_Properties", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 85
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 86
+ await testRunner.GivenAsync("I create a new minimum Lease from row number 3", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 87
+ await testRunner.WhenAsync("I add Properties to the Lease Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 88
+ await testRunner.AndAsync("I update a Lease\'s Properties from row number 4", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 89
+ await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="16._Leases_Approval_Consultations")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "16._Leases_Approval_Consultations")]
+ public async global::System.Threading.Tasks.Task _16__Leases_Approval_Consultations()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "15";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("16._Leases_Approval_Consultations", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 91
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 92
+ await testRunner.GivenAsync("I create a new minimum Lease from row number 20", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 93
+ await testRunner.WhenAsync("I insert new consultations to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 94
+ await testRunner.AndAsync("I update a Lease\'s consultation from row number 21", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 95
+ await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="17._Lease_Checklist_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "17._Lease_Checklist_Tab")]
+ public async global::System.Threading.Tasks.Task _17__Lease_Checklist_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "16";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("17._Lease_Checklist_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 97
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 98
+ await testRunner.GivenAsync("I create a new minimum Lease from row number 22", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 99
+ await testRunner.WhenAsync("I insert Checklist information to a Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 100
+ await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="18._Lease_and_License_Tenants_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "18._Lease_and_License_Tenants_Tab")]
+ public async global::System.Threading.Tasks.Task _18__Lease_And_License_Tenants_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "17";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("18._Lease_and_License_Tenants_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 102
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 103
+ await testRunner.GivenAsync("I create a new minimum Lease from row number 6", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 104
+ await testRunner.WhenAsync("I add Tenants or Payees to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 105
+ await testRunner.AndAsync("I update a Lease\'s Tenants from row number 7", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 106
+ await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="19._Lease_and_License_Insurance_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "19._Lease_and_License_Insurance_Tab")]
+ public async global::System.Threading.Tasks.Task _19__Lease_And_License_Insurance_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "18";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("19._Lease_and_License_Insurance_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 108
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 109
+ await testRunner.GivenAsync("I create a new minimum Lease from row number 25", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 110
+ await testRunner.WhenAsync("I add Insurance to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 111
+ await testRunner.AndAsync("I update a Lease\'s Insurance from row number 26", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 112
+ await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="20._Lease_and_License_Deposits_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "20._Lease_and_License_Deposits_Tab")]
+ public async global::System.Threading.Tasks.Task _20__Lease_And_License_Deposits_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "19";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("20._Lease_and_License_Deposits_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 114
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 115
+ await testRunner.GivenAsync("I create a new minimum Lease from row number 27", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 116
+ await testRunner.WhenAsync("I add Deposits to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 117
+ await testRunner.AndAsync("I update a Lease\'s Deposits from row number 28", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 118
+ await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="21._Lease_and_License_Periods_and_Payments_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "21._Lease_and_License_Periods_and_Payments_Tab")]
+ public async global::System.Threading.Tasks.Task _21__Lease_And_License_Periods_And_Payments_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "20";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("21._Lease_and_License_Periods_and_Payments_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 120
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 121
+ await testRunner.GivenAsync("I create a new minimum Lease from row number 29", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 122
+ await testRunner.WhenAsync("I add Periods and Payments to the Lease", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 123
+ await testRunner.AndAsync("I update a Lease\'s Payments from row number 30", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 124
+ await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="22._Lease_and_License_Documents_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "22._Lease_and_License_Documents_Tab")]
+ public async global::System.Threading.Tasks.Task _22__Lease_And_License_Documents_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "21";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("22._Lease_and_License_Documents_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 126
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 127
+ await testRunner.GivenAsync("I create a new minimum Lease from row number 32", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 128
+ await testRunner.WhenAsync("I create Digital Documents for a \"Lease\" from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 129
+ await testRunner.AndAsync("I edit a Digital Document for a \"Lease\" from row number 5", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 130
+ await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="23._Lease_and_License_from_Inventory_Search_Control")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "23._Lease_and_License_from_Inventory_Search_Control")]
+ public async global::System.Threading.Tasks.Task _23__Lease_And_License_From_Inventory_Search_Control()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "22";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("23._Lease_and_License_from_Inventory_Search_Control", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 132
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 133
+ await testRunner.GivenAsync("I create a new Lease through a Property Pin from row number 33", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 134
+ await testRunner.ThenAsync("A new lease is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="24._Lease_and_License_List_View")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "24._Lease_and_License_List_View")]
+ public async global::System.Threading.Tasks.Task _24__Lease_And_License_List_View()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "23";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("24._Lease_and_License_List_View", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 136
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 137
+ await testRunner.GivenAsync("I search for an existing Lease or License from row number 2", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 138
+ await testRunner.ThenAsync("Expected Lease File Content is displayed on Leases Table", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="25._Research_File_Details")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "25._Research_File_Details")]
+ public async global::System.Threading.Tasks.Task _25__Research_File_Details()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "24";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("25._Research_File_Details", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 140
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 141
+ await testRunner.GivenAsync("I create a basic Research File from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 142
+ await testRunner.WhenAsync("I add additional details to Research File", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 143
+ await testRunner.AndAsync("I update a Research File Details from row number 4", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 144
+ await testRunner.ThenAsync("A new Research File is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="26._Research_File_Notes")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "26._Research_File_Notes")]
+ public async global::System.Threading.Tasks.Task _26__Research_File_Notes()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "25";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("26._Research_File_Notes", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 146
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 147
+ await testRunner.GivenAsync("I create a basic Research File from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 148
+ await testRunner.WhenAsync("I create a new Note on the Notes Tab from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 149
+ await testRunner.AndAsync("I edit a Note on the Notes Tab from row number 2", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 150
+ await testRunner.ThenAsync("A new Research File is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="27._Research_File_from_Search")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "27._Research_File_from_Search")]
+ public async global::System.Threading.Tasks.Task _27__Research_File_From_Search()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "26";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("27._Research_File_from_Search", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 152
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 153
+ await testRunner.GivenAsync("I create a Research File from a search on map and from row number 6", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 154
+ await testRunner.ThenAsync("A new Research File is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="28._Research_File_List_View")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "28._Research_File_List_View")]
+ public async global::System.Threading.Tasks.Task _28__Research_File_List_View()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "27";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("28._Research_File_List_View", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 156
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 157
+ await testRunner.GivenAsync("I search for Research Files from row number 4", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 158
+ await testRunner.ThenAsync("Research File Properties remain unchanged", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="29._Disposition_File_Details")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "29._Disposition_File_Details")]
+ public async global::System.Threading.Tasks.Task _29__Disposition_File_Details()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "28";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("29._Disposition_File_Details", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 160
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 161
+ await testRunner.GivenAsync("I create a new Disposition File from row number 2", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 162
+ await testRunner.WhenAsync("I add additional information to the Disposition File Details", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 163
+ await testRunner.AndAsync("I update the File details from an existing Disposition File from row number 3", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 164
+ await testRunner.ThenAsync("A new Disposition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="30._Disposition_Offers_and_Sale_Tab")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "30._Disposition_Offers_and_Sale_Tab")]
+ public async global::System.Threading.Tasks.Task _30__Disposition_Offers_And_Sale_Tab()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "29";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("30._Disposition_Offers_and_Sale_Tab", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 166
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 167
+ await testRunner.GivenAsync("I create a new Disposition File from row number 8", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 168
+ await testRunner.WhenAsync("I create Appraisal, Assessment, Offers and Sales Details within a Disposition Fil" +
+ "e", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 169
+ await testRunner.AndAsync("I update Appraisal, Assessment and Offers section within Disposition File from ro" +
+ "w number 9", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 170
+ await testRunner.ThenAsync("A new Disposition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="31._Disposition_File_from_Parcel")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "31._Disposition_File_from_Parcel")]
+ public async global::System.Threading.Tasks.Task _31__Disposition_File_From_Parcel()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "30";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("31._Disposition_File_from_Parcel", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 172
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 173
+ await testRunner.GivenAsync("I create a Disposition File from a pin on map from row number 12", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 174
+ await testRunner.ThenAsync("A new Disposition file is created successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="32._Disposition_Files_List_View")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "32._Disposition_Files_List_View")]
+ public async global::System.Threading.Tasks.Task _32__Disposition_Files_List_View()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "31";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("32._Disposition_Files_List_View", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 176
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 177
+ await testRunner.GivenAsync("I search for an existing Disposition File from row number 3", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 178
+ await testRunner.ThenAsync("Expected Disposition File Content is displayed on Disposition File List View", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="33._Organization_Contacts")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "33._Organization_Contacts")]
+ public async global::System.Threading.Tasks.Task _33__Organization_Contacts()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "32";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("33._Organization_Contacts", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 180
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 181
+ await testRunner.GivenAsync("I create a new Organization Contact from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 182
+ await testRunner.WhenAsync("I update an existing Organization Contact from row number 2", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 183
+ await testRunner.AndAsync("I search for an existing contact from type \"Organization\" row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 184
+ await testRunner.ThenAsync("Expected Content is displayed on Contacts Table from contact type \"Organization\"", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="34._Individual_Contacts")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "34._Individual_Contacts")]
+ public async global::System.Threading.Tasks.Task _34__Individual_Contacts()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "33";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("34._Individual_Contacts", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 186
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 187
+ await testRunner.GivenAsync("I create a new Individual Contact from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 188
+ await testRunner.WhenAsync("I update an existing Individual Contact from row number 2", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 189
+ await testRunner.AndAsync("I search for an existing contact from type \"Individual\" row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 190
+ await testRunner.ThenAsync("Expected Content is displayed on Contacts Table from contact type \"Individual\"", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="35._Contacts_List_View")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "35._Contacts_List_View")]
+ public async global::System.Threading.Tasks.Task _35__Contacts_List_View()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "34";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("35._Contacts_List_View", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 192
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 193
+ await testRunner.GivenAsync("I verify the Contacts List View from row number 1", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 194
+ await testRunner.ThenAsync("Expected Content is displayed on Contacts Table from contact type \"Organization\"", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="36._Properties_List")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "36._Properties_List")]
+ public async global::System.Threading.Tasks.Task _36__Properties_List()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "35";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("36._Properties_List", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 196
+ this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 197
+ await testRunner.GivenAsync("I search for a Property in the Properties List by different filters from row numb" +
+ "er 29", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 198
+ await testRunner.ThenAsync("Properties filters works successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="37._Non-Inventory_Property_Information")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "37._Non-Inventory_Property_Information")]
+ public async global::System.Threading.Tasks.Task _37__Non_Inventory_Property_Information()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "36";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("37._Non-Inventory_Property_Information", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 200
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 201
+ await testRunner.GivenAsync("I search for a non MOTI property from row number 6", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 202
+ await testRunner.ThenAsync("Non-Inventory property renders correctly", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="38._Invalid_Property_Not_Found")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "38._Invalid_Property_Not_Found")]
+ public async global::System.Threading.Tasks.Task _38__Invalid_Property_Not_Found()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "37";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("38._Invalid_Property_Not_Found", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 204
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 205
+ await testRunner.GivenAsync("I search for an Invalid Property from row number 10", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 206
+ await testRunner.ThenAsync("No Properties were found", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="39._Map_Features")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "39._Map_Features")]
+ public async global::System.Threading.Tasks.Task _39__Map_Features()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "38";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("39._Map_Features", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 208
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 209
+ await testRunner.GivenAsync("I verify the Maps Layers", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 210
+ await testRunner.ThenAsync("Map Features rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="40._Strata_Properties_Tabs")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "40._Strata_Properties_Tabs")]
+ public async global::System.Threading.Tasks.Task _40__Strata_Properties_Tabs()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "39";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("40._Strata_Properties_Tabs", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 212
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 213
+ await testRunner.GivenAsync("I search for a property by Plan Number from row number 39", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 214
+ await testRunner.WhenAsync("I verify the MultiProperty Tabs", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 215
+ await testRunner.ThenAsync("Multiproperty property rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="41._Property_Hwy_and_Other_Tabs")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "41._Property_Hwy_and_Other_Tabs")]
+ public async global::System.Threading.Tasks.Task _41__Property_Hwy_And_Other_Tabs()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "40";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("41._Property_Hwy_and_Other_Tabs", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 217
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 218
+ await testRunner.GivenAsync("I search for a property by Plan Number from row number 40", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 219
+ await testRunner.WhenAsync("I verify the Highway Tab", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 220
+ await testRunner.AndAsync("I verify the Other Tab", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 221
+ await testRunner.ThenAsync("Property Tabs rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::Xunit.SkippableFactAttribute(DisplayName="42._Property_PMBC_and_Crown_Tabs")]
+ [global::Xunit.TraitAttribute("FeatureTitle", "RegressionTesting")]
+ [global::Xunit.TraitAttribute("Description", "42._Property_PMBC_and_Crown_Tabs")]
+ public async global::System.Threading.Tasks.Task _42__Property_PMBC_And_Crown_Tabs()
+ {
+ string[] tagsOfScenario = ((string[])(null));
+ global::System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new global::System.Collections.Specialized.OrderedDictionary();
+ string pickleIndex = "41";
+ global::Reqnroll.ScenarioInfo scenarioInfo = new global::Reqnroll.ScenarioInfo("42._Property_PMBC_and_Crown_Tabs", null, tagsOfScenario, argumentsOfScenario, featureTags, pickleIndex);
+ string[] tagsOfRule = ((string[])(null));
+ global::Reqnroll.RuleInfo ruleInfo = null;
+#line 223
+this.ScenarioInitialize(scenarioInfo, ruleInfo);
+#line hidden
+ if ((global::Reqnroll.TagHelper.ContainsIgnoreTag(scenarioInfo.CombinedTags) || global::Reqnroll.TagHelper.ContainsIgnoreTag(featureTags)))
+ {
+ await testRunner.SkipScenarioAsync();
+ }
+ else
+ {
+ await this.ScenarioStartAsync();
+#line 224
+ await testRunner.GivenAsync("I search for a property by PID from row number 41", ((string)(null)), ((global::Reqnroll.Table)(null)), "Given ");
+#line hidden
+#line 225
+ await testRunner.WhenAsync("I verify the PMBC Tab", ((string)(null)), ((global::Reqnroll.Table)(null)), "When ");
+#line hidden
+#line 226
+ await testRunner.AndAsync("I verify the Crown Tab", ((string)(null)), ((global::Reqnroll.Table)(null)), "And ");
+#line hidden
+#line 227
+ await testRunner.ThenAsync("Property Tabs rendered successfully", ((string)(null)), ((global::Reqnroll.Table)(null)), "Then ");
+#line hidden
+ }
+ await this.ScenarioCleanupAsync();
+ }
+
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Reqnroll", "3.0.0.0")]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ public class FixtureData : object, global::Xunit.IAsyncLifetime
+ {
+
+ async global::System.Threading.Tasks.Task global::Xunit.IAsyncLifetime.InitializeAsync()
+ {
+ await RegressionTestingFeature.FeatureSetupAsync();
+ }
+
+ async global::System.Threading.Tasks.Task global::Xunit.IAsyncLifetime.DisposeAsync()
+ {
+ await RegressionTestingFeature.FeatureTearDownAsync();
+ }
+ }
+ }
+}
+#pragma warning restore
+#endregion
diff --git a/testing/PIMS.Tests.Automation/PIMS.Tests.Automation.csproj b/testing/PIMS.Tests.Automation/PIMS.Tests.Automation.csproj
index 7072b629b0..171576c484 100644
--- a/testing/PIMS.Tests.Automation/PIMS.Tests.Automation.csproj
+++ b/testing/PIMS.Tests.Automation/PIMS.Tests.Automation.csproj
@@ -22,13 +22,13 @@
-
+
-
-
-
+
+
+
-
+
diff --git a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionChecklist.cs b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionChecklist.cs
index 8d7d797e90..c1d9caea2a 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionChecklist.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionChecklist.cs
@@ -190,7 +190,7 @@ public void EditChecklistButton()
public void VerifyChecklistInitViewForm()
{
- Wait();
+ WaitUntilVisible(checklistFileInitiationTitle);
AssertTrueIsDisplayed(checklistFileInitiationTitle);
AssertTrueIsDisplayed(checklistPreAcquisitionTitleLabel);
@@ -521,112 +521,111 @@ public void VerifyChecklistViewForm(AcquisitionFileChecklist checklist)
public void UpdateChecklist(AcquisitionFileChecklist checklist)
{
- Wait();
+ WaitUntilVisible(checklistFileInitiationItem1Select);
if(checklist.FileInitiationSelect1 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem1Select, checklist.FileInitiationSelect1);
+ ChooseSelectOption(checklistFileInitiationItem1Select, checklist.FileInitiationSelect1);
if (checklist.FileInitiationSelect2 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem2Select, checklist.FileInitiationSelect2);
+ ChooseSelectOption(checklistFileInitiationItem2Select, checklist.FileInitiationSelect2);
if (checklist.FileInitiationSelect3 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem3Select, checklist.FileInitiationSelect3);
+ ChooseSelectOption(checklistFileInitiationItem3Select, checklist.FileInitiationSelect3);
if (checklist.FileInitiationSelect4 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem4Select, checklist.FileInitiationSelect4);
+ ChooseSelectOption(checklistFileInitiationItem4Select, checklist.FileInitiationSelect4);
if (checklist.FileInitiationSelect5 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem5Select, checklist.FileInitiationSelect5);
+ ChooseSelectOption(checklistFileInitiationItem5Select, checklist.FileInitiationSelect5);
if (checklist.ActiveFileManagementSelect1 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem1Select, checklist.ActiveFileManagementSelect1);
+ ChooseSelectOption(checklistActiveFileItem1Select, checklist.ActiveFileManagementSelect1);
if (checklist.ActiveFileManagementSelect2 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem2Select, checklist.ActiveFileManagementSelect2);
+ ChooseSelectOption(checklistActiveFileItem2Select, checklist.ActiveFileManagementSelect2);
if (checklist.ActiveFileManagementSelect3 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem3Select, checklist.ActiveFileManagementSelect3);
+ ChooseSelectOption(checklistActiveFileItem3Select, checklist.ActiveFileManagementSelect3);
if (checklist.ActiveFileManagementSelect4 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem4Select, checklist.ActiveFileManagementSelect4);
+ ChooseSelectOption(checklistActiveFileItem4Select, checklist.ActiveFileManagementSelect4);
if (checklist.ActiveFileManagementSelect5 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem5Select, checklist.ActiveFileManagementSelect5);
+ ChooseSelectOption(checklistActiveFileItem5Select, checklist.ActiveFileManagementSelect5);
if (checklist.ActiveFileManagementSelect6 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem6Select, checklist.ActiveFileManagementSelect6);
+ ChooseSelectOption(checklistActiveFileItem6Select, checklist.ActiveFileManagementSelect6);
if (checklist.ActiveFileManagementSelect7 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem7Select, checklist.ActiveFileManagementSelect7);
+ ChooseSelectOption(checklistActiveFileItem7Select, checklist.ActiveFileManagementSelect7);
if (checklist.ActiveFileManagementSelect8 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem8Select, checklist.ActiveFileManagementSelect8);
+ ChooseSelectOption(checklistActiveFileItem8Select, checklist.ActiveFileManagementSelect8);
if (checklist.ActiveFileManagementSelect9 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem9Select, checklist.ActiveFileManagementSelect9);
+ ChooseSelectOption(checklistActiveFileItem9Select, checklist.ActiveFileManagementSelect9);
if (checklist.ActiveFileManagementSelect10 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem10Select, checklist.ActiveFileManagementSelect10);
+ ChooseSelectOption(checklistActiveFileItem10Select, checklist.ActiveFileManagementSelect10);
if (checklist.ActiveFileManagementSelect11 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem11Select, checklist.ActiveFileManagementSelect11);
+ ChooseSelectOption(checklistActiveFileItem11Select, checklist.ActiveFileManagementSelect11);
if (checklist.ActiveFileManagementSelect12 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem12Select, checklist.ActiveFileManagementSelect12);
+ ChooseSelectOption(checklistActiveFileItem12Select, checklist.ActiveFileManagementSelect12);
if (checklist.ActiveFileManagementSelect13 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem13Select, checklist.ActiveFileManagementSelect13);
+ ChooseSelectOption(checklistActiveFileItem13Select, checklist.ActiveFileManagementSelect13);
if (checklist.ActiveFileManagementSelect14 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem14Select, checklist.ActiveFileManagementSelect14);
+ ChooseSelectOption(checklistActiveFileItem14Select, checklist.ActiveFileManagementSelect14);
if (checklist.ActiveFileManagementSelect15 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem15Select, checklist.ActiveFileManagementSelect15);
+ ChooseSelectOption(checklistActiveFileItem15Select, checklist.ActiveFileManagementSelect15);
if (checklist.ActiveFileManagementSelect16 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem16Select, checklist.ActiveFileManagementSelect16);
+ ChooseSelectOption(checklistActiveFileItem16Select, checklist.ActiveFileManagementSelect16);
if (checklist.ActiveFileManagementSelect17 != "")
- ChooseSpecificSelectOption(checklistActiveFileItem17Select, checklist.ActiveFileManagementSelect17);
+ ChooseSelectOption(checklistActiveFileItem17Select, checklist.ActiveFileManagementSelect17);
if (checklist.CrownLandSelect1 != "")
- ChooseSpecificSelectOption(checklistCrownLandItem1Select, checklist.CrownLandSelect1);
+ ChooseSelectOption(checklistCrownLandItem1Select, checklist.CrownLandSelect1);
if (checklist.CrownLandSelect2 != "")
- ChooseSpecificSelectOption(checklistCrownLandItem2Select, checklist.CrownLandSelect2);
+ ChooseSelectOption(checklistCrownLandItem2Select, checklist.CrownLandSelect2);
if (checklist.CrownLandSelect3 != "")
- ChooseSpecificSelectOption(checklistCrownLandItem3Select, checklist.CrownLandSelect3);
+ ChooseSelectOption(checklistCrownLandItem3Select, checklist.CrownLandSelect3);
if (checklist.Section3AgreementSelect1 != "")
- ChooseSpecificSelectOption(checklistSec3Item1Select, checklist.Section3AgreementSelect1);
+ ChooseSelectOption(checklistSec3Item1Select, checklist.Section3AgreementSelect1);
if (checklist.Section3AgreementSelect2 != "")
- ChooseSpecificSelectOption(checklistSec3Item2Select, checklist.Section3AgreementSelect2);
+ ChooseSelectOption(checklistSec3Item2Select, checklist.Section3AgreementSelect2);
if (checklist.Section3AgreementSelect3 != "")
- ChooseSpecificSelectOption(checklistSec3Item3Select, checklist.Section3AgreementSelect3);
+ ChooseSelectOption(checklistSec3Item3Select, checklist.Section3AgreementSelect3);
if (checklist.Section3AgreementSelect4 != "")
- ChooseSpecificSelectOption(checklistSec3Item4Select, checklist.Section3AgreementSelect4);
+ ChooseSelectOption(checklistSec3Item4Select, checklist.Section3AgreementSelect4);
if (checklist.Section3AgreementSelect5 != "")
- ChooseSpecificSelectOption(checklistSec3Item5Select, checklist.Section3AgreementSelect5);
+ ChooseSelectOption(checklistSec3Item5Select, checklist.Section3AgreementSelect5);
if (checklist.Section3AgreementSelect6 != "")
- ChooseSpecificSelectOption(checklistSec3Item6Select, checklist.Section3AgreementSelect6);
+ ChooseSelectOption(checklistSec3Item6Select, checklist.Section3AgreementSelect6);
if (checklist.Section3AgreementSelect7 != "")
- ChooseSpecificSelectOption(checklistSec3Item7Select, checklist.Section3AgreementSelect7);
+ ChooseSelectOption(checklistSec3Item7Select, checklist.Section3AgreementSelect7);
if (checklist.Section3AgreementSelect8 != "")
- ChooseSpecificSelectOption(checklistSec3Item8Select, checklist.Section3AgreementSelect8);
+ ChooseSelectOption(checklistSec3Item8Select, checklist.Section3AgreementSelect8);
if (checklist.Section3AgreementSelect9 != "")
- ChooseSpecificSelectOption(checklistSec3Item9Select, checklist.Section3AgreementSelect9);
+ ChooseSelectOption(checklistSec3Item9Select, checklist.Section3AgreementSelect9);
if (checklist.Section6ExpropriationSelect1 != "")
- ChooseSpecificSelectOption(checklistSec6Item1Select, checklist.Section6ExpropriationSelect1);
+ ChooseSelectOption(checklistSec6Item1Select, checklist.Section6ExpropriationSelect1);
if (checklist.Section6ExpropriationSelect2 != "")
- ChooseSpecificSelectOption(checklistSec6Item2Select, checklist.Section6ExpropriationSelect2);
+ ChooseSelectOption(checklistSec6Item2Select, checklist.Section6ExpropriationSelect2);
if (checklist.Section6ExpropriationSelect3 != "")
- ChooseSpecificSelectOption(checklistSec6Item3Select, checklist.Section6ExpropriationSelect3);
+ ChooseSelectOption(checklistSec6Item3Select, checklist.Section6ExpropriationSelect3);
if (checklist.Section6ExpropriationSelect4 != "")
- ChooseSpecificSelectOption(checklistSec6Item4Select, checklist.Section6ExpropriationSelect4);
+ ChooseSelectOption(checklistSec6Item4Select, checklist.Section6ExpropriationSelect4);
if (checklist.Section6ExpropriationSelect5 != "")
- ChooseSpecificSelectOption(checklistSec6Item5Select, checklist.Section6ExpropriationSelect5);
+ ChooseSelectOption(checklistSec6Item5Select, checklist.Section6ExpropriationSelect5);
if (checklist.Section6ExpropriationSelect6 != "")
- ChooseSpecificSelectOption(checklistSec6Item6Select, checklist.Section6ExpropriationSelect6);
+ ChooseSelectOption(checklistSec6Item6Select, checklist.Section6ExpropriationSelect6);
if (checklist.Section6ExpropriationSelect7 != "")
- ChooseSpecificSelectOption(checklistSec6Item7Select, checklist.Section6ExpropriationSelect7);
+ ChooseSelectOption(checklistSec6Item7Select, checklist.Section6ExpropriationSelect7);
if (checklist.Section6ExpropriationSelect8 != "")
- ChooseSpecificSelectOption(checklistSec6Item8Select, checklist.Section6ExpropriationSelect8);
+ ChooseSelectOption(checklistSec6Item8Select, checklist.Section6ExpropriationSelect8);
if (checklist.Section6ExpropriationSelect9 != "")
- ChooseSpecificSelectOption(checklistSec6Item9Select, checklist.Section6ExpropriationSelect9);
+ ChooseSelectOption(checklistSec6Item9Select, checklist.Section6ExpropriationSelect9);
if (checklist.Section6ExpropriationSelect10 != "")
- ChooseSpecificSelectOption(checklistSec6Item10Select, checklist.Section6ExpropriationSelect10);
+ ChooseSelectOption(checklistSec6Item10Select, checklist.Section6ExpropriationSelect10);
if (checklist.Section6ExpropriationSelect11 != "")
- ChooseSpecificSelectOption(checklistSec6Item11Select, checklist.Section6ExpropriationSelect11);
+ ChooseSelectOption(checklistSec6Item11Select, checklist.Section6ExpropriationSelect11);
if (checklist.Section6ExpropriationSelect12 != "")
- ChooseSpecificSelectOption(checklistSec6Item12Select, checklist.Section6ExpropriationSelect12);
+ ChooseSelectOption(checklistSec6Item12Select, checklist.Section6ExpropriationSelect12);
if (checklist.AcquisitionCompletionSelect1 != "")
- ChooseSpecificSelectOption(checklistAcqCompletionItem1Select, checklist.AcquisitionCompletionSelect1);
+ ChooseSelectOption(checklistAcqCompletionItem1Select, checklist.AcquisitionCompletionSelect1);
}
public void SaveAcquisitionFileChecklist()
{
- Wait();
ButtonElement("Save");
AssertTrueIsDisplayed(checklistEditBttn);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionDetails.cs b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionDetails.cs
index 5dfc72afca..b7b7c7fe82 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionDetails.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionDetails.cs
@@ -55,13 +55,11 @@ public class AcquisitionDetails : PageObjectBase
private readonly By acquisitionFileStatusesSubtitle = By.XPath("//div[contains(text(),'Progress Statuses')]/parent::div/parent::h2");
private readonly By acquisitionFileStatusesFileProgressLabel = By.XPath("//label[contains(text(),'File progress(es)')]");
- private readonly By acquisitionFileStatusesFileProgressContent = By.CssSelector("div[data-testid='prg-file-progress-status'] span[class='chip false disableSelection']");
private readonly By acquisitionFileStatusesFileAppraisalLabel = By.XPath("//label[contains(text(),'Appraisal')]");
private readonly By acquisitionFileStatusesFileAppraisalContent = By.XPath("//label[contains(text(),'Appraisal')]/parent::div/following-sibling::div");
private readonly By acquisitionFileStatusesFileLegalSurveyLabel = By.XPath("//label[contains(text(),'Legal survey')]");
private readonly By acquisitionFileStatusesFileLegalSurveyContent = By.XPath("//label[contains(text(),'Legal survey')]/parent::div/following-sibling::div");
private readonly By acquisitionFileStatusesFileTypeTakingLabel = By.XPath("//label[contains(text(),'Type of taking')]");
- private readonly By acquisitionFileStatusesFileTypeTakingContent = By.CssSelector("div[data-testid='prg-taking-type-status'] span[class='chip false disableSelection']");
private readonly By acquisitionFileStatusesFileExpropriationRiskLabel = By.XPath("//label[contains(text(),'Expropriation risk')]");
private readonly By acquisitionFileStatusesFileExpropriationRiskContent = By.XPath("//label[contains(text(),'Expropriation risk')]/parent::div/following-sibling::div");
@@ -80,7 +78,6 @@ public class AcquisitionDetails : PageObjectBase
private readonly By acquisitionFileDetailsNameContent = By.XPath("//label[contains(text(),'Acquisition file name')]/parent::div/following-sibling::div");
private readonly By acquisitionFileHistoricalNumberLabel = By.XPath("//label[contains(text(),'Historical file number')]");
private readonly By acquisitionFileHistoricalNumberTooltip = By.XPath("//label[contains(text(),'Historical file number')]/span/span[@data-testid='tooltip-icon-section-field-tooltip']");
- private readonly By acquisitionFileHistoricalNumberContent = By.XPath("//label[contains(text(),'Historical file number')]/parent::div/following-sibling::div");
private readonly By acquisitionFileDetailsPhysicalFileLabel = By.XPath("//label[contains(text(),'Physical file status')]");
private readonly By acquisitionFileDetailsPhysicalFileContent = By.XPath("//label[contains(text(),'Physical file status')]/parent::div/following-sibling::div");
private readonly By acquisitionFileDetailsPhysicalFileDetailsLabel = By.XPath("//label[contains(text(),'Physical file details')]");
@@ -99,7 +96,8 @@ public class AcquisitionDetails : PageObjectBase
private readonly By acquisitionFileSubinterestSubtitle = By.XPath("//div[contains(text(),'Sub-Interest Information')]");
private readonly By acquisitionFileOwnerRepresentativeLabel = By.XPath("//label[contains(text(),'Owner representative')]");
- private readonly By acquisitionFileOwnerCommentLabel = By.XPath("//label[contains(text(),'Comment')]");
+ private readonly By acquisitionFileOwnerCommentLabel = By.XPath("//div[text()='Owners']/parent::div/parent::h2/following-sibling::div/div/div/label[text()='Comment']");
+ private readonly By acquistionFileOwnerViewCommentLabel = By.XPath("//div[text()='Owner Information']/parent::div/parent::h2/following-sibling::div/div/div/label[text()='Comment']");
//Acquisition File Main Form Input Elements
private readonly By acquisitionFileEditButton = By.CssSelector("button[title='Edit acquisition file']");
@@ -113,12 +111,12 @@ public class AcquisitionDetails : PageObjectBase
private readonly By acquisitionFileStatusesFileProgressCreateLabel = By.XPath("//label[contains(text(),'File progress')]");
private readonly By acquisitionFileStatusesFileProgressSelect = By.Id("multiselect-progressStatuses_input");
private readonly By acquisitionFileStatusesDeleteBttns = By.CssSelector("div[id='multiselect-progressStatuses'] i[class='custom-close']");
- private readonly By acquisitionFileStatusesOptions = By.XPath("//input[@id='multiselect-progressStatuses_input']/parent::div/following-sibling::div/ul[@class='optionContainer']");
+ private readonly By acquisitionFileStatusesOptions = By.XPath("//input[@id='multiselect-progressStatuses_input']/parent::div/following-sibling::div[contains(@class,'optionListContainer')]");
private readonly By acquisitionFileStatusesAppraisalSelect = By.Id("input-appraisalStatusType");
private readonly By acquisitionFileStatusesLegalSurveySelect = By.Id("input-legalSurveyStatusType");
private readonly By acquisitionFileStatusesTypeTakingSelect = By.Id("multiselect-takingStatuses_input");
private readonly By acquisitionFileTypeTakingDeleteBttns = By.CssSelector("div[id='multiselect-takingStatuses'] i[class='custom-close']");
- private readonly By acquisitionFileTypeTakingOptions = By.XPath("//input[@id='multiselect-takingStatuses_input']/parent::div/following-sibling::div/ul[@class='optionContainer']");
+ private readonly By acquisitionFileTypeTakingOptions = By.XPath("//input[@id='multiselect-takingStatuses_input']/parent::div/following-sibling::div[contains(@class,'optionListContainer')]");
private readonly By acquisitionFileStatusesExpropriationRiskSelect = By.Id("input-expropiationRiskStatusType");
private readonly By acquisitionFileAssignedDateInput = By.Id("datepicker-assignedDate");
@@ -150,8 +148,8 @@ public class AcquisitionDetails : PageObjectBase
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 acquisitionFileUpdateOwnerCommentTextArea = By.Id("input-ownerRepresentatives.0.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 Claim')]");
@@ -192,18 +190,18 @@ public AcquisitionDetails(IWebDriver webDriver) : base(webDriver)
public void NavigateToCreateNewAcquisitionFile()
{
- Wait();
+ WaitUntilClickable(menuAcquisitionButton);
FocusAndClick(menuAcquisitionButton);
- Wait();
+ WaitUntilClickable(createAcquisitionFileButton);
FocusAndClick(createAcquisitionFileButton);
}
public void NavigateToFileSummary()
{
- Wait();
+ WaitUntilClickable(acquisitionFileSummaryBttn);
if (webDriver.FindElements(acquisitionFileSummaryBttn).Count() > 0)
- FocusAndClick(acquisitionFileSummaryBttn);
+ SafeClick(acquisitionFileSummaryBttn);
}
public void NavigateToFileDetailsTab()
@@ -220,12 +218,12 @@ public void NavigateToSubfilesTab()
public void CreateMinimumAcquisitionFile(AcquisitionFile acquisition)
{
- Wait();
+ WaitUntilVisible(acquisitionFileNameInput);
webDriver.FindElement(acquisitionFileNameInput).SendKeys(acquisition.AcquisitionFileName);
webDriver.FindElement(acquisitionFileDetailsTypeSelect);
- ChooseSpecificSelectOption(acquisitionFileDetailsTypeSelect, acquisition.AcquisitionType);
- ChooseSpecificSelectOption(acquisitionFileDetailsRegionSelect, acquisition.AcquisitionMOTIRegion);
+ ChooseSelectOption(acquisitionFileDetailsTypeSelect, acquisition.AcquisitionType);
+ ChooseSelectOption(acquisitionFileDetailsRegionSelect, acquisition.AcquisitionMOTIRegion);
}
public void EditAcquisitionFileBttn()
@@ -246,7 +244,7 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
if (acquisition.AcquisitionStatus != "" && acquisitionType == "Main")
{
WaitUntilClickable(acquisitionFileStatusSelect);
- ChooseSpecificSelectOption(acquisitionFileStatusSelect, acquisition.AcquisitionStatus);
+ ChooseSelectOption(acquisitionFileStatusSelect, acquisition.AcquisitionStatus);
}
//PROJECT
@@ -254,7 +252,7 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
{
WaitUntilVisible(acquisitionFileProjectInput);
- if(webDriver.FindElements(acquisitionFileProjectDelete).Count >= 1)
+ if (webDriver.FindElements(acquisitionFileProjectDelete).Count >= 1)
webDriver.FindElement(acquisitionFileProjectDelete).Click();
webDriver.FindElement(acquisitionFileProjectInput).SendKeys(acquisition.AcquisitionProject);
@@ -270,14 +268,14 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
WaitUntilClickable(acquisitionFileProjectProductSelect);
webDriver.FindElement(acquisitionFileProjectProductSelect).Click();
- Wait(2000);
- ChooseSpecificSelectOption(acquisitionFileProjectProductSelect, acquisition.AcquisitionProjProductCode + " " + acquisition.AcquisitionProjProduct);
+ WaitUntilClickable(acquisitionFileProjectProductSelect);
+ ChooseSelectOption(acquisitionFileProjectProductSelect, acquisition.AcquisitionProjProductCode + " " + acquisition.AcquisitionProjProduct);
}
if (acquisition.AcquisitionProjFunding != "")
{
WaitUntilClickable(acquisitionFileProjectFundingInput);
- ChooseSpecificSelectOption(acquisitionFileProjectFundingInput, acquisition.AcquisitionProjFunding);
+ ChooseSelectOption(acquisitionFileProjectFundingInput, acquisition.AcquisitionProjFunding);
}
if (webDriver.FindElements(acquisitionFileProjectOtherFundingLabel).Count > 0 && acquisition.AcquisitionFundingOther != "")
@@ -291,7 +289,7 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
//Delete File Progress statuses previously selected if any
if (webDriver.FindElements(acquisitionFileStatusesDeleteBttns).Count > 0)
{
- Wait();
+ WaitUntilClickable(acquisitionFileStatusesFileProgressSelect);
FocusAndClick(acquisitionFileStatusesFileProgressSelect);
while (webDriver.FindElements(acquisitionFileStatusesDeleteBttns).Count > 0)
{
@@ -304,29 +302,19 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
if (acquisition.AcquisitionFileProgressStatuses.First() != "")
{
foreach (string status in acquisition.AcquisitionFileProgressStatuses)
- {
- Wait(2000);
- webDriver.FindElement(acquisitionFileStatusesFileProgressCreateLabel).Click();
- FocusAndClick(acquisitionFileStatusesFileProgressSelect);
-
- WaitUntilClickable(acquisitionFileStatusesOptions);
- ChooseMultiSelectSpecificOption(acquisitionFileStatusesOptions, status);
- webDriver.FindElement(acquisitionFileStatusesFileProgressCreateLabel).Click();
- }
-
- webDriver.FindElement(acquisitionFileStatusesFileProgressCreateLabel).Click();
+ ChooseMultiSelectOption(acquisitionFileStatusesFileProgressSelect, acquisitionFileStatusesOptions, acquisitionFileStatusesFileProgressCreateLabel, status);
}
- if(acquisition.AcquisitionAppraisalStatus != "")
- ChooseSpecificSelectOption(acquisitionFileStatusesAppraisalSelect, acquisition.AcquisitionAppraisalStatus);
+ if (acquisition.AcquisitionAppraisalStatus != "")
+ ChooseSelectOption(acquisitionFileStatusesAppraisalSelect, acquisition.AcquisitionAppraisalStatus);
- if(acquisition.AcquisitionLegalSurveyStatus != "")
- ChooseSpecificSelectOption(acquisitionFileStatusesLegalSurveySelect, acquisition.AcquisitionLegalSurveyStatus);
+ if (acquisition.AcquisitionLegalSurveyStatus != "")
+ ChooseSelectOption(acquisitionFileStatusesLegalSurveySelect, acquisition.AcquisitionLegalSurveyStatus);
//Delete Type of Taking statuses previously selected if any
if (webDriver.FindElements(acquisitionFileTypeTakingDeleteBttns).Count > 0)
{
- Wait();
+ WaitUntilClickable(acquisitionFileStatusesTypeTakingSelect);
FocusAndClick(acquisitionFileStatusesTypeTakingSelect);
while (webDriver.FindElements(acquisitionFileTypeTakingDeleteBttns).Count > 0)
{
@@ -338,22 +326,12 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
if (acquisition.AcquisitionTypeTakingStatuses.First() != "")
{
- foreach (string status in acquisition.AcquisitionTypeTakingStatuses)
- {
- Wait(2000);
- webDriver.FindElement(acquisitionFileStatusesFileTypeTakingLabel).Click();
- FocusAndClick(acquisitionFileStatusesTypeTakingSelect);
-
- WaitUntilClickable(acquisitionFileTypeTakingOptions);
- ChooseMultiSelectSpecificOption(acquisitionFileTypeTakingOptions, status);
- webDriver.FindElement(acquisitionFileStatusesFileTypeTakingLabel).Click();
- }
-
- webDriver.FindElement(acquisitionFileStatusesFileTypeTakingLabel).Click();
+ foreach (string status in acquisition.AcquisitionTypeTakingStatuses)
+ ChooseMultiSelectOption(acquisitionFileStatusesTypeTakingSelect, acquisitionFileTypeTakingOptions, acquisitionFileStatusesFileTypeTakingLabel, status);
}
if (acquisition.AcquisitionExpropriationRiskStatus != "")
- ChooseSpecificSelectOption(acquisitionFileStatusesExpropriationRiskSelect, acquisition.AcquisitionExpropriationRiskStatus);
+ ChooseSelectOption(acquisitionFileStatusesExpropriationRiskSelect, acquisition.AcquisitionExpropriationRiskStatus);
//SCHEDULE
if (acquisition.AcquisitionAssignedDate != "")
@@ -404,22 +382,22 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
}
if (acquisition.PhysicalFileStatus != "")
- ChooseSpecificSelectOption(acquisitionFilePhysicalStatusSelect, acquisition.PhysicalFileStatus);
+ ChooseSelectOption(acquisitionFilePhysicalStatusSelect, acquisition.PhysicalFileStatus);
if (acquisition.PhysicalFileDetails != "")
{
ClearInput(acquisitionFilePhysicalDetailsInput);
webDriver.FindElement(acquisitionFilePhysicalDetailsInput).SendKeys(acquisition.PhysicalFileDetails);
}
-
+
if (acquisition.AcquisitionType != "")
{
WaitUntilClickable(acquisitionFileDetailsTypeSelect);
- ChooseSpecificSelectOption(acquisitionFileDetailsTypeSelect, acquisition.AcquisitionType);
+ ChooseSelectOption(acquisitionFileDetailsTypeSelect, acquisition.AcquisitionType);
}
if (acquisition.AcquisitionSubfileInterest != "" && acquisitionType == "Subfile")
- ChooseSpecificSelectOption(acquisitionFileDetailsSubfileInterestSelect, acquisition.AcquisitionSubfileInterest);
+ ChooseSelectOption(acquisitionFileDetailsSubfileInterestSelect, acquisition.AcquisitionSubfileInterest);
if (acquisition.AcquisitionSubfileInterestOther != "" && acquisitionType == "Subfile")
{
@@ -430,7 +408,7 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
if (acquisition.AcquisitionMOTIRegion != "")
{
WaitUntilClickable(acquisitionFileDetailsRegionSelect);
- ChooseSpecificSelectOption(acquisitionFileDetailsRegionSelect, acquisition.AcquisitionMOTIRegion);
+ ChooseSelectOption(acquisitionFileDetailsRegionSelect, acquisition.AcquisitionMOTIRegion);
}
//TEAM
@@ -441,7 +419,7 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
for (var i = 0; i < acquisition.AcquisitionTeam.Count; i++)
sharedTeams.AddTeamMembers(acquisition.AcquisitionTeam[i]);
-
+
}
//OWNERS
@@ -463,14 +441,14 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
if (acquisition.OwnerRepresentative != "" && acquisitionType == "Main")
{
- Wait();
+ WaitUntilClickable(acquisitionFileOwnerRepresentativeButton);
webDriver.FindElement(acquisitionFileOwnerRepresentativeButton).Click();
sharedSelectContact.SelectContact(acquisition.OwnerRepresentative, "");
}
if (acquisition.OwnerSolicitor != "" && acquisitionType == "Subfile")
{
- Wait();
+ WaitUntilClickable(acquisitionSubfileOwnerSolicitorButton);
webDriver.FindElement(acquisitionSubfileOwnerSolicitorButton).Click();
sharedSelectContact.SelectContact(acquisition.OwnerSolicitor, "");
}
@@ -485,19 +463,18 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
if (acquisition.OwnerComment != "")
{
Wait();
-
- if (webDriver.FindElements(acquisitionFileOwnerCommentEditTextArea).Count > 0)
+ if (webDriver.FindElements(acquisitionFileOwnerCommentTextArea).Count > 0)
{
- ClearInput(acquisitionFileOwnerCommentEditTextArea);
- webDriver.FindElement(acquisitionFileOwnerCommentEditTextArea).SendKeys(acquisition.OwnerComment);
+ ClearInput(acquisitionFileOwnerCommentTextArea);
+ webDriver.FindElement(acquisitionFileOwnerCommentTextArea).SendKeys(acquisition.OwnerComment);
}
else
{
- ClearInput(acquisitionFileOwnerCommentTextArea);
- webDriver.FindElement(acquisitionFileOwnerCommentTextArea).SendKeys(acquisition.OwnerComment);
+ ClearInput(acquisitionFileUpdateOwnerCommentTextArea);
+ webDriver.FindElement(acquisitionFileUpdateOwnerCommentTextArea).SendKeys(acquisition.OwnerComment);
}
}
-
+
//NOTICE OF CLAIMS
AssertTrueIsDisplayed(acquisitionFileNoticeClaimSubtitle);
@@ -520,7 +497,6 @@ public void UpdateAcquisitionFile(AcquisitionFile acquisition, string acquisitio
public void SaveAcquisitionFileDetails()
{
- Wait();
ButtonElement("Save");
Wait();
@@ -532,7 +508,6 @@ public void SaveAcquisitionFileDetails()
Assert.Contains("The selected Ministry region is different from that associated to one or more selected properties", sharedModals.ModalContent());
Assert.Contains("Do you want to proceed?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
-
Wait();
}
else if (sharedModals.ModalContent().Contains("The selected property already exists in the system's inventory."))
@@ -541,8 +516,7 @@ public void SaveAcquisitionFileDetails()
Assert.Contains("The selected property already exists in the system's inventory. However, the record is missing spatial details.", sharedModals.ModalContent());
Assert.Contains("To add the property, the spatial details for this property will need to be updated. The system will attempt to update the property record with spatial information from the current selection.", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
-
- Wait();
+ Wait();
}
else if (sharedModals.ModalContent().Contains("This change will be reflected on other related entities - generated documents, sub-files, etc."))
{
@@ -550,22 +524,24 @@ public void SaveAcquisitionFileDetails()
Assert.Contains("This change will be reflected on other related entities - generated documents, sub-files, etc.", sharedModals.ModalContent());
Assert.Contains("Do you want to proceed?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
-
Wait();
}
else if (sharedModals.ModalHeader().Contains("Error"))
{
return;
}
+ else
+ {
+ sharedModals.ModalClickOKBttn();
+ }
}
}
public void SaveAcquisitionFileDetailsWithExpectedErrors()
{
- Wait(5000);
ButtonElement("Save");
- Wait();
+ WaitUntilVisible(acquisitionFileConfirmationModal);
while (webDriver.FindElements(acquisitionFileConfirmationModal).Count() > 0)
{
if (sharedModals.ModalHeader().Contains("Error"))
@@ -577,7 +553,6 @@ public void SaveAcquisitionFileDetailsWithExpectedErrors()
public void CancelAcquisitionFile()
{
- Wait();
ButtonElement("Cancel");
sharedModals.CancelActionModal();
@@ -585,7 +560,7 @@ public void CancelAcquisitionFile()
public string GetAcquisitionFileCode()
{
- Wait(4000);
+ WaitUntilVisible(acquisitionFileHeaderCodeContent);
var totalFileName = webDriver.FindElement(acquisitionFileHeaderCodeContent).Text;
return Regex.Match(totalFileName, "^[^ ]+").Value;
@@ -593,7 +568,7 @@ public string GetAcquisitionFileCode()
public string GetLinkedFilesCode()
{
- Wait();
+ WaitUntilVisible(acquisitionSubfileCreateTableLinkedFilesCode);
return webDriver.FindElement(acquisitionSubfileCreateTableLinkedFilesCode).Text;
}
@@ -604,7 +579,7 @@ public int IsCreateAcquisitionFileFormVisible()
public void VerifyAcquisitionFileView(AcquisitionFile acquisition, string acquisitionType)
{
- Wait();
+ WaitUntilVisible(acquisitionFileHeaderCodeLabel);
//Header
AssertTrueIsDisplayed(acquisitionFileHeaderCodeLabel);
@@ -802,7 +777,10 @@ public void VerifyAcquisitionFileView(AcquisitionFile acquisition, string acquis
AssertTrueContentEquals(acquisitionSubfileOwnerRepresentativeContent, acquisition.OwnerRepresentative);
if (acquisition.OwnerComment != "")
+ {
+ AssertTrueIsDisplayed(acquistionFileOwnerViewCommentLabel);
AssertTrueContentEquals(acquisitionFileOwnerCommentContent, acquisition.OwnerComment);
+ }
//NOTICE OF CLAIMS
AssertTrueIsDisplayed(acquisitionFileNoticeClaimSubtitle);
@@ -820,7 +798,7 @@ public void VerifyAcquisitionFileView(AcquisitionFile acquisition, string acquis
public void VerifyAcquisitionFileCreate(string acquisitionType)
{
- Wait(5000);
+ WaitUntilVisible(acquisitionFileProjectFundingInput);
//if (acquisitionType == "Main")
// AssertTrueIsDisplayed(acquisitionFileTitle);
@@ -897,6 +875,7 @@ public void VerifyAcquisitionFileCreate(string acquisitionType)
AssertTrueIsDisplayed(acquisitionSubfileOwnerRepresentativeLabel);
AssertTrueIsDisplayed(acquisitionSubfileOwnerRepresentativeButton);
}
+ AssertTrueIsDisplayed(acquisitionFileOwnerCommentLabel);
AssertTrueIsDisplayed(acquisitionFileOwnerCommentTextArea);
//Notice of Claims
@@ -950,12 +929,11 @@ public void VerifyErrorCannotCompleteInProgressTakes()
private void AddOwners(AcquisitionOwner owner, int ownerIndex)
{
WaitUntilClickable(acquisitionFileAddOwnerLink);
- FocusAndClick(acquisitionFileAddOwnerLink);
+ SafeClick(acquisitionFileAddOwnerLink);
- Wait();
if (owner.OwnerContactType.Equals("Individual"))
{
- FocusAndClick(By.CssSelector("input[data-testid='radio-owners["+ ownerIndex +"].isorganization-individual']"));
+ SafeClick(By.CssSelector("input[data-testid='radio-owners["+ ownerIndex +"].isorganization-individual']"));
if (owner.OwnerGivenNames != "")
webDriver.FindElement(By.Id("input-owners["+ ownerIndex +"].givenName")).SendKeys(owner.OwnerGivenNames);
@@ -966,7 +944,7 @@ private void AddOwners(AcquisitionOwner owner, int ownerIndex)
}
else
{
- FocusAndClick(By.CssSelector("input[data-testid='radio-owners["+ ownerIndex +"].isorganization-corporation']"));
+ SafeClick(By.CssSelector("input[data-testid='radio-owners["+ ownerIndex +"].isorganization-corporation']"));
if (owner.OwnerCorporationName != "")
webDriver.FindElement(By.Id("input-owners["+ ownerIndex +"].lastNameAndCorpName")).SendKeys(owner.OwnerCorporationName);
@@ -994,7 +972,7 @@ private void AddOwners(AcquisitionOwner owner, int ownerIndex)
webDriver.FindElement(By.Id("input-owners["+ ownerIndex +"].address.streetAddress3")).SendKeys(owner.OwnerMailAddress.AddressLine3);
}
if (owner.OwnerMailAddress.Country != "")
- ChooseSpecificSelectOption(By.Id("input-owners["+ ownerIndex +"].address.countryId"), owner.OwnerMailAddress.Country);
+ ChooseSelectOption(By.Id("input-owners["+ ownerIndex +"].address.countryId"), owner.OwnerMailAddress.Country);
if (owner.OwnerMailAddress.City != "")
webDriver.FindElement(By.Id("input-owners["+ ownerIndex +"].address.municipality")).SendKeys(owner.OwnerMailAddress.City);
if (owner.OwnerMailAddress.Province != "")
diff --git a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionExpropriation.cs b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionExpropriation.cs
index 9b21ab37a2..cd54ecb8ad 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionExpropriation.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionExpropriation.cs
@@ -106,7 +106,7 @@ public AcquisitionExpropriation(IWebDriver webDriver) : base(webDriver)
public void NavigateToExpropriationTab()
{
- Wait();
+ WaitUntilClickable(expropriationTab);
webDriver.FindElement(expropriationTab).Click();
}
@@ -127,9 +127,7 @@ public void AddForm8Button()
public void EditNthHistoryDateButton(int index)
{
WaitUntilSpinnerDisappear();
-
- WaitUntilClickable(By.XPath("//div[@data-testid='expropriationHistoryTable']/div[@class='tbody']/div[1]/div/div[4]/div/button[@data-testid='edit-expropriation-event-"+ index +"']"));
- webDriver.FindElement(By.XPath("//div[@data-testid='expropriationHistoryTable']/div[@class='tbody']/div[1]/div/div[4]/div/button[@data-testid='edit-expropriation-event-"+ index +"']")).Click();
+ SafeClick(By.XPath("//div[@data-testid='expropriationHistoryTable']/div[@class='tbody']/div[1]/div/div[4]/div/button[@data-testid='edit-expropriation-event-"+ index +"']"));
}
public void DeleteNthHistoryDate(int index)
@@ -152,17 +150,13 @@ public void DeleteNthHistoryDate(int index)
public void EditNthForm8Button(int index)
{
WaitUntilSpinnerDisappear();
-
- WaitUntilClickable(By.CssSelector("button[data-testid='form8["+ index +"].edit-form8']"));
- webDriver.FindElement(By.CssSelector("button[data-testid='form8["+ index +"].edit-form8']")).Click();
+ SafeClick(By.CssSelector("button[data-testid='form8["+ index +"].edit-form8']"));
}
public void DeleteNthForm8(int index)
{
WaitUntilSpinnerDisappear();
-
- WaitUntilClickable(By.CssSelector("button[data-testid='form8["+ index +"].delete-form8']"));
- webDriver.FindElement(By.CssSelector("button[data-testid='form8["+ index +"].delete-form8']")).Click();
+ SafeClick(By.CssSelector("button[data-testid='form8["+ index +"].delete-form8']"));
if (webDriver.FindElements(acquisitionFileConfirmationModal).Count() > 0)
{
@@ -188,29 +182,26 @@ public void DeleteFirstPayment()
public void SaveExpropriation()
{
- Wait();
ButtonElement("Save");
}
public void CancelExpropriation()
{
- Wait();
ButtonElement("Cancel");
-
sharedModals.CancelActionModal();
}
public void CancelExpropriationHistoryDate()
{
- Wait();
+ WaitUntilClickable(expropriationHistoryAddEventModalCancelBttn);
webDriver.FindElement(expropriationHistoryAddEventModalCancelBttn).Click();
}
public void CreateUpdateExpropriationDateHistory(AcquisitionExpropriationDateHistory history)
{
- Wait();
- ChooseSpecificSelectOption(expropriationHistoryAddEventModalOwnerSelect, history.ExpropriationDateHistoryOwner);
- ChooseSpecificSelectOption(expropriationHistoryAddEventModalEventSelect, history.ExpropriationDateHistoryEvent);
+ WaitUntilClickable(expropriationHistoryAddEventModalOwnerSelect);
+ ChooseSelectOption(expropriationHistoryAddEventModalOwnerSelect, history.ExpropriationDateHistoryOwner);
+ ChooseSelectOption(expropriationHistoryAddEventModalEventSelect, history.ExpropriationDateHistoryEvent);
if (history.ExpropriationDateHistoryDate != "")
{
@@ -222,9 +213,9 @@ public void CreateUpdateExpropriationDateHistory(AcquisitionExpropriationDateHis
public void CreateForm8(AcquisitionExpropriationForm8 expropriation)
{
- Wait();
+ WaitUntilClickable(form8PayeeSelect);
- ChooseSpecificSelectOption(form8PayeeSelect, expropriation.Form8Payee);
+ ChooseSelectOption(form8PayeeSelect, expropriation.Form8Payee);
webDriver.FindElement(form8ExpAuthorityContactBttn).Click();
sharedSelectContact.SelectContact(expropriation.Form8ExpropriationAuthority!, "");
@@ -247,7 +238,7 @@ public void UpdateForm8(AcquisitionExpropriationForm8 expropriation)
{
WaitUntilSpinnerDisappear();
- ChooseSpecificSelectOption(form8PayeeSelect, expropriation.Form8Payee);
+ ChooseSelectOption(form8PayeeSelect, expropriation.Form8Payee);
webDriver.FindElement(form8ExpAuthorityContactBttn).Click();
sharedSelectContact.SelectContact(expropriation.Form8ExpropriationAuthority, "");
@@ -283,7 +274,7 @@ public int TotalExpropriationCount()
public void VerifyExpropriationDateHistoryModalForm()
{
- Wait();
+ WaitUntilVisible(expropriationHistoryAddEventModalHeader);
AssertTrueIsDisplayed(expropriationHistoryAddEventModalHeader);
AssertTrueIsDisplayed(expropriationHistoryAddEventModalOwnerLabel);
@@ -315,7 +306,7 @@ public void VerifyCreatedExpropriationDateHistory(AcquisitionExpropriationDateHi
public void VerifySection3InitExpropriationTab()
{
- Wait();
+ WaitUntilClickable(expropriationDateHistoryOpenTable);
//Expropriation Date History
webDriver.FindElement(expropriationDateHistoryOpenTable).Click();
@@ -338,7 +329,7 @@ public void VerifySection3InitExpropriationTab()
public void VerifySection6InitExpropriationTab()
{
- Wait();
+ WaitUntilClickable(expropriationDateHistoryOpenTable);
//Expropriation Date History
webDriver.FindElement(expropriationDateHistoryOpenTable).Click();
@@ -404,7 +395,7 @@ public void VerifySection6InitExpropriationTab()
public void VerifyInitCreateForm8()
{
- Wait();
+ WaitUntilVisible(form8CreateTitle);
AssertTrueIsDisplayed(form8CreateTitle);
AssertTrueIsDisplayed(form8PayeeLabel);
@@ -465,12 +456,12 @@ private void AddPayments(ExpropriationPayment payment, int index)
webDriver.FindElement(form8PaymentAddBttn).Click();
WaitUntilVisible(By.Id("input-paymentItems["+ index +"].paymentItemTypeCode"));
- ChooseSpecificSelectOption(By.Id("input-paymentItems["+ index +"].paymentItemTypeCode"), payment.ExpPaymentItem);
+ ChooseSelectOption(By.Id("input-paymentItems["+ index +"].paymentItemTypeCode"), payment.ExpPaymentItem);
ClearInput(By.Id("input-paymentItems["+ index +"].pretaxAmount"));
webDriver.FindElement(By.Id("input-paymentItems["+ index +"].pretaxAmount")).SendKeys(payment.ExpPaymentAmount);
- ChooseSpecificSelectOption(By.Id("input-paymentItems["+ index +"].isGstRequired"), payment.ExpPaymentGSTApplicable);
+ ChooseSelectOption(By.Id("input-paymentItems["+ index +"].isGstRequired"), payment.ExpPaymentGSTApplicable);
if(webDriver.FindElements(By.Id("input-paymentItems["+ index +"].taxAmount")).Count > 0)
AssertTrueElementValueEquals(By.Id("input-paymentItems["+ index +"].taxAmount"), TransformCurrencyFormat(payment.ExpPaymentGSTAmount));
diff --git a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionStakeholders.cs b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionStakeholders.cs
index af0db9a7bb..6f7a214851 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionStakeholders.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionStakeholders.cs
@@ -44,13 +44,13 @@ public AcquisitionStakeholders(IWebDriver webDriver) : base(webDriver)
public void NavigateStakeholderTab()
{
- Wait(2000);
+ WaitUntilClickable(stakeholderLinkTab);
webDriver.FindElement(stakeholderLinkTab).Click();
}
public void EditStakeholderInterestsButton()
{
- Wait();
+ WaitUntilClickable(stakeholderInterestsEditBttn);
webDriver.FindElement(stakeholderInterestsEditBttn).Click();
}
@@ -68,16 +68,14 @@ public void AddNonInterestStakeholderButton()
public void SaveAcquisitionFileStakeholder()
{
- Wait();
ButtonElement("Save");
- Wait(4000);
+ WaitUntilVisible(stakeholderInterestsEditBttn);
AssertTrueIsDisplayed(stakeholderInterestsEditBttn);
}
public void CancelAcquisitionFileStakeholder()
{
- Wait();
ButtonElement("Cancel");
sharedModals.CancelActionModal();
@@ -100,14 +98,14 @@ public void CreateInterestsStakeholder(AcquisitionStakeholder interest, int inde
//If Primary Contact has to be selected, choose one from the select field
Wait();
if (webDriver.FindElements(By.CssSelector("select[id='input-interestHolders."+ index +".primaryContactId']")).Count > 0)
- ChooseSpecificSelectOption(By.CssSelector("select[id='input-interestHolders."+ index +".primaryContactId']"), interest.PrimaryContact);
+ ChooseSelectOption(By.CssSelector("select[id='input-interestHolders."+ index +".primaryContactId']"), interest.PrimaryContact);
//Interest Type label
AssertTrueIsDisplayed(By.XPath("//select[@id='input-interestHolders."+ index +".propertyInterestTypeCode']/parent::div/parent::div/preceding-sibling::div/label[contains(text(),'Interest type')]"));
//Select Interest Type
if(interest.InterestType != "")
- ChooseSpecificSelectOption(By.Id("input-interestHolders."+ index +".propertyInterestTypeCode"), interest.InterestType);
+ ChooseSelectOption(By.Id("input-interestHolders."+ index +".propertyInterestTypeCode"), interest.InterestType);
//Impacted Properties
AssertTrueIsDisplayed(By.XPath("//select[@id='input-interestHolders."+ index +".propertyInterestTypeCode']/parent::div/parent::div/parent::div/following-sibling::div/div/label[contains(text(),'Impacted properties')]"));
@@ -127,7 +125,6 @@ public void CreateNonInterestsStakeholder(AcquisitionStakeholder noninterest, in
public void DeleteLastInterestHolder()
{
- Wait();
var lastInterestHoldersIndex = webDriver.FindElements(stakeholderInterestTotalCount).Count -1;
EditStakeholderInterestsButton();
@@ -136,7 +133,6 @@ public void DeleteLastInterestHolder()
public void DeleteLastNonInterestHolder()
{
- Wait();
var lastNonInterestHoldersIndex = webDriver.FindElements(stakeholderNonInterestTotalCount).Count -1;
EditStakeholderInterestsButton();
@@ -145,7 +141,7 @@ public void DeleteLastNonInterestHolder()
public void VerifyStakeholdersInitView()
{
- Wait();
+ WaitUntilVisible(stakeholderInterestsEditBttn);
AssertTrueIsDisplayed(stakeholderInterestsEditBttn);
AssertTrueIsDisplayed(stakeholderInterestsSubtitle);
@@ -172,12 +168,11 @@ public void VerifyStakeholderInitEditForm()
public void VerifyInterestStakeholderViewForm(AcquisitionStakeholder interest)
{
- Wait();
+ WaitUntilVisible(stakeholderInterestsSubtitle);
AssertTrueIsDisplayed(stakeholderInterestsSubtitle);
AssertTrueIsDisplayed(stakeholderInterestsEditBttn);
AssertTrueIsDisplayed(stakeholderInterestTable);
- Wait();
var lastStakeholder = webDriver.FindElements(stakeholderInterestTotalCount).Count();
AssertTrueContentEquals(By.XPath("//div[contains(text(),'Interests')]/parent::div/parent::h2/following-sibling::div/div[@data-testid='interest-holders-by-property-table']/div[@class='tbody']/div[@class='tr-wrapper']["+ lastStakeholder +"]/div/div[1]/a"), interest.InterestHolder);
AssertTrueContentEquals(By.XPath("//div[contains(text(),'Interests')]/parent::div/parent::h2/following-sibling::div/div[@data-testid='interest-holders-by-property-table']/div[@class='tbody']/div[@class='tr-wrapper']["+ lastStakeholder +"]/div/div[2]"), interest.PrimaryContact);
@@ -186,7 +181,7 @@ public void VerifyInterestStakeholderViewForm(AcquisitionStakeholder interest)
public void VerifyNonInterestStakeholderViewForm(AcquisitionStakeholder interest)
{
- Wait();
+ WaitUntilVisible(stakeholderNonInterestsSubtitle);
AssertTrueIsDisplayed(stakeholderNonInterestsSubtitle);
AssertTrueIsDisplayed(stakeholderInterestsEditBttn);
AssertTrueIsDisplayed(stakeholderNonInterestTable);
@@ -198,13 +193,13 @@ public void VerifyNonInterestStakeholderViewForm(AcquisitionStakeholder interest
public int TotalInterestHolders()
{
- Wait();
+ WaitUntilVisible(stakeholderInterestTotalCount);
return webDriver.FindElements(stakeholderInterestTotalCount).Count();
}
public int TotalNonInterestHolders()
{
- Wait();
+ WaitUntilVisible(stakeholderNonInterestTotalCount);
return webDriver.FindElements(stakeholderNonInterestTotalCount).Count();
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionTakes.cs b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionTakes.cs
index ac69db6257..c62cbb2caf 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/AcquisitionTakes.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/AcquisitionTakes.cs
@@ -94,7 +94,7 @@ public AcquisitionTakes(IWebDriver webDriver) : base(webDriver)
public void NavigateTakesTab()
{
- Wait();
+ WaitUntilClickable(takesTabLink);
webDriver.FindElement(takesTabLink).Click();
}
@@ -110,14 +110,12 @@ public void ClickEditTakesButton(int index)
By editButton = By.CssSelector("div[data-testid='take-" + index + "'] button[data-testid='edit-button']");
WaitUntilSpinnerDisappear();
- WaitUntilClickable(editButton);
- webDriver.FindElement(editButton).Click();
+ SafeClick(editButton);
}
public void SaveTake()
{
ButtonElement("Save");
- Wait();
}
public void CancelTake()
@@ -132,10 +130,10 @@ public void InsertTake(Take take)
//Takes Details
if (take.TakeType != "")
- ChooseSpecificSelectOption(takeTypeSelect, take.TakeType);
+ ChooseSelectOption(takeTypeSelect, take.TakeType);
if (take.TakeStatus != "")
- ChooseSpecificSelectOption(takeStatusSelect, take.TakeStatus);
+ ChooseSelectOption(takeStatusSelect, take.TakeStatus);
if (take.TakeCompleteDate != "")
{
@@ -144,7 +142,7 @@ public void InsertTake(Take take)
}
if (take.SiteContamination != "")
- ChooseSpecificSelectOption(takeSiteContaminationSelect, take.SiteContamination);
+ ChooseSelectOption(takeSiteContaminationSelect, take.SiteContamination);
if (take.TakeDescription != "")
{
@@ -154,7 +152,7 @@ public void InsertTake(Take take)
//Areas
//New Highway Dedication
- ChooseSpecificRadioButton(takeRightOfWayRadioBttnGroup, take.IsNewHighwayDedication);
+ ChooseRadioButton(takeRightOfWayRadioBttnGroup, take.IsNewHighwayDedication);
Wait();
if (webDriver.FindElements(acquisitionFileConfirmationModal).Count() > 0)
@@ -170,16 +168,17 @@ public void InsertTake(Take take)
ClearDigitsInput(takeRightOfWaySqMetresInput);
webDriver.FindElement(takeRightOfWaySqMetresInput).SendKeys(take.IsNewHighwayDedicationArea);
+ Wait();
AssertTrueDoublesEquals(takeRightOfWayHectaresInput, TransformSqMtToHectares(take.IsNewHighwayDedicationArea));
AssertTrueDoublesEquals(takeRightOfWaySqFeetInput, TransformSqMtToSqFt(take.IsNewHighwayDedicationArea));
AssertTrueDoublesEquals(takeRightOfWayAcresInput, TransformSqMtToAcres(take.IsNewHighwayDedicationArea));
}
//MOTI Inventory
- ChooseSpecificRadioButton(takeMOTIInventoryBttnGroup, take.IsMotiInventory);
+ ChooseRadioButton(takeMOTIInventoryBttnGroup, take.IsMotiInventory);
//New Registered Interest in Land
- ChooseSpecificRadioButton(takeSRWRadioBttnGroup, take.IsNewInterestLand);
+ ChooseRadioButton(takeSRWRadioBttnGroup, take.IsNewInterestLand);
Wait();
if (webDriver.FindElements(acquisitionFileConfirmationModal).Count() > 0)
@@ -205,7 +204,7 @@ public void InsertTake(Take take)
}
//Land Act Tenure
- ChooseSpecificRadioButton(takeLandActRadioBttnGroup, take.IsLandActTenure);
+ ChooseRadioButton(takeLandActRadioBttnGroup, take.IsLandActTenure);
Wait();
if (webDriver.FindElements(acquisitionFileConfirmationModal).Count() > 0)
@@ -218,7 +217,7 @@ public void InsertTake(Take take)
if (take.IsLandActTenure.Equals("true"))
{
- ChooseSpecificSelectOption(takeLandActTypeSelect, take.IsLandActTenureDetail);
+ ChooseSelectOption(takeLandActTypeSelect, take.IsLandActTenureDetail);
if (take.IsLandActTenureArea != "")
{
@@ -239,7 +238,7 @@ public void InsertTake(Take take)
}
//License to Construct
- ChooseSpecificRadioButton(takeLicenseConstructRadioBttnGroup, take.IsLicenseConstruct);
+ ChooseRadioButton(takeLicenseConstructRadioBttnGroup, take.IsLicenseConstruct);
Wait();
if (webDriver.FindElements(acquisitionFileConfirmationModal).Count() > 0)
@@ -268,7 +267,7 @@ public void InsertTake(Take take)
}
//Lease Payable
- ChooseSpecificRadioButton(takeLeaseRadioBttnGroup, take.IsLeasePayable);
+ ChooseRadioButton(takeLeaseRadioBttnGroup, take.IsLeasePayable);
Wait();
if (webDriver.FindElements(acquisitionFileConfirmationModal).Count() > 0)
@@ -288,7 +287,6 @@ public void InsertTake(Take take)
sharedModals.ModalClickOKBttn();
}
- Wait();
if (take.IsLeasePayable.Equals("true"))
{
if (take.IsLeasePayableArea != "")
@@ -307,7 +305,7 @@ public void InsertTake(Take take)
}
//Surplus
- ChooseSpecificRadioButton(takeSurplusRadioBttnGroup, take.IsSurplus);
+ ChooseRadioButton(takeSurplusRadioBttnGroup, take.IsSurplus);
Wait();
if (webDriver.FindElements(acquisitionFileConfirmationModal).Count() > 0)
@@ -348,7 +346,7 @@ public void DeleteTake(int index)
public void VerifyInitTakesView()
{
- Wait();
+ WaitUntilVisible(takesTitle);
AssertTrueIsDisplayed(takesTitle);
AssertTrueIsDisplayed(takesForThisPropertyCurrentFileLabel);
@@ -359,7 +357,7 @@ public void VerifyInitTakesView()
public void VerifyInitCreateForm()
{
- Wait();
+ WaitUntilVisible(takeNewSubtitle);
AssertTrueIsDisplayed(takeNewSubtitle);
AssertTrueIsDisplayed(takeTypeLabel);
@@ -394,7 +392,6 @@ public void VerifyInitCreateForm()
public void VerifyCreatedTakeViewForm(Take take)
{
- Wait(4000);
var index = 0;
//Take Details
diff --git a/testing/PIMS.Tests.Automation/PageObjects/CDOGSTemplates.cs b/testing/PIMS.Tests.Automation/PageObjects/CDOGSTemplates.cs
index 6069b826f7..5b0d1c223b 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/CDOGSTemplates.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/CDOGSTemplates.cs
@@ -47,16 +47,13 @@ public CDOGSTemplates(IWebDriver webDriver) : base(webDriver)
public void NavigateAdminTemplates()
{
- Wait();
-
- WaitUntilClickable(adminToolsTemplatesLink);
- webDriver.FindElement(adminToolsTemplatesLink).Click();
+ SafeClick(adminToolsTemplatesLink);
}
public void SelectTemplateType(string type)
{
- Wait();
- ChooseSpecificSelectOption(adminToolsTemplateTypeSelect, type);
+ WaitUntilClickable(adminToolsTemplateTypeSelect);
+ ChooseSelectOption(adminToolsTemplateTypeSelect, type);
}
public void AddNewTemplate()
@@ -87,7 +84,7 @@ public void VerifyCDOGSListView()
public void Delete1stTemplate()
{
- Wait();
+ WaitUntilClickable(CDOGSTableResults1stDeleteBttn);
webDriver.FindElement(CDOGSTableResults1stDeleteBttn).Click();
WaitUntilVisible(documentDeleteHeader);
@@ -101,7 +98,7 @@ public void Delete1stTemplate()
public void VerifyTemplateExistence()
{
- Wait();
+ WaitUntilVisible(CDOGSTableResults1stDeleteBttn);
if (webDriver.FindElements(CDOGSTableResults1stDeleteBttn).Count == 1)
Delete1stTemplate();
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/Contacts.cs b/testing/PIMS.Tests.Automation/PageObjects/Contacts.cs
index d05f0fbbb2..e6f3b046fe 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/Contacts.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/Contacts.cs
@@ -185,24 +185,24 @@ public Contacts(IWebDriver webDriver) : base(webDriver)
//Navigates to Create a new Contact
public void NavigateToCreateNewContact()
{
- Wait();
+ WaitUntilClickable(menuContactsLink);
FocusAndClick(menuContactsLink);
- Wait();
+ WaitUntilClickable(createContactLink);
FocusAndClick(createContactLink);
}
//Create new Contact Button
public void CreateNewContactBttn()
{
- Wait();
+ WaitUntilClickable(createContactButton);
FocusAndClick(createContactButton);
}
//Creates Individual Contact with all fields
public void CreateIndividualContact(IndividualContact contact)
{
- Wait();
+ WaitUntilClickable(contactIndividualRadioBttn);
//Choosing individual contact option
FocusAndClick(contactIndividualRadioBttn);
@@ -218,31 +218,31 @@ public void CreateIndividualContact(IndividualContact contact)
webDriver.FindElement(contactIndOrgInput).SendKeys(Keys.Space);
webDriver.FindElement(contactIndOrgInput).SendKeys(Keys.Backspace);
- Wait();
- webDriver.FindElement(contactOrgName1stOption).Click();
+ WaitUntilClickable(contactOrgName1stOption);
+ SafeClick(contactOrgName1stOption);
}
//Inserting contact info
if (contact.IndEmail1 != "" && contact.IndEmailType1 != "")
{
webDriver.FindElement(contactEmailInput1).SendKeys(contact.IndEmail1);
- ChooseSpecificSelectOption(contactEmailSelect1, contact.IndEmailType1);
+ ChooseSelectOption(contactEmailSelect1, contact.IndEmailType1);
}
if (contact.IndEmail2 != "")
{
webDriver.FindElement(contactEmailAddBttn).Click();
webDriver.FindElement(contactEmailInput2).SendKeys(contact.IndEmail2);
- ChooseSpecificSelectOption(contactEmailSelect2, contact.IndEmailType2);
+ ChooseSelectOption(contactEmailSelect2, contact.IndEmailType2);
}
if (contact.IndPhone1 != "")
{
webDriver.FindElement(contactPhoneInput1).SendKeys(contact.IndPhone1);
- ChooseSpecificSelectOption(contactPhoneSelect1, contact.IndPhoneType1);
+ ChooseSelectOption(contactPhoneSelect1, contact.IndPhoneType1);
}
if (contact.IndPhone2 != "")
{
webDriver.FindElement(contactPhoneAddBttn).Click();
webDriver.FindElement(contactPhoneInput2).SendKeys(contact.IndPhone2);
- ChooseSpecificSelectOption(contactPhoneSelect2, contact.IndPhoneType2);
+ ChooseSelectOption(contactPhoneSelect2, contact.IndPhoneType2);
}
//Inserting contact mail address
@@ -260,14 +260,14 @@ public void CreateIndividualContact(IndividualContact contact)
webDriver.FindElement(contactMailAddressLine3Input).SendKeys(contact.IndMailAddress.AddressLine3);
}
- ChooseSpecificSelectOption(contactMailCountrySelect, contact.IndMailAddress.Country);
+ ChooseSelectOption(contactMailCountrySelect, contact.IndMailAddress.Country);
if (contact.IndMailAddress.Country == "Other")
{
webDriver.FindElement(contactMailOtherCountryInput).SendKeys(contact.IndMailAddress.OtherCountry);
}
else
{
- ChooseSpecificSelectOption(contactMailProvinceSelect, contact.IndMailAddress.Province);
+ ChooseSelectOption(contactMailProvinceSelect, contact.IndMailAddress.Province);
}
webDriver.FindElement(contactMailCityInput).SendKeys(contact.IndMailAddress.City);
webDriver.FindElement(contactMailPostalCodeInput).SendKeys(contact.IndMailAddress.PostalCode);
@@ -288,14 +288,14 @@ public void CreateIndividualContact(IndividualContact contact)
webDriver.FindElement(contactPropertyAddressLine3Input).SendKeys(contact.IndPropertyAddress.AddressLine3);
}
- ChooseSpecificSelectOption(contactPropertyCountrySelect, contact.IndPropertyAddress.Country);
+ ChooseSelectOption(contactPropertyCountrySelect, contact.IndPropertyAddress.Country);
if (contact.IndPropertyAddress.Country == "Other")
{
webDriver.FindElement(contactPropertyOtherCountryInput).SendKeys(contact.IndPropertyAddress.OtherCountry);
}
else
{
- ChooseSpecificSelectOption(contactPropertyProvinceSelect, contact.IndPropertyAddress.Province);
+ ChooseSelectOption(contactPropertyProvinceSelect, contact.IndPropertyAddress.Province);
}
webDriver.FindElement(contactPropertyCityInput).SendKeys(contact.IndPropertyAddress.City);
webDriver.FindElement(contactPropertyPostalCodeInput).SendKeys(contact.IndPropertyAddress.PostalCode);
@@ -315,14 +315,14 @@ public void CreateIndividualContact(IndividualContact contact)
webDriver.FindElement(contactBillingAddAddressLineBttn).Click();
webDriver.FindElement(contactBillingAddressLine3Input).SendKeys(contact.IndBillingAddress.AddressLine3);
}
- ChooseSpecificSelectOption(contactBillingCountrySelect, contact.IndBillingAddress.Country);
+ ChooseSelectOption(contactBillingCountrySelect, contact.IndBillingAddress.Country);
if (contact.IndBillingAddress.Country == "Other")
{
webDriver.FindElement(contactBillingOtherCountryInput).SendKeys(contact.IndBillingAddress.OtherCountry);
}
else
{
- ChooseSpecificSelectOption(contactBillingProvinceSelect, contact.IndBillingAddress.Province);
+ ChooseSelectOption(contactBillingProvinceSelect, contact.IndBillingAddress.Province);
}
webDriver.FindElement(contactBillingCityInput).SendKeys(contact.IndBillingAddress.City);
webDriver.FindElement(contactBillingPostalCodeInput).SendKeys(contact.IndBillingAddress.PostalCode);
@@ -335,7 +335,7 @@ public void CreateIndividualContact(IndividualContact contact)
//Creates Organization Contact with all fields
public void CreateOrganizationContact(OrganizationContact contact)
{
- Wait();
+ WaitUntilClickable(contactOrganizationRadioBttn);
//Choosing organization contact option
FocusAndClick(contactOrganizationRadioBttn);
@@ -355,24 +355,24 @@ public void CreateOrganizationContact(OrganizationContact contact)
if (contact.OrgEmail1 != "")
{
webDriver.FindElement(contactEmailInput1).SendKeys(contact.OrgEmail1);
- ChooseSpecificSelectOption(contactEmailSelect1, contact.OrgEmailType1);
+ ChooseSelectOption(contactEmailSelect1, contact.OrgEmailType1);
}
if (contact.OrgEmail2 != "")
{
webDriver.FindElement(contactEmailAddBttn).Click();
webDriver.FindElement(contactEmailInput2).SendKeys(contact.OrgEmail2);
- ChooseSpecificSelectOption(contactEmailSelect2, contact.OrgEmailType2);
+ ChooseSelectOption(contactEmailSelect2, contact.OrgEmailType2);
}
if (contact.OrgPhone1 != "")
{
webDriver.FindElement(contactPhoneInput1).SendKeys(contact.OrgPhone1);
- ChooseSpecificSelectOption(contactPhoneSelect1, contact.OrgPhoneType1);
+ ChooseSelectOption(contactPhoneSelect1, contact.OrgPhoneType1);
}
if (contact.OrgPhone2 != "")
{
webDriver.FindElement(contactPhoneAddBttn).Click();
webDriver.FindElement(contactPhoneInput2).SendKeys(contact.OrgPhone2);
- ChooseSpecificSelectOption(contactPhoneSelect2, contact.OrgPhoneType2);
+ ChooseSelectOption(contactPhoneSelect2, contact.OrgPhoneType2);
}
//Inserting contact mail address
@@ -390,14 +390,14 @@ public void CreateOrganizationContact(OrganizationContact contact)
webDriver.FindElement(contactMailAddressLine3Input).SendKeys(contact.OrgMailAddress.AddressLine3);
}
- ChooseSpecificSelectOption(contactMailCountrySelect, contact.OrgMailAddress.Country);
+ ChooseSelectOption(contactMailCountrySelect, contact.OrgMailAddress.Country);
if (contact.OrgMailAddress.Country == "Other")
{
webDriver.FindElement(contactMailOtherCountryInput).SendKeys(contact.OrgMailAddress.OtherCountry);
}
else
{
- ChooseSpecificSelectOption(contactMailProvinceSelect, contact.OrgMailAddress.Province);
+ ChooseSelectOption(contactMailProvinceSelect, contact.OrgMailAddress.Province);
}
webDriver.FindElement(contactMailCityInput).SendKeys(contact.OrgMailAddress.City);
webDriver.FindElement(contactMailPostalCodeInput).SendKeys(contact.OrgMailAddress.PostalCode);
@@ -418,14 +418,14 @@ public void CreateOrganizationContact(OrganizationContact contact)
webDriver.FindElement(contactPropertyAddressLine3Input).SendKeys(contact.OrgPropertyAddress.AddressLine3);
}
- ChooseSpecificSelectOption(contactPropertyCountrySelect, contact.OrgPropertyAddress.Country);
+ ChooseSelectOption(contactPropertyCountrySelect, contact.OrgPropertyAddress.Country);
if (contact.OrgPropertyAddress.Country == "Other")
{
webDriver.FindElement(contactPropertyOtherCountryInput).SendKeys(contact.OrgPropertyAddress.Country);
}
else
{
- ChooseSpecificSelectOption(contactPropertyProvinceSelect, contact.OrgPropertyAddress.Province);
+ ChooseSelectOption(contactPropertyProvinceSelect, contact.OrgPropertyAddress.Province);
}
webDriver.FindElement(contactPropertyCityInput).SendKeys(contact.OrgPropertyAddress.City);
webDriver.FindElement(contactPropertyPostalCodeInput).SendKeys(contact.OrgPropertyAddress.PostalCode);
@@ -445,14 +445,14 @@ public void CreateOrganizationContact(OrganizationContact contact)
webDriver.FindElement(contactBillingAddAddressLineBttn).Click();
webDriver.FindElement(contactBillingAddressLine3Input).SendKeys(contact.OrgBillingAddress.AddressLine3);
}
- ChooseSpecificSelectOption(contactBillingCountrySelect, contact.OrgBillingAddress.Country);
+ ChooseSelectOption(contactBillingCountrySelect, contact.OrgBillingAddress.Country);
if (contact.OrgBillingAddress.Country == "Other")
{
webDriver.FindElement(contactBillingOtherCountryInput).SendKeys(contact.OrgBillingAddress.OtherCountry);
}
else
{
- ChooseSpecificSelectOption(contactBillingProvinceSelect, contact.OrgBillingAddress.Province);
+ ChooseSelectOption(contactBillingProvinceSelect, contact.OrgBillingAddress.Province);
}
webDriver.FindElement(contactBillingCityInput).SendKeys(contact.OrgBillingAddress.City);
webDriver.FindElement(contactBillingPostalCodeInput).SendKeys(contact.OrgBillingAddress.PostalCode);
@@ -488,28 +488,28 @@ public void UpdateOrganizationContact(OrganizationContact contact)
WaitUntilClickable(contactEmailInput1);
ClearInput(contactEmailInput1);
webDriver.FindElement(contactEmailInput1).SendKeys(contact.OrgEmail1);
- ChooseSpecificSelectOption(contactEmailSelect1, contact.OrgEmailType1);
+ ChooseSelectOption(contactEmailSelect1, contact.OrgEmailType1);
}
if (contact.OrgEmail2 != "")
{
WaitUntilClickable(contactEmailInput2);
ClearInput(contactEmailInput2);
webDriver.FindElement(contactEmailInput2).SendKeys(contact.OrgEmail2);
- ChooseSpecificSelectOption(contactEmailSelect2, contact.OrgEmailType2);
+ ChooseSelectOption(contactEmailSelect2, contact.OrgEmailType2);
}
if (contact.OrgPhone1 != "")
{
WaitUntilClickable(contactPhoneInput1);
ClearInput(contactPhoneInput1);
webDriver.FindElement(contactPhoneInput1).SendKeys(contact.OrgPhone1);
- ChooseSpecificSelectOption(contactPhoneSelect1, contact.OrgPhoneType1);
+ ChooseSelectOption(contactPhoneSelect1, contact.OrgPhoneType1);
}
if (contact.OrgPhone2 != "")
{
WaitUntilClickable(contactPhoneInput2);
ClearInput(contactPhoneInput2);
webDriver.FindElement(contactPhoneInput2).SendKeys(contact.OrgPhone2);
- ChooseSpecificSelectOption(contactPhoneSelect2, contact.OrgPhoneType2);
+ ChooseSelectOption(contactPhoneSelect2, contact.OrgPhoneType2);
}
//Updating contact mail address
@@ -534,7 +534,7 @@ public void UpdateOrganizationContact(OrganizationContact contact)
webDriver.FindElement(contactMailAddressLine3Input).SendKeys(contact.OrgMailAddress.AddressLine3);
}
if(contact.OrgMailAddress.Country != "")
- ChooseSpecificSelectOption(contactMailCountrySelect, contact.OrgMailAddress.Country);
+ ChooseSelectOption(contactMailCountrySelect, contact.OrgMailAddress.Country);
if (contact.OrgMailAddress.Country == "Other")
{
ClearInput(contactMailOtherCountryInput);
@@ -542,7 +542,7 @@ public void UpdateOrganizationContact(OrganizationContact contact)
}
if(contact.OrgMailAddress.Province != "")
{
- ChooseSpecificSelectOption(contactMailProvinceSelect, contact.OrgMailAddress.Province);
+ ChooseSelectOption(contactMailProvinceSelect, contact.OrgMailAddress.Province);
}
if (contact.OrgMailAddress.City != "")
{
@@ -577,14 +577,14 @@ public void UpdateOrganizationContact(OrganizationContact contact)
webDriver.FindElement(contactPropertyAddressLine3Input).SendKeys(contact.OrgPropertyAddress.AddressLine3);
}
if(contact.OrgPropertyAddress.Country != "")
- ChooseSpecificSelectOption(contactPropertyCountrySelect, contact.OrgPropertyAddress.Country);
+ ChooseSelectOption(contactPropertyCountrySelect, contact.OrgPropertyAddress.Country);
if (contact.OrgPropertyAddress.Country == "Other")
{
ClearInput(contactPropertyOtherCountryInput);
webDriver.FindElement(contactPropertyOtherCountryInput).SendKeys(contact.OrgPropertyAddress.OtherCountry);
}
if(contact.OrgPropertyAddress.Province != "")
- ChooseSpecificSelectOption(contactPropertyProvinceSelect, contact.OrgPropertyAddress.Province);
+ ChooseSelectOption(contactPropertyProvinceSelect, contact.OrgPropertyAddress.Province);
if (contact.OrgPropertyAddress.City != "")
{
@@ -619,7 +619,7 @@ public void UpdateOrganizationContact(OrganizationContact contact)
webDriver.FindElement(contactBillingAddressLine3Input).SendKeys(contact.OrgBillingAddress.AddressLine3);
}
if(contact.OrgBillingAddress.Country != "")
- ChooseSpecificSelectOption(contactBillingCountrySelect, contact.OrgBillingAddress.Country);
+ ChooseSelectOption(contactBillingCountrySelect, contact.OrgBillingAddress.Country);
if (contact.OrgBillingAddress.Country == "Other")
{
ClearInput(contactBillingOtherCountryInput);
@@ -627,17 +627,17 @@ public void UpdateOrganizationContact(OrganizationContact contact)
}
if(contact.OrgBillingAddress.Province != "")
{
- ChooseSpecificSelectOption(contactBillingProvinceSelect, contact.OrgBillingAddress.Province);
+ ChooseSelectOption(contactBillingProvinceSelect, contact.OrgBillingAddress.Province);
}
if (contact.OrgBillingAddress.City != "")
{
- Wait();
+ WaitUntilVisible(contactBillingCityInput);
ClearInput(contactBillingCityInput);
webDriver.FindElement(contactBillingCityInput).SendKeys(contact.OrgBillingAddress.City);
}
if (contact.OrgBillingAddress.PostalCode != "")
{
- Wait();
+ WaitUntilVisible(contactBillingPostalCodeInput);
ClearInput(contactBillingPostalCodeInput);
webDriver.FindElement(contactBillingPostalCodeInput).SendKeys(contact.OrgBillingAddress.PostalCode);
}
@@ -654,7 +654,6 @@ public void UpdateIndividualContact(IndividualContact contact)
WaitUntilClickable(contactEditButton);
webDriver.FindElement(contactEditButton).Click();
- Wait();
//Updating individual personal details
if (contact.MiddleName != "")
{
@@ -681,36 +680,36 @@ public void UpdateIndividualContact(IndividualContact contact)
//Updating contact info
if (contact.IndEmail1 != "")
{
+ WaitUntilClickable(contactEmailInput1);
ClearInput(contactEmailInput1);
webDriver.FindElement(contactEmailInput1).SendKeys(contact.IndEmail1);
- ChooseSpecificSelectOption(contactEmailSelect1, contact.IndEmailType1);
+ ChooseSelectOption(contactEmailSelect1, contact.IndEmailType1);
}
- if (contact.IndEmail2 != "" && webDriver.FindElement(contactEmailInput2).Displayed)
+ if (contact.IndEmail2 != "")
{
ClearInput(contactEmailInput2);
webDriver.FindElement(contactEmailInput2).SendKeys(contact.IndEmail2);
- ChooseSpecificSelectOption(contactEmailSelect2, contact.IndEmailType2);
+ ChooseSelectOption(contactEmailSelect2, contact.IndEmailType2);
}
if (contact.IndPhone1 != "")
{
ClearInput(contactPhoneInput1);
webDriver.FindElement(contactPhoneInput1).SendKeys(contact.IndPhone1);
- ChooseSpecificSelectOption(contactPhoneSelect1, contact.IndPhoneType1);
+ ChooseSelectOption(contactPhoneSelect1, contact.IndPhoneType1);
}
- if (contact.IndPhone2 != "" && webDriver.FindElement(contactPhoneInput2).Displayed)
+ if (contact.IndPhone2 != "")
{
ClearInput(contactPhoneInput2);
webDriver.FindElement(contactPhoneInput2).SendKeys(contact.IndPhone2);
- ChooseSpecificSelectOption(contactPhoneSelect2, contact.IndPhoneType2);
+ ChooseSelectOption(contactPhoneSelect2, contact.IndPhoneType2);
}
//Updating contact mail address
if (contact.IndMailAddress.AddressLine1 != "")
{
while (webDriver.FindElements(contactAddressMailAddressRemoveBttn).Count > 0)
- {
FocusAndClick(contactAddressMailAddressRemoveBttn);
- }
+
ClearInput(contactMailAddressLine1Input);
webDriver.FindElement(contactMailAddressLine1Input).SendKeys(contact.IndMailAddress.AddressLine1);
@@ -726,14 +725,14 @@ public void UpdateIndividualContact(IndividualContact contact)
webDriver.FindElement(contactMailAddressLine3Input).SendKeys(contact.IndMailAddress.AddressLine3);
}
if (contact.IndMailAddress.Country != "")
- ChooseSpecificSelectOption(contactMailCountrySelect, contact.IndMailAddress.Country);
+ ChooseSelectOption(contactMailCountrySelect, contact.IndMailAddress.Country);
if (contact.IndMailAddress.Country == "Other")
{
ClearInput(contactMailOtherCountryInput);
webDriver.FindElement(contactMailOtherCountryInput).SendKeys(contact.IndMailAddress.OtherCountry);
}
if (contact.IndMailAddress.Province != "")
- ChooseSpecificSelectOption(contactMailProvinceSelect, contact.IndMailAddress.Province);
+ ChooseSelectOption(contactMailProvinceSelect, contact.IndMailAddress.Province);
if (contact.IndMailAddress.City != "")
{
@@ -767,14 +766,14 @@ public void UpdateIndividualContact(IndividualContact contact)
webDriver.FindElement(contactPropertyAddressLine3Input).SendKeys(contact.IndPropertyAddress.AddressLine3);
}
if (contact.IndPropertyAddress.Country != "")
- ChooseSpecificSelectOption(contactPropertyCountrySelect, contact.IndPropertyAddress.Country);
+ ChooseSelectOption(contactPropertyCountrySelect, contact.IndPropertyAddress.Country);
if (contact.IndPropertyAddress.Country == "Other")
{
ClearInput(contactPropertyOtherCountryInput);
webDriver.FindElement(contactPropertyOtherCountryInput).SendKeys(contact.IndPropertyAddress.OtherCountry);
}
if (contact.IndPropertyAddress.Province != "")
- ChooseSpecificSelectOption(contactPropertyProvinceSelect, contact.IndPropertyAddress.Province);
+ ChooseSelectOption(contactPropertyProvinceSelect, contact.IndPropertyAddress.Province);
if (contact.IndPropertyAddress.City != "")
{
ClearInput(contactPropertyCityInput);
@@ -807,7 +806,7 @@ public void UpdateIndividualContact(IndividualContact contact)
webDriver.FindElement(contactBillingAddressLine3Input).SendKeys(contact.IndBillingAddress.AddressLine3);
}
if (contact.IndBillingAddress.Country != "")
- ChooseSpecificSelectOption(contactBillingCountrySelect, contact.IndBillingAddress.Country);
+ ChooseSelectOption(contactBillingCountrySelect, contact.IndBillingAddress.Country);
if (contact.IndBillingAddress.Country == "Other")
{
ClearInput(contactBillingOtherCountryInput);
@@ -815,7 +814,7 @@ public void UpdateIndividualContact(IndividualContact contact)
}
if (contact.IndBillingAddress.Province != "")
{
- ChooseSpecificSelectOption(contactBillingProvinceSelect, contact.IndBillingAddress.Province);
+ ChooseSelectOption(contactBillingProvinceSelect, contact.IndBillingAddress.Province);
}
if (contact.IndBillingAddress.City != "")
{
@@ -852,10 +851,9 @@ public void SaveContact()
//Cancel Contact
public void CancelContact()
{
- Wait();
+ WaitUntilClickable(contactCancelButton);
FocusAndClick(contactCancelButton);
- Wait();
sharedModals.CancelActionModal();
AssertTrueIsDisplayed(contactsSearchTable);
@@ -864,7 +862,7 @@ public void CancelContact()
// ASSERT FUNCTIONS
public void VerifyIndividualContactView(IndividualContact contact)
{
- Wait();
+ WaitUntilVisible(contactEditButton);
//AssertTrueIsDisplayed(contactTitle);
AssertTrueIsDisplayed(contactEditButton);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/DigitalDocuments.cs b/testing/PIMS.Tests.Automation/PageObjects/DigitalDocuments.cs
index 18c2098c7a..d8aa6b07b6 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/DigitalDocuments.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/DigitalDocuments.cs
@@ -1,4 +1,5 @@
using OpenQA.Selenium;
+using OpenQA.Selenium.Support.UI;
using PIMS.Tests.Automation.Classes;
namespace PIMS.Tests.Automation.PageObjects
@@ -194,7 +195,7 @@ public class DigitalDocuments: PageObjectBase
private readonly By documentViewElectoralDistrictContent = By.XPath("//label[contains(text(),'Electoral district')]/parent::div/following-sibling::div");
private readonly By documentViewEndDateContent = By.XPath("//label[contains(text(),'End date')]/parent::div/following-sibling::div");
private readonly By documentViewFieldBookContent = By.XPath("//label[contains(text(),'Field book #/Year')]/parent::div/following-sibling::div");
- private readonly By documentViewFileNumberContent = By.XPath("//div[@class='pr-0 text-left col-4']/label[contains(text(),'MoTI file #')]/parent::div/following-sibling::div");
+ private readonly By documentViewFileNumberContent = By.XPath("//div[@class='pr-0 text-left col-4']/label[contains(text(),'File #')]/parent::div/following-sibling::div");
private readonly By documentViewGazetteDateContent = By.XPath("//label[contains(text(),'Gazette date')]/parent::div/following-sibling::div");
private readonly By documentViewGazettePageContent = By.XPath("//label[contains(text(),'Gazette page #')]/parent::div/following-sibling::div");
private readonly By documentViewGazettePublishedDateContent = By.XPath("//label[contains(text(),'Gazette published date')]/parent::div/following-sibling::div");
@@ -279,7 +280,7 @@ public class DigitalDocuments: PageObjectBase
private readonly By documentsTableColumnStatus = By.CssSelector("div[data-testid='main-document-list'] div[data-testid='documentsTable'] div[role='columnheader']:nth-child(4) div[class='sortable-column']");
private readonly By documentsTableColumnStatusSort = By.CssSelector("div[data-testid='main-document-list'] div[data-testid='sort-column-statusTypeCode']");
private readonly By documentsTableColumnActions = By.CssSelector("div[data-testid='main-document-list'] div[data-testid='documentsTable'] div[role='columnheader']:nth-child(1) div[class='sortable-column']");
- private readonly By documentTableContentTotal = By.CssSelector("div[data-testid='documentsTable'] div[class='tbody'] div[class='tr-wrapper']");
+ private readonly By documentTableContentTotal = By.CssSelector("div[data-testid='main-document-list'] div[data-testid='documentsTable'] div[class='tbody'] div[class='tr-wrapper']");
private readonly By documentTableWaitSpinner = By.CssSelector("div[class='table-loading']");
//Documents Tab Ad-hoc List Filters
@@ -403,7 +404,7 @@ public void NavigatePropertyDocumentsTab()
public void NavigateToFirstPageDocumentsTable()
{
- Wait();
+ WaitUntilClickable(documentPaginationPrevPageLink);
FocusAndClick(documentPaginationPrevPageLink);
}
@@ -415,14 +416,29 @@ public void AddNewDocumentButton()
public int DigitalDocumentsTableResultNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad(documentTableContentTotal);
+ var wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(60));
+
+ int lastCount = -1;
+
+ wait.Until(driver =>
+ {
+ var rows = driver.FindElements(documentTableContentTotal);
+ int currentCount = rows.Count;
+
+ if (currentCount == lastCount && currentCount > 4)
+ return true;
+
+ lastCount = currentCount;
+ return false;
+ });
+
return webDriver.FindElements(documentTableContentTotal).Count;
}
public void OrderByDocumentFileType()
{
- Wait();
- webDriver.FindElement(documentsTableColumnTypeSort).Click();
+ SafeClick(documentsTableColumnTypeSort);
}
public void OrderByDocumentFileName()
@@ -439,52 +455,52 @@ public void OrderByDocumentFileStatus()
public void OrderByActivityRelatedDocumentsType()
{
- Wait();
+ WaitUntilClickable(activitiesDocumentsColumnTypeSort);
FocusAndClick(activitiesDocumentsColumnTypeSort);
}
public string FirstDocumentFileType()
{
- WaitUntilTableSpinnerDisappear();
- Wait(1000);
+ WaitForTableToLoad();
+ WaitUntilVisible(documentTableResults1stDocumentTypeContent);
return webDriver.FindElement(documentTableResults1stDocumentTypeContent).Text;
}
public string FirstDocumentFileName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(documentTableResults1stDocumentNameContent).Text;
}
public string FirstDocumentFileStatus()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(documentTableResults1stDocumentStatusContent).Text;
}
public void FilterByType(string documentType)
{
- Wait();
+ WaitUntilClickable(documentFilterResetBttn);
webDriver.FindElement(documentFilterResetBttn).Click();
WaitUntilClickable(documentFilterTypeSelect);
- ChooseSpecificSelectOption(documentFilterTypeSelect, documentType);
+ ChooseSelectOption(documentFilterTypeSelect, documentType);
FocusAndClick(documentFilterSearchBttn);
}
public void FilterByStatus(string documentStatus)
{
- Wait();
+ WaitUntilClickable(documentFilterResetBttn);
webDriver.FindElement(documentFilterResetBttn).Click();
WaitUntilVisible(documentFilterStatusSelect);
- ChooseSpecificSelectOption(documentFilterStatusSelect, documentStatus);
+ ChooseSelectOption(documentFilterStatusSelect, documentStatus);
FocusAndClick(documentFilterSearchBttn);
}
public void FilterByName(string documentName)
{
- Wait();
+ WaitUntilClickable(documentFilterResetBttn);
webDriver.FindElement(documentFilterResetBttn).Click();
WaitUntilVisible(documentFilterNameInput);
@@ -492,6 +508,12 @@ public void FilterByName(string documentName)
FocusAndClick(documentFilterSearchBttn);
}
+ public void ResetFilters()
+ {
+ WaitUntilClickable(documentFilterResetBttn);
+ webDriver.FindElement(documentFilterResetBttn).Click();
+ }
+
public int TotalSearchDocuments()
{
return webDriver.FindElements(documentTableContentTotal).Count();
@@ -513,7 +535,7 @@ public void SaveDigitalDocumentUpload()
public void SaveDigitalDocumentUpdate()
{
- Wait();
+ WaitUntilClickable(documentSaveEditButton);
webDriver.FindElement(documentSaveEditButton).Click();
WaitUntilSpinnerDisappear();
}
@@ -550,7 +572,7 @@ public void CancelDigitalDocument()
public void CancelEditDigitalDocument()
{
- Wait();
+ WaitUntilClickable(documentCancelEditButton);
FocusAndClick(documentCancelEditButton);
WaitUntilVisible(documentConfirmationModal);
@@ -565,14 +587,14 @@ public void CancelEditDigitalDocument()
public void CloseDigitalDocumentViewDetails()
{
- Wait();
+ WaitUntilClickable(documentModalCloseIcon);
webDriver.FindElement(documentModalCloseIcon).Click();
}
public void View1stDocument()
{
- Wait();
- webDriver.FindElement(documentTableResults1stViewBttn).Click();
+ WaitUntilClickable(documentTableResults1stViewBttn);
+ SafeClick(documentTableResults1stViewBttn);
}
public void WaitUploadDocument()
@@ -584,12 +606,12 @@ public void WaitUploadDocument()
public void ViewUploadedDocument(int index)
{
- Wait();
+ WaitUntilClickable(documentPaginationNextPageLink);
if (index > 9)
FocusAndClick(documentPaginationNextPageLink);
- FocusAndClick(By.CssSelector("div[data-testid='documentsTable'] div[class='tbody'] button[data-testid='document-view-button-"+ index +"']"));
+ SafeClick(By.CssSelector("div[data-testid='documentsTable'] div[class='tbody'] button[data-testid='document-view-button-"+ index +"']"));
}
public void Delete1stDocument()
@@ -610,28 +632,27 @@ public void Delete1stDocument()
public void EditDocumentButton()
{
- Wait(2000);
+ WaitUntilClickable(documentEditBttn);
FocusAndClick(documentEditBttn);
}
public void InsertDocumentTypeStatus(DigitalDocument document, int docIdx)
{
- Wait();
By docTypeSelectElement = By.Id("input-documents."+ docIdx +".documentTypeId");
By statusSelectElement = By.Id("input-documents." +docIdx +".documentStatusCode");
- WaitUntilExist(docTypeSelectElement);
- ChooseSpecificSelectOption(docTypeSelectElement, document.DocumentType);
- ChooseSpecificSelectOption(statusSelectElement, document.DocumentStatus);
+ WaitUntilVisible(docTypeSelectElement);
+ ChooseSelectOption(docTypeSelectElement, document.DocumentType);
+ ChooseSelectOption(statusSelectElement, document.DocumentStatus);
- Wait();
- webDriver.FindElement(By.XPath("//select[@data-testid='documents."+ docIdx +".document-type']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::div/parent::div/following-sibling::div/*[1]")).Click();
+ var elementType = By.XPath("//select[@data-testid='documents."+ docIdx +".document-type']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::div/parent::div/following-sibling::div/*[1]");
+ WaitUntilClickable(elementType);
+ webDriver.FindElement(elementType).Click();
}
public void InsertDocumentTypeDetails(DigitalDocument document)
{
- Wait();
if (document.ApplicationNumber != "" && webDriver.FindElements(documentALCTypeAppNumberInput).Count > 0)
webDriver.FindElement(documentALCTypeAppNumberInput).SendKeys(document.ApplicationNumber);
@@ -786,8 +807,11 @@ public void InsertDocumentTypeDetails(DigitalDocument document)
public void UpdateNewDocumentType(DigitalDocument document)
{
- ChooseSpecificSelectOption(documentGeneralUpdateDocumentSelect, document.DocumentType);
- ChooseSpecificSelectOption(documentUploadStatusSelect, document.DocumentStatus);
+ Wait();
+ ChooseSelectOption(documentGeneralUpdateDocumentSelect, document.DocumentType);
+
+ WaitUntilClickable(documentUploadStatusSelect);
+ ChooseSelectOption(documentUploadStatusSelect, document.DocumentStatus);
if (document.CanadaLandSurvey != "" && webDriver.FindElements(documentCanLandSurveyTypeCanLandSurveyInput).Count > 0)
{
@@ -1028,7 +1052,7 @@ public void UpdateNewDocumentType(DigitalDocument document)
public void UpdateDocumentName(string documentName)
{
- Wait();
+ WaitUntilVisible(documentUpdateNameInput);
string fullString = webDriver.FindElement(documentUpdateNameInput).GetAttribute("value");
char separator = '.';
@@ -1118,8 +1142,6 @@ public void VerifyDocumentFields(string documentType)
public void VerifyFileDocumentsListView()
{
- WaitUntilVisible(documentFilterTypeSelect);
-
AssertTrueIsDisplayed(documentsTitle);
AssertTrueIsDisplayed(addDocumentBttn);
AssertTrueIsDisplayed(refresh1stTableBttn);
@@ -1142,7 +1164,7 @@ public void VerifyFileDocumentsListView()
public void VerifyManagementFilesDocumentsListView()
{
- Wait();
+ WaitUntilVisible(documentsTitle);
AssertTrueIsDisplayed(documentsTitle);
AssertTrueIsDisplayed(addDocumentBttn);
@@ -1286,7 +1308,6 @@ public void VerifyPaginationElements()
public void VerifyAdhocDocumentsList(DigitalDocument document, int index)
{
- Wait();
WaitUntilSpinnerDisappear();
var elementIndex = index +1;
@@ -1301,7 +1322,6 @@ public void VerifyAdhocDocumentsList(DigitalDocument document, int index)
public void VerifyPIMSFilesDocumentsList(DigitalDocument document, int index)
{
- Wait();
WaitUntilSpinnerDisappear();
var elementIndex = index +1;
@@ -1316,7 +1336,6 @@ public void VerifyPIMSFilesDocumentsList(DigitalDocument document, int index)
public void VerifyDocumentDetailsViewForm(DigitalDocument document)
{
- Wait();
WaitUntilSpinnerDisappear();
//Header
@@ -1494,37 +1513,30 @@ public void VerifyInitUploadDocumentForm()
AssertTrueIsDisplayed(documentsUploadHeader);
AssertTrueIsDisplayed(documentUploadInstructionsLabel);
AssertTrueIsDisplayed(documentUploadDragDropArea);
- WaitUntilExist(documentUploadDocInput);
}
public void ChoosePaginationOption(int pagination)
{
- Wait();
-
WaitUntilVisible(searchTableEntriesSpan);
- FocusAndClick(searchTableEntriesSpan);
+ SafeClick(searchTableEntriesSpan);
switch (pagination)
{
case 5:
- //WaitUntilClickable(searchTablePagination5);
- FocusAndClick(searchTablePagination5);
+ SafeClick(searchTablePagination5);
break;
case 10:
- //WaitUntilVisible(searchTablePagination10);
- FocusAndClick(searchTablePagination10);
+ SafeClick(searchTablePagination10);
break;
case 20:
- //WaitUntilClickable(searchTablePagination20);
- FocusAndClick(searchTablePagination20);
+ SafeClick(searchTablePagination20);
break;
case 50:
- //WaitUntilClickable(searchTablePagination50);
- FocusAndClick(searchTablePagination50);
+ SafeClick(searchTablePagination50);
break;
case 100:
- //WaitUntilClickable(searchTablePagination100);
- FocusAndClick(searchTablePagination100);
+
+ SafeClick(searchTablePagination100);
break;
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/DispositionChecklist.cs b/testing/PIMS.Tests.Automation/PageObjects/DispositionChecklist.cs
index d09cdc5182..b341c5b7b3 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/DispositionChecklist.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/DispositionChecklist.cs
@@ -164,7 +164,6 @@ public void EditChecklistButton()
public void SaveDispositionFileChecklist()
{
- Wait();
ButtonElement("Save");
AssertTrueIsDisplayed(checklistEditBttn);
@@ -172,7 +171,6 @@ public void SaveDispositionFileChecklist()
public void CancelDispositionFileChecklist()
{
- Wait();
ButtonElement("Cancel");
sharedModals.CancelActionModal();
@@ -180,7 +178,7 @@ public void CancelDispositionFileChecklist()
public void VerifyChecklistInitViewForm()
{
- Wait(2000);
+ WaitUntilVisible(checklistFileInitiationTitle);
AssertTrueIsDisplayed(checklistFileInitiationTitle);
AssertTrueIsDisplayed(checklistFileInitiation1Label);
@@ -433,86 +431,86 @@ public void VerifyChecklistViewForm(DispositionFileChecklist checklist)
public void UpdateChecklist(DispositionFileChecklist checklist)
{
- Wait();
+ WaitUntilClickable(checklistFileInitiationItem1Select);
if (checklist.FileInitiationSelect1 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem1Select, checklist.FileInitiationSelect1);
+ ChooseSelectOption(checklistFileInitiationItem1Select, checklist.FileInitiationSelect1);
if (checklist.FileInitiationSelect2 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem2Select, checklist.FileInitiationSelect2);
+ ChooseSelectOption(checklistFileInitiationItem2Select, checklist.FileInitiationSelect2);
if (checklist.FileInitiationSelect3 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem3Select, checklist.FileInitiationSelect3);
+ ChooseSelectOption(checklistFileInitiationItem3Select, checklist.FileInitiationSelect3);
if (checklist.FileInitiationSelect4 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem4Select, checklist.FileInitiationSelect4);
+ ChooseSelectOption(checklistFileInitiationItem4Select, checklist.FileInitiationSelect4);
if (checklist.DispositionPreparationSelect1 != "")
- ChooseSpecificSelectOption(checklistDispositionPreparationItem1Select, checklist.DispositionPreparationSelect1);
+ ChooseSelectOption(checklistDispositionPreparationItem1Select, checklist.DispositionPreparationSelect1);
if (checklist.DispositionPreparationSelect2 != "")
- ChooseSpecificSelectOption(checklistDispositionPreparationItem2Select, checklist.DispositionPreparationSelect2);
+ ChooseSelectOption(checklistDispositionPreparationItem2Select, checklist.DispositionPreparationSelect2);
if (checklist.DispositionPreparationSelect3 != "")
- ChooseSpecificSelectOption(checklistDispositionPreparationItem3Select, checklist.DispositionPreparationSelect3);
+ ChooseSelectOption(checklistDispositionPreparationItem3Select, checklist.DispositionPreparationSelect3);
if (checklist.DispositionPreparationSelect4 != "")
- ChooseSpecificSelectOption(checklistDispositionPreparationItem4Select, checklist.DispositionPreparationSelect4);
+ ChooseSelectOption(checklistDispositionPreparationItem4Select, checklist.DispositionPreparationSelect4);
if (checklist.ReferralsAndConsultationsSelect1 != "")
- ChooseSpecificSelectOption(checklistReferralsAndConsultationsItem1Select, checklist.ReferralsAndConsultationsSelect1);
+ ChooseSelectOption(checklistReferralsAndConsultationsItem1Select, checklist.ReferralsAndConsultationsSelect1);
if (checklist.ReferralsAndConsultationsSelect2 != "")
- ChooseSpecificSelectOption(checklistReferralsAndConsultationsItem2Select, checklist.ReferralsAndConsultationsSelect2);
+ ChooseSelectOption(checklistReferralsAndConsultationsItem2Select, checklist.ReferralsAndConsultationsSelect2);
if (checklist.ReferralsAndConsultationsSelect3 != "")
- ChooseSpecificSelectOption(checklistReferralsAndConsultationsItem3Select, checklist.ReferralsAndConsultationsSelect3);
+ ChooseSelectOption(checklistReferralsAndConsultationsItem3Select, checklist.ReferralsAndConsultationsSelect3);
if (checklist.ReferralsAndConsultationsSelect4 != "")
- ChooseSpecificSelectOption(checklistReferralsAndConsultationsItem4Select, checklist.ReferralsAndConsultationsSelect4);
+ ChooseSelectOption(checklistReferralsAndConsultationsItem4Select, checklist.ReferralsAndConsultationsSelect4);
if (checklist.ReferralsAndConsultationsSelect5 != "")
- ChooseSpecificSelectOption(checklistReferralsAndConsultationsItem5Select, checklist.ReferralsAndConsultationsSelect5);
+ ChooseSelectOption(checklistReferralsAndConsultationsItem5Select, checklist.ReferralsAndConsultationsSelect5);
if (checklist.ReferralsAndConsultationsSelect6 != "")
- ChooseSpecificSelectOption(checklistReferralsAndConsultationsItem6Select, checklist.ReferralsAndConsultationsSelect6);
+ ChooseSelectOption(checklistReferralsAndConsultationsItem6Select, checklist.ReferralsAndConsultationsSelect6);
if (checklist.DirectSaleRoadClosureSelect1 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem1Select, checklist.DirectSaleRoadClosureSelect1);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem1Select, checklist.DirectSaleRoadClosureSelect1);
if (checklist.DirectSaleRoadClosureSelect2 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem2Select, checklist.DirectSaleRoadClosureSelect2);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem2Select, checklist.DirectSaleRoadClosureSelect2);
if (checklist.DirectSaleRoadClosureSelect3 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem3Select, checklist.DirectSaleRoadClosureSelect3);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem3Select, checklist.DirectSaleRoadClosureSelect3);
if (checklist.DirectSaleRoadClosureSelect4 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem4Select, checklist.DirectSaleRoadClosureSelect4);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem4Select, checklist.DirectSaleRoadClosureSelect4);
if (checklist.DirectSaleRoadClosureSelect5 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem5Select, checklist.DirectSaleRoadClosureSelect5);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem5Select, checklist.DirectSaleRoadClosureSelect5);
if (checklist.DirectSaleRoadClosureSelect6 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem6Select, checklist.DirectSaleRoadClosureSelect6);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem6Select, checklist.DirectSaleRoadClosureSelect6);
if (checklist.DirectSaleRoadClosureSelect7 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem7Select, checklist.DirectSaleRoadClosureSelect7);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem7Select, checklist.DirectSaleRoadClosureSelect7);
if (checklist.DirectSaleRoadClosureSelect8 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem8Select, checklist.DirectSaleRoadClosureSelect8);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem8Select, checklist.DirectSaleRoadClosureSelect8);
if (checklist.DirectSaleRoadClosureSelect9 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem9Select, checklist.DirectSaleRoadClosureSelect9);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem9Select, checklist.DirectSaleRoadClosureSelect9);
if (checklist.DirectSaleRoadClosureSelect10 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem10Select, checklist.DirectSaleRoadClosureSelect10);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem10Select, checklist.DirectSaleRoadClosureSelect10);
if (checklist.DirectSaleRoadClosureSelect11 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem11Select, checklist.DirectSaleRoadClosureSelect11);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem11Select, checklist.DirectSaleRoadClosureSelect11);
if (checklist.DirectSaleRoadClosureSelect12 != "")
- ChooseSpecificSelectOption(checklistDirectSaleRoadClosureItem12Select, checklist.DirectSaleRoadClosureSelect12);
+ ChooseSelectOption(checklistDirectSaleRoadClosureItem12Select, checklist.DirectSaleRoadClosureSelect12);
if (checklist.SaleInformationSelect1 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem1Select, checklist.SaleInformationSelect1);
+ ChooseSelectOption(checklistSaleInformationItem1Select, checklist.SaleInformationSelect1);
if (checklist.SaleInformationSelect2 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem2Select, checklist.SaleInformationSelect2);
+ ChooseSelectOption(checklistSaleInformationItem2Select, checklist.SaleInformationSelect2);
if (checklist.SaleInformationSelect3 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem3Select, checklist.SaleInformationSelect3);
+ ChooseSelectOption(checklistSaleInformationItem3Select, checklist.SaleInformationSelect3);
if (checklist.SaleInformationSelect4 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem4Select, checklist.SaleInformationSelect4);
+ ChooseSelectOption(checklistSaleInformationItem4Select, checklist.SaleInformationSelect4);
if (checklist.SaleInformationSelect5 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem5Select, checklist.SaleInformationSelect5);
+ ChooseSelectOption(checklistSaleInformationItem5Select, checklist.SaleInformationSelect5);
if (checklist.SaleInformationSelect6 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem6Select, checklist.SaleInformationSelect6);
+ ChooseSelectOption(checklistSaleInformationItem6Select, checklist.SaleInformationSelect6);
if (checklist.SaleInformationSelect7 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem7Select, checklist.SaleInformationSelect7);
+ ChooseSelectOption(checklistSaleInformationItem7Select, checklist.SaleInformationSelect7);
if (checklist.SaleInformationSelect8 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem8Select, checklist.SaleInformationSelect8);
+ ChooseSelectOption(checklistSaleInformationItem8Select, checklist.SaleInformationSelect8);
if (checklist.SaleInformationSelect9 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem9Select, checklist.SaleInformationSelect9);
+ ChooseSelectOption(checklistSaleInformationItem9Select, checklist.SaleInformationSelect9);
if (checklist.SaleInformationSelect10 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem10Select, checklist.SaleInformationSelect10);
+ ChooseSelectOption(checklistSaleInformationItem10Select, checklist.SaleInformationSelect10);
if (checklist.SaleInformationSelect11 != "")
- ChooseSpecificSelectOption(checklistSaleInformationItem11Select, checklist.SaleInformationSelect11);
+ ChooseSelectOption(checklistSaleInformationItem11Select, checklist.SaleInformationSelect11);
}
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/DispositionFileDetails.cs b/testing/PIMS.Tests.Automation/PageObjects/DispositionFileDetails.cs
index b81deb65b6..f44ee1d449 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/DispositionFileDetails.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/DispositionFileDetails.cs
@@ -136,10 +136,10 @@ public DispositionFileDetails(IWebDriver webDriver) : base(webDriver)
public void NavigateToCreateNewDipositionFile()
{
- Wait();
+ WaitUntilClickable(menuDispositionButton);
FocusAndClick(menuDispositionButton);
- Wait();
+ WaitUntilClickable(createDispositionFileButton);
FocusAndClick(createDispositionFileButton);
}
@@ -163,23 +163,23 @@ public void EditDispositionFileBttn()
public void CreateMinimumDispositionFile(DispositionFile disposition)
{
- Wait();
+ WaitUntilVisible(dispositionFileDetailsNameInput);
webDriver.FindElement(dispositionFileDetailsNameInput).SendKeys(disposition.DispositionFileName);
- ChooseSpecificSelectOption(dispositionFileDetailsStatusSelect, disposition.DispositionStatus);
- ChooseSpecificSelectOption(dispositionFileDetailsTypeSelect, disposition.DispositionType);
+ ChooseSelectOption(dispositionFileDetailsStatusSelect, disposition.DispositionStatus);
+ ChooseSelectOption(dispositionFileDetailsTypeSelect, disposition.DispositionType);
if(disposition.DispositionType.Equals("Other Transfer"))
webDriver.FindElement(dispositionFileDetailsOtherTransferTypeInput).SendKeys(disposition.DispositionOtherTransferType);
- ChooseSpecificSelectOption(dispositionFileDetailsMOTIRegionSelect, disposition.DispositionMOTIRegion);
+ ChooseSelectOption(dispositionFileDetailsMOTIRegionSelect, disposition.DispositionMOTIRegion);
}
public void AddAdditionalInformation(DispositionFile disposition)
{
//Status
if (disposition.DispositionFileStatus != "")
- ChooseSpecificSelectOption(dispositionFileStatusSelect, disposition.DispositionFileStatus);
+ ChooseSelectOption(dispositionFileStatusSelect, disposition.DispositionFileStatus);
//Project
if (disposition.DispositionProject != "")
@@ -187,26 +187,25 @@ public void AddAdditionalInformation(DispositionFile disposition)
WaitUntilVisible(dispositionFileProjectInput);
webDriver.FindElement(dispositionFileProjectInput).SendKeys(disposition.DispositionProject);
- Wait();
+ WaitUntilClickable(dispositionFileProjectInput);
webDriver.FindElement(dispositionFileProjectInput).SendKeys(Keys.Space);
- Wait();
+ WaitUntilClickable(dispositionFileProjectInput);
webDriver.FindElement(dispositionFileProjectInput).SendKeys(Keys.Backspace);
- Wait(2000);
+ Wait();
FocusAndClick(dispositionFileProject1stOption);
}
if (disposition.DispositionProjProduct != "")
{
- WaitUntilVisible(dispositionFileProjectProductSelect);
- webDriver.FindElement(dispositionFileProjectProductSelect).Click();
-
- ChooseSpecificSelectOption(dispositionFileProjectProductSelect, disposition.DispositionProjProduct);
+ WaitUntilClickable(dispositionFileProjectProductSelect);
+ SafeClick(dispositionFileProjectProductSelect);
+ ChooseSelectOption(dispositionFileProjectProductSelect, disposition.DispositionProjProduct);
}
if (disposition.DispositionProjFunding != "")
- ChooseSpecificSelectOption(dispositionFileProjectFundingInput, disposition.DispositionProjFunding);
+ ChooseSelectOption(dispositionFileProjectFundingInput, disposition.DispositionProjFunding);
//Disposition Details
@@ -231,10 +230,10 @@ public void AddAdditionalInformation(DispositionFile disposition)
}
if (disposition.DispositionStatus != "")
- ChooseSpecificSelectOption(dispositionFileDetailsStatusSelect, disposition.DispositionStatus);
+ ChooseSelectOption(dispositionFileDetailsStatusSelect, disposition.DispositionStatus);
if (disposition.DispositionType != "")
- ChooseSpecificSelectOption(dispositionFileDetailsTypeSelect, disposition.DispositionType);
+ ChooseSelectOption(dispositionFileDetailsTypeSelect, disposition.DispositionType);
if (disposition.DispositionOtherTransferType != "")
{
@@ -243,7 +242,7 @@ public void AddAdditionalInformation(DispositionFile disposition)
}
if (disposition.InitiatingDocument != "")
- ChooseSpecificSelectOption(dispositionFileDetailsInitiatingDocumentSelect, disposition.InitiatingDocument);
+ ChooseSelectOption(dispositionFileDetailsInitiatingDocumentSelect, disposition.InitiatingDocument);
if (disposition.OtherInitiatingDocument != "")
{
@@ -259,18 +258,16 @@ public void AddAdditionalInformation(DispositionFile disposition)
}
if (disposition.DispositionPhysicalFileStatus != "")
- ChooseSpecificSelectOption(dispositionFileDetailsPhysicalFileSelect, disposition.DispositionPhysicalFileStatus);
+ ChooseSelectOption(dispositionFileDetailsPhysicalFileSelect, disposition.DispositionPhysicalFileStatus);
if (disposition.InitiatingBranch != "")
- ChooseSpecificSelectOption(dispositionFileDetailsInitiatingBranchSelect, disposition.InitiatingBranch);
+ ChooseSelectOption(dispositionFileDetailsInitiatingBranchSelect, disposition.InitiatingBranch);
//Disposition File Team Members
if (disposition.DispositionTeam.Count > 0)
{
for (var i = 0; i < disposition.DispositionTeam.Count; i++)
- {
AddTeamMembers(disposition.DispositionTeam[i]);
- }
}
}
@@ -280,7 +277,7 @@ public void UpdateDispositionFile(DispositionFile disposition)
if (disposition.DispositionFileStatus != "")
{
WaitUntilClickable(dispositionFileStatusSelect);
- ChooseSpecificSelectOption(dispositionFileStatusSelect, disposition.DispositionFileStatus);
+ ChooseSelectOption(dispositionFileStatusSelect, disposition.DispositionFileStatus);
}
//Project
@@ -289,13 +286,13 @@ public void UpdateDispositionFile(DispositionFile disposition)
WaitUntilVisible(dispositionFileProjectInput);
webDriver.FindElement(dispositionFileProjectInput).SendKeys(disposition.DispositionProject);
- Wait();
+ WaitUntilVisible(dispositionFileProjectInput);
webDriver.FindElement(dispositionFileProjectInput).SendKeys(Keys.Space);
- Wait();
+ WaitUntilVisible(dispositionFileProjectInput);
webDriver.FindElement(dispositionFileProjectInput).SendKeys(Keys.Backspace);
- Wait(2000);
+ WaitUntilClickable(dispositionFileProject1stOption);
FocusAndClick(dispositionFileProject1stOption);
}
@@ -304,11 +301,11 @@ public void UpdateDispositionFile(DispositionFile disposition)
WaitUntilVisible(dispositionFileProjectProductSelect);
webDriver.FindElement(dispositionFileProjectProductSelect).Click();
- ChooseSpecificSelectOption(dispositionFileProjectProductSelect, disposition.DispositionProjProduct);
+ ChooseSelectOption(dispositionFileProjectProductSelect, disposition.DispositionProjProduct);
}
if (disposition.DispositionProjFunding != "")
- ChooseSpecificSelectOption(dispositionFileProjectFundingInput, disposition.DispositionProjFunding);
+ ChooseSelectOption(dispositionFileProjectFundingInput, disposition.DispositionProjFunding);
//Schedule
if (disposition.DispositionAssignedDate != "")
@@ -339,13 +336,13 @@ public void UpdateDispositionFile(DispositionFile disposition)
}
if (disposition.DispositionStatus != "")
- ChooseSpecificSelectOption(dispositionFileDetailsStatusSelect, disposition.DispositionStatus);
+ ChooseSelectOption(dispositionFileDetailsStatusSelect, disposition.DispositionStatus);
if (disposition.DispositionType != "")
- ChooseSpecificSelectOption(dispositionFileDetailsTypeSelect, disposition.DispositionType);
+ ChooseSelectOption(dispositionFileDetailsTypeSelect, disposition.DispositionType);
if (disposition.InitiatingDocument != "")
- ChooseSpecificSelectOption(dispositionFileDetailsInitiatingDocumentSelect, disposition.InitiatingDocument);
+ ChooseSelectOption(dispositionFileDetailsInitiatingDocumentSelect, disposition.InitiatingDocument);
if (disposition.OtherInitiatingDocument != "")
{
@@ -361,13 +358,13 @@ public void UpdateDispositionFile(DispositionFile disposition)
}
if (disposition.DispositionPhysicalFileStatus != "")
- ChooseSpecificSelectOption(dispositionFileDetailsPhysicalFileSelect, disposition.DispositionPhysicalFileStatus);
+ ChooseSelectOption(dispositionFileDetailsPhysicalFileSelect, disposition.DispositionPhysicalFileStatus);
if (disposition.InitiatingBranch != "")
- ChooseSpecificSelectOption(dispositionFileDetailsInitiatingBranchSelect, disposition.InitiatingBranch);
+ ChooseSelectOption(dispositionFileDetailsInitiatingBranchSelect, disposition.InitiatingBranch);
if (disposition.DispositionMOTIRegion != "")
- ChooseSpecificSelectOption(dispositionFileDetailsMOTIRegionSelect, disposition.DispositionMOTIRegion);
+ ChooseSelectOption(dispositionFileDetailsMOTIRegionSelect, disposition.DispositionMOTIRegion);
//Disposition File Team Members
if (disposition.DispositionTeam.Count > 0)
@@ -376,15 +373,12 @@ public void UpdateDispositionFile(DispositionFile disposition)
DeleteFirstStaffMember();
for (var i = 0; i < disposition.DispositionTeam.Count; i++)
- {
AddTeamMembers(disposition.DispositionTeam[i]);
- }
}
}
public void SaveDispositionFileDetails()
{
- Wait();
ButtonElement("Save");
Wait();
@@ -395,13 +389,14 @@ public void SaveDispositionFileDetails()
Assert.Equal("User Override Required", sharedModals.ModalHeader());
Assert.Equal("You are changing this file to a non-editable state. (Only system administrators can edit the file when set to Archived, Cancelled or Completed state). Do you wish to continue?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
-
+ Wait(500);
}
else if (sharedModals.ModalContent().Contains("The Ministry region has been changed"))
{
Assert.Equal("User Override Required", sharedModals.ModalHeader());
Assert.Equal("The Ministry region has been changed, this will result in a change to the file's prefix. This requires user confirmation.", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
+ Wait(500);
}
else if (sharedModals.ModalHeader() == "Confirm status change")
{
@@ -409,27 +404,22 @@ public void SaveDispositionFileDetails()
Assert.Contains("If you save it, only the administrator can turn it back on. You will still see it in the management table.", sharedModals.ConfirmationModalParagraph1());
Assert.Equal("Do you want to acknowledge and proceed?", sharedModals.ConfirmationModalParagraph2());
sharedModals.ModalClickOKBttn();
-
- Wait();
+ Wait(500);
}
- if (sharedModals.ModalContent().Contains("You are completing this Disposition File with owned PIMS inventory properties"))
+ else if (sharedModals.ModalContent().Contains("You are completing this Disposition File with owned PIMS inventory properties"))
{
Assert.Equal("User Override Required", sharedModals.ModalHeader());
Assert.Equal("You are completing this Disposition File with owned PIMS inventory properties. All properties will be removed from the PIMS inventory (any Other Interests will remain). Do you wish to proceed?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
-
+ Wait(500);
}
else if (sharedModals.ModalHeader() == "Error")
break;
-
- Wait();
}
-
}
public void CancelDispositionFile()
{
- Wait();
ButtonElement("Cancel");
sharedModals.CancelActionModal();
@@ -437,7 +427,7 @@ public void CancelDispositionFile()
public void CloseDispositionForm()
{
- Wait();
+ WaitUntilClickable(dispositionFileCloseFormBttn);
webDriver.FindElement(dispositionFileCloseFormBttn).Click();
}
@@ -634,10 +624,10 @@ public void VerifyDispositionFileView(DispositionFile disposition)
if (disposition.DispositionTeam[i].TeamMemberPrimaryContact != "")
{
index++;
- if (webDriver.FindElements(By.XPath("//h2/div/div[contains(text(),'Disposition Team')]/parent::div/parent::h2/following-sibling::div/div[" + index + "]/div/a")).Count > 0)
- AssertTrueContentEquals(By.XPath("//h2/div/div[contains(text(),'Disposition Team')]/parent::div/parent::h2/following-sibling::div/div[" + index + "]/div/a"), disposition.DispositionTeam[i].TeamMemberPrimaryContact);
+ if (webDriver.FindElements(By.XPath("//div[contains(text(),'Disposition Team')]/parent::div/parent::h2/following-sibling::div/div[" + index + "]/div/a/span")).Count > 0)
+ AssertTrueContentEquals(By.XPath("//div[contains(text(),'Disposition Team')]/parent::div/parent::h2/following-sibling::div/div[" + index + "]/div/a/span"), disposition.DispositionTeam[i].TeamMemberPrimaryContact);
else
- AssertTrueContentEquals(By.XPath("//h2/div/div[contains(text(),'Disposition Team')]/parent::div/parent::h2/following-sibling::div/div[" + index + "]/div[2]"), disposition.DispositionTeam[i].TeamMemberPrimaryContact);
+ AssertTrueContentEquals(By.XPath("//div[contains(text(),'Disposition Team')]/parent::div/parent::h2/following-sibling::div/div["+ index +"]/div[2]"), disposition.DispositionTeam[i].TeamMemberPrimaryContact);
}
index++;
}
@@ -703,17 +693,16 @@ private void AddTeamMembers(TeamMember teamMember)
WaitUntilClickable(dispositionFileAddAnotherMemberLink);
FocusAndClick(dispositionFileAddAnotherMemberLink);
- Wait();
var teamMemberIndex = webDriver.FindElements(dispositionFileTeamMembersGroup).Count() -1;
WaitUntilVisible(By.CssSelector("select[id='input-team."+ teamMemberIndex +".teamProfileTypeCode']"));
- ChooseSpecificSelectOption(By.CssSelector("select[id='input-team."+ teamMemberIndex +".teamProfileTypeCode']"), teamMember.TeamMemberRole);
+ ChooseSelectOption(By.CssSelector("select[id='input-team."+ teamMemberIndex +".teamProfileTypeCode']"), teamMember.TeamMemberRole);
FocusAndClick(By.CssSelector("div[data-testid='teamMemberRow["+ teamMemberIndex +"]'] div[data-testid='contact-input'] button[title='Select Contact']"));
sharedSelectContact.SelectContact(teamMember.TeamMemberContactName, teamMember.TeamMemberContactType);
Wait();
if (webDriver.FindElements(By.Id("input-team."+ teamMemberIndex +".primaryContactId")).Count > 0)
- ChooseSpecificSelectOption(By.Id("input-team."+ teamMemberIndex +".primaryContactId"), teamMember.TeamMemberPrimaryContact);
+ ChooseSelectOption(By.Id("input-team."+ teamMemberIndex +".primaryContactId"), teamMember.TeamMemberPrimaryContact);
}
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/DispositionOfferSale.cs b/testing/PIMS.Tests.Automation/PageObjects/DispositionOfferSale.cs
index f3c4a26d0c..bde896b6f5 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/DispositionOfferSale.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/DispositionOfferSale.cs
@@ -142,34 +142,32 @@ public DispositionOfferSale(IWebDriver webDriver) : base(webDriver)
public void NavigateoffersAndSaleTab()
{
- Wait();
+ WaitUntilClickable(offersAndSaleTab);
webDriver.FindElement(offersAndSaleTab).Click();
}
public void EditAppraisalAndAssessmentButton()
{
- Wait();
+ WaitUntilClickable(dispositionAppraisalEditButton);
webDriver.FindElement(dispositionAppraisalEditButton).Click();
}
public void EditSalesDetailsButton()
{
- Wait(2000);
- webDriver.FindElement(dispositionSalesDetailsEditButton).Click();
+ SafeClick(dispositionSalesDetailsEditButton);
}
public void SaveDispositionFileOffersAndSale()
{
- Wait();
ButtonElement("Save");
}
public void DeleteOffer(int index)
{
- Wait();
+ WaitUntilClickable(By.CssSelector("button[data-testid='Offer["+ index +"].delete-btn']"));
webDriver.FindElement(By.CssSelector("button[data-testid='Offer["+ index +"].delete-btn']")).Click();
- Wait();
+ WaitUntilVisible(dispositionFileConfirmationModal);
if (webDriver.FindElements(dispositionFileConfirmationModal).Count() > 0)
{
Assert.Equal("Delete Offer", sharedModals.ModalHeader());
@@ -182,7 +180,6 @@ public void DeleteOffer(int index)
public void CancelDispositionFileOffersAndSale()
{
- Wait();
ButtonElement("Cancel");
if (webDriver.FindElements(dispositionFileConfirmationModal).Count() > 0)
@@ -199,7 +196,7 @@ public void CancelDispositionFileOffersAndSale()
public void CreateNewAppraisalAndAssessment(DispositionFile dispositionFile)
{
- Wait();
+ WaitUntilClickable(dispositionAppraisalValueInput);
webDriver.FindElement(dispositionAppraisalValueInput).SendKeys(dispositionFile.AppraisalAndAssessmentValue);
@@ -223,14 +220,14 @@ public void CreateNewAppraisalAndAssessment(DispositionFile dispositionFile)
public void CreateNewOffer(DispositionOfferAndSale offer)
{
- Wait();
+ WaitUntilClickable(addOffersButton);
webDriver.FindElement(addOffersButton).Click();
VerifyInitOfferForm();
- Wait();
+ WaitUntilClickable(dispositionOfferStatusSelect);
if(offer.OfferOfferStatus != "")
- ChooseSpecificSelectOption(dispositionOfferStatusSelect, offer.OfferOfferStatus);
+ ChooseSelectOption(dispositionOfferStatusSelect, offer.OfferOfferStatus);
if (offer.OfferOfferName != "")
webDriver.FindElement(dispositionOfferNameInput).SendKeys(offer.OfferOfferName);
@@ -262,7 +259,7 @@ public void CreateNewOffer(DispositionOfferAndSale offer)
public void UpdateAppraisalAndAssessment(DispositionFile dispositionFile)
{
- Wait();
+ WaitUntilClickable(dispositionAppraisalValueInput);
if (dispositionFile.AppraisalAndAssessmentValue != "")
{
ClearInput(dispositionAppraisalValueInput);
@@ -298,12 +295,12 @@ public void UpdateAppraisalAndAssessment(DispositionFile dispositionFile)
public void UpdateOffers(DispositionOfferAndSale offerUpdate, int index) {
- Wait(5000);
+ WaitUntilClickable(By.CssSelector("button[data-testid='Offer["+ index +"].edit-btn']"));
webDriver.FindElement(By.CssSelector("button[data-testid='Offer["+ index +"].edit-btn']")).Click();
- Wait();
+ WaitUntilClickable(dispositionOfferStatusSelect);
if(offerUpdate.OfferOfferStatus != "")
- ChooseSpecificSelectOption(dispositionOfferStatusSelect, offerUpdate.OfferOfferStatus);
+ ChooseSelectOption(dispositionOfferStatusSelect, offerUpdate.OfferOfferStatus);
if (offerUpdate.OfferOfferName != "")
{
@@ -344,7 +341,6 @@ public void InsertSalesDetails(DispositionFile dispositionFile)
{
webDriver.FindElement(dispositionSalesDetails1stPurchaserNameDeleteBttn).Click();
- Wait();
Assert.Equal("Remove Purchaser", sharedModals.ModalHeader());
Assert.Equal("Do you wish to remove this purchaser?", sharedModals.ModalContent());
@@ -364,9 +360,9 @@ public void InsertSalesDetails(DispositionFile dispositionFile)
sharedSelectContact.SelectContact(dispositionFile.PurchaserAgent, dispositionFile.PurchaserAgentType);
}
- Wait();
+ Wait(500);
if (webDriver.FindElements(dispositionSalesDetailsPurchaserAgentPrimaryContactSelect).Count > 0)
- ChooseSpecificSelectOption(dispositionSalesDetailsPurchaserAgentPrimaryContactSelect, dispositionFile.PurchaserAgentPrimaryContact);
+ ChooseSelectOption(dispositionSalesDetailsPurchaserAgentPrimaryContactSelect, dispositionFile.PurchaserAgentPrimaryContact);
if (dispositionFile.PurchaserSolicitor != "")
{
@@ -375,9 +371,9 @@ public void InsertSalesDetails(DispositionFile dispositionFile)
sharedSelectContact.SelectContact(dispositionFile.PurchaserSolicitor, dispositionFile.PurchaserSolicitorType);
}
- Wait();
+ Wait(500);
if (webDriver.FindElements(dispositionSalesDetailsPurchaserSolicitorPrimaryContactSelect).Count > 0)
- ChooseSpecificSelectOption(dispositionSalesDetailsPurchaserSolicitorPrimaryContactSelect, dispositionFile.PurchaserSolicitorPrimaryContact);
+ ChooseSelectOption(dispositionSalesDetailsPurchaserSolicitorPrimaryContactSelect, dispositionFile.PurchaserSolicitorPrimaryContact);
if (dispositionFile.LastConditionRemovalDate != "")
{
@@ -410,9 +406,9 @@ public void InsertSalesDetails(DispositionFile dispositionFile)
webDriver.FindElement(dispositionSalesDetailsRealtorCommissionInput).SendKeys(dispositionFile.RealtorCommission);
}
- ChooseSpecificSelectOption(dispositionSalesDetailsGSTSelect, dispositionFile.GSTRequired);
+ ChooseSelectOption(dispositionSalesDetailsGSTSelect, dispositionFile.GSTRequired);
- Wait();
+ Wait(500);
if (webDriver.FindElements(dispositionFileConfirmationModal).Count > 0)
{
Assert.Equal("Confirm Change", sharedModals.ModalHeader());
@@ -564,7 +560,6 @@ public void VerifyCreatedAppraisalAndAssessment(DispositionFile disposition)
public void VerifyCreatedOffer(DispositionOfferAndSale offer, int index)
{
- Wait();
var totalOffers = index + 1;
AssertTrueIsDisplayed(By.XPath("//div[contains(text(),'Offers')]/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ totalOffers +"]/div/div/label[contains(text(),'Offer status')]"));
@@ -587,8 +582,6 @@ public void VerifyCreatedOffer(DispositionOfferAndSale offer, int index)
AssertTrueIsDisplayed(By.XPath("//div[contains(text(),'Offers')]/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ totalOffers +"]/div/div/label[contains(text(),'Comments')]"));
if(offer.OfferNotes != "")
AssertTrueContentEquals(By.CssSelector("div[data-testid='offer["+ index +"].notes']"), offer.OfferNotes);
-
-
}
public void VerifyCreatedSalesDetails(DispositionFile disposition)
@@ -664,7 +657,6 @@ public void VerifyCreatedSalesDetails(DispositionFile disposition)
public void VerifySalePriceError()
{
- Wait();
Assert.Equal("Error", sharedModals.ModalHeader());
Assert.Equal("You have not added a Sales Price. Please add a Sales Price before completion.", sharedModals.ModalContent());
}
@@ -696,7 +688,7 @@ private void VerifyInitOfferForm()
private void AddPurchaseNames(PurchaseMember purchaseMember, int index)
{
- Wait();
+ WaitUntilClickable(dispositionSalesDetailsPurchaserNameLink);
FocusAndClick(dispositionSalesDetailsPurchaserNameLink);
FocusAndClick(By.CssSelector("div[data-testid='purchaserRow["+ index +"]'] button[title='Select Contact']"));
diff --git a/testing/PIMS.Tests.Automation/PageObjects/FinancialCodes.cs b/testing/PIMS.Tests.Automation/PageObjects/FinancialCodes.cs
index 7dea98748c..a716dc2d1f 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/FinancialCodes.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/FinancialCodes.cs
@@ -101,7 +101,7 @@ public void CreateNewFinancialCodeBttn()
public void CreateNewFinancialCode(FinancialCode financialCode)
{
WaitUntilClickable(financialCodeFormTypeSelect);
- ChooseSpecificSelectOption(financialCodeFormTypeSelect, financialCode.FinnCodeType);
+ ChooseSelectOption(financialCodeFormTypeSelect, financialCode.FinnCodeType);
webDriver.FindElement(financialCodeFormValueInput).SendKeys(financialCode.FinnCodeValue);
webDriver.FindElement(financialCodeFormDescriptionInput).SendKeys(financialCode.FinnCodeDescription);
webDriver.FindElement(financialCodeFormOrderInput).SendKeys(financialCode.FinnDisplayOrder);
@@ -127,7 +127,7 @@ public void CancelFinancialCode()
WaitUntilClickable(financialCodeFormCancelBttn);
webDriver.FindElement(financialCodeFormCancelBttn).Click();
- Wait();
+ WaitUntilVisible(financialCodeModal);
if (webDriver.FindElements(financialCodeModal).Count > 0)
{
Assert.Equal("Confirm Changes", sharedModals.ModalHeader());
@@ -140,8 +140,7 @@ public void CancelFinancialCode()
public void FilterFinancialCode(string value)
{
- WaitUntilClickable(financialCodeResetBttn);
- webDriver.FindElement(financialCodeResetBttn).Click();
+ SafeClick(financialCodeResetBttn);
WaitUntilVisible(financialCodeDescriptionInput);
webDriver.FindElement(financialCodeDescriptionInput).SendKeys(value);
@@ -154,7 +153,7 @@ public void FilterFinancialCodeByType(string value)
webDriver.FindElement(financialCodeResetBttn).Click();
WaitUntilVisible(financialCodeTypeSelect);
- ChooseSpecificSelectOption(financialCodeTypeSelect, value);
+ ChooseSelectOption(financialCodeTypeSelect, value);
webDriver.FindElement(financialCodeSearchBttn).Click();
}
@@ -190,7 +189,7 @@ public void OrderByFinancialCodeExpiryDate()
public int CountTotalFinancialCodeResults()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(financialCodeTableResultsTotal).Count;
}
@@ -202,31 +201,31 @@ public Boolean DuplicateErrorMessageDisplayed()
public string FirstFinancialCodeValue()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(financialResults1stResultCodeValue).Text;
}
public string FirstFinancialCodeDescription()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(financialResults1stResultCodeDescription).Text;
}
public string FirstFinancialCodeType()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(financialResults1stResultCodeType).Text;
}
public string FirstFinancialCodeEffectiveDate()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(financialResults1stResultEffectiveDate).Text;
}
public string FirstFinancialCodeExpiryDate()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(financialResults1stResultExpiryDate).Text;
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/HelpDesk.cs b/testing/PIMS.Tests.Automation/PageObjects/HelpDesk.cs
index 7d3aaa1433..9fba64728b 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/HelpDesk.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/HelpDesk.cs
@@ -33,13 +33,13 @@ public HelpDesk(IWebDriver webDriver) : base(webDriver)
public void NavigateToHelpDesk()
{
- Wait();
+ WaitUntilClickable(mainMenuHelpDeskBttn);
FocusAndClick(mainMenuHelpDeskBttn);
}
public void VerifyHelpDeskModal()
{
- Wait();
+ WaitUntilVisible(mainMenuHeader);
AssertTrueContentEquals(mainMenuHeader, "Help Desk");
diff --git a/testing/PIMS.Tests.Automation/PageObjects/LeaseConsultations.cs b/testing/PIMS.Tests.Automation/PageObjects/LeaseConsultations.cs
index 173ae8e969..c3c8d6456a 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/LeaseConsultations.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/LeaseConsultations.cs
@@ -83,7 +83,7 @@ public LeaseConsultations(IWebDriver webDriver) : base(webDriver)
public void NavigateToConsultationsTab()
{
- Wait();
+ WaitUntilClickable(consultationLink);
webDriver.FindElement(consultationLink).Click();
}
@@ -95,9 +95,9 @@ public void AddConsultationBttn()
public void AddUpdateConsultation(LeaseConsultation consultation)
{
- Wait();
+ WaitUntilClickable(consultationTypeSelect);
- ChooseSpecificSelectOption(consultationTypeSelect, consultation.leaseConsultationType);
+ ChooseSelectOption(consultationTypeSelect, consultation.leaseConsultationType);
if (consultation.leaseConsultationType == "Other")
{
@@ -121,9 +121,9 @@ public void AddUpdateConsultation(LeaseConsultation consultation)
if (consultation.leaseConsultationContactPrimaryContact != "")
{
AssertTrueIsDisplayed(consultationContactPrimaryLabel);
- ChooseSpecificSelectOption(consultationContactPrimarySelect, consultation.leaseConsultationContactPrimaryContact);
+ ChooseSelectOption(consultationContactPrimarySelect, consultation.leaseConsultationContactPrimaryContact);
}
- ChooseSpecificSelectOption(consultationResponseReceivedSelect, consultation.leaseConsultationReceived);
+ ChooseSelectOption(consultationResponseReceivedSelect, consultation.leaseConsultationReceived);
if (consultation.leaseConsultationReceivedOn != "")
{
AssertTrueIsDisplayed(consultationReceivedOnLabel);
@@ -132,7 +132,7 @@ public void AddUpdateConsultation(LeaseConsultation consultation)
webDriver.FindElement(consultationReceivedOnDate).SendKeys(consultation.leaseConsultationReceivedOn);
webDriver.FindElement(consultationReceivedOnDate).SendKeys(Keys.Enter);
}
- ChooseSpecificSelectOption(consultationOutcomeSelect, consultation.leaseConsultationOutcome);
+ ChooseSelectOption(consultationOutcomeSelect, consultation.leaseConsultationOutcome);
if (consultation.leaseConsultationComment != "")
{
ClearInput(consultationCommentsTextarea);
@@ -142,100 +142,90 @@ public void AddUpdateConsultation(LeaseConsultation consultation)
public void EditLastConsultationByType(string consultationType)
{
- Wait();
+ WaitUntilClickable(consultationDistrictExpandBttn);
switch (consultationType)
{
case "District":
- ButtonElement(consultationDistrictExpandBttn);
- Wait();
+ SafeClick(consultationDistrictExpandBttn);
+
int lastDistrictConsultation = webDriver.FindElements(consultationDistrictCount).Count;
webDriver.FindElement(By.XPath("//span[contains(text(),'District')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastDistrictConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']")).Click();
break;
case "Engineering":
- ButtonElement(consultationEngineeringExpandBttn);
- Wait();
+ SafeClick(consultationEngineeringExpandBttn);
int lastEngineerConsultation = webDriver.FindElements(consultationEngineeringCount).Count;
- webDriver.FindElement(By.XPath("//span[contains(text(),'Engineering')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastEngineerConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']")).Click();
+ SafeClick(By.XPath("//span[contains(text(),'Engineering')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastEngineerConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']"));
break;
case "First Nation":
- ButtonElement(consultationFirstNationExpandBttn);
- Wait();
+ SafeClick(consultationFirstNationExpandBttn);
int lastFirstNationConsultation = webDriver.FindElements(consultationFirstNationCount).Count;
- webDriver.FindElement(By.XPath("//span[contains(text(),'First Nation')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastFirstNationConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']")).Click();
+ SafeClick(By.XPath("//span[contains(text(),'First Nation')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastFirstNationConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']"));
break;
case "Headquarter (HQ)":
- ButtonElement(consultationHeadquarterExpandBttn);
- Wait();
+ SafeClick(consultationHeadquarterExpandBttn);
int lastHeadquarterConsultation = webDriver.FindElements(consultationHeadquarterCount).Count;
- webDriver.FindElement(By.XPath("//span[contains(text(),'Headquarter (HQ)')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastHeadquarterConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']")).Click();
+ SafeClick(By.XPath("//span[contains(text(),'Headquarter (HQ)')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastHeadquarterConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']"));
break;
case "Regional planning":
- ButtonElement(consultationRegionalPlanningExpandBttn);
- Wait();
+ SafeClick(consultationRegionalPlanningExpandBttn);
int lastRegionalPlanningConsultation = webDriver.FindElements(consultationRegionalPlanningCount).Count;
- webDriver.FindElement(By.XPath("//span[contains(text(),'Regional planning')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastRegionalPlanningConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']")).Click();
+ SafeClick(By.XPath("//span[contains(text(),'Regional planning')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastRegionalPlanningConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']"));
break;
case "Regional property services":
- ButtonElement(consultationRegionalPropServicesExpandBttn);
- Wait();
+ SafeClick(consultationRegionalPropServicesExpandBttn);
int lastRegionalPropServicesConsultation = webDriver.FindElements(consultationRegionalPropServicesCount).Count;
- webDriver.FindElement(By.XPath("//span[contains(text(),'Regional property services')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastRegionalPropServicesConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']")).Click();
+ SafeClick(By.XPath("//span[contains(text(),'Regional property services')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastRegionalPropServicesConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']"));
break;
case "Strategic Real Estate (SRE)":
- ButtonElement(consultationSREExpandBttn);
- Wait();
+ SafeClick(consultationSREExpandBttn);
int lastSREConsultation = webDriver.FindElements(consultationSRECount).Count;
- webDriver.FindElement(By.XPath("//span[contains(text(),'Strategic Real Estate (SRE)')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastSREConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']")).Click();
+ SafeClick(By.XPath("//span[contains(text(),'Strategic Real Estate (SRE)')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastSREConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']"));
break;
case "Other":
- ButtonElement(consultationOtherExpandBttn);
- Wait();
+ SafeClick(consultationOtherExpandBttn);
int lastOtherConsultation = webDriver.FindElements(consultationOtherCount).Count;
- webDriver.FindElement(By.XPath("//span[contains(text(),'Other')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastOtherConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']")).Click();
+ SafeClick(By.XPath("//span[contains(text(),'Other')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastOtherConsultation +"]/div/h2/div/div/div/div/div/div/button[@title='Edit Consultation']"));
break;
}
}
public void DeleteFirstConsultationByType(string consultationType)
{
- Wait();
switch (consultationType)
{
case "District":
- ButtonElement(consultationDistrictExpandBttn);
+ SafeClick(consultationDistrictExpandBttn);
webDriver.FindElement(By.CssSelector("div[data-testid='consultation-group-section-District'] consultations[0].delete-btn")).Click();
break;
case "Engineering":
- ButtonElement(consultationEngineeringExpandBttn);
+ SafeClick(consultationEngineeringExpandBttn);
webDriver.FindElement(By.CssSelector("div[data-testid='consultation-group-section-Engineering'] consultations[0].delete-btn")).Click();
break;
case "First Nation":
- ButtonElement(consultationFirstNationExpandBttn);
+ SafeClick(consultationFirstNationExpandBttn);
webDriver.FindElement(By.CssSelector("div[data-testid='consultation-group-section-First Nation'] consultations[0].delete-btn")).Click();
break;
case "Headquarter (HQ)":
- ButtonElement(consultationHeadquarterExpandBttn);
+ SafeClick(consultationHeadquarterExpandBttn);
webDriver.FindElement(By.CssSelector("div[data-testid='consultation-group-section-Headquarter (HQ)'] consultations[0].delete-btn")).Click();
break;
case "Regional planning":
- ButtonElement(consultationRegionalPlanningExpandBttn);
+ SafeClick(consultationRegionalPlanningExpandBttn);
webDriver.FindElement(By.CssSelector("div[data-testid='consultation-group-section-Regional Planning'] consultations[0].delete-btn")).Click();
break;
case "Regional property services":
- ButtonElement(consultationRegionalPropServicesExpandBttn);
+ SafeClick(consultationRegionalPropServicesExpandBttn);
webDriver.FindElement(By.CssSelector("div[data-testid='consultation-group-section-Regional Property Services'] consultations[0].delete-btn")).Click();
break;
case "Strategic Real Estate (SRE)":
- ButtonElement(consultationSREExpandBttn);
+ SafeClick(consultationSREExpandBttn);
webDriver.FindElement(By.CssSelector("div[data-testid='consultation-group-section-Strategic Real Estate (SRE)'] consultations[0].delete-btn")).Click();
break;
case "Other":
- ButtonElement(consultationOtherExpandBttn);
+ SafeClick(consultationOtherExpandBttn);
webDriver.FindElement(By.CssSelector("div[data-testid='consultation-Other-items'] button[data-testid='consultations[0].delete-btn']")).Click();
break;
}
-
- Wait();
Assert.Equal("Delete Consultation", sharedModals.ModalHeader());
Assert.Contains("You have selected to delete this Consultation.", sharedModals.ModalContent());
@@ -246,7 +236,7 @@ public void DeleteFirstConsultationByType(string consultationType)
public void VerifyInitConsultationTab()
{
- Wait();
+ WaitUntilVisible(consultationTitle);
AssertTrueIsDisplayed(consultationTitle);
AssertTrueIsDisplayed(consultationAddButton);
AssertTrueIsDisplayed(consultationDistrictSubtitle);
@@ -284,11 +274,10 @@ public void VerifyConsultationCreateForm()
public void VerifyLastInsertedConsultationView(LeaseConsultation consultation)
{
- Wait();
switch (consultation.leaseConsultationType)
{
case "District":
- ButtonElement(consultationDistrictExpandBttn);
+ SafeClick(consultationDistrictExpandBttn);
int lastDistrictConsultation = webDriver.FindElements(consultationDistrictCount).Count;
AssertTrueContentEquals(By.XPath("//span[contains(text(),'District')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastDistrictConsultation +"]/div/h2/div/div/div/div/div[1]"), consultation.leaseConsultationOutcome);
@@ -313,7 +302,7 @@ public void VerifyLastInsertedConsultationView(LeaseConsultation consultation)
AssertTrueContentEquals(By.XPath("//span[contains(text(),'District')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastDistrictConsultation +"]/div/div/div/div/label[contains(text(),'Comments')]/parent::div/following-sibling::div"), consultation.leaseConsultationComment);
break;
case "Engineering":
- ButtonElement(consultationEngineeringExpandBttn);
+ SafeClick(consultationEngineeringExpandBttn);
int lastEngineerConsultation = webDriver.FindElements(consultationEngineeringCount).Count;
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Engineering')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastEngineerConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]"));
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Engineering')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastEngineerConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]/span"));
@@ -336,7 +325,7 @@ public void VerifyLastInsertedConsultationView(LeaseConsultation consultation)
AssertTrueContentEquals(By.XPath("//span[contains(text(),'Engineering')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastEngineerConsultation +"]/div/div/div/div/label[contains(text(),'Comments')]/parent::div/following-sibling::div"), consultation.leaseConsultationComment);
break;
case "First Nation":
- ButtonElement(consultationFirstNationExpandBttn);
+ SafeClick(consultationFirstNationExpandBttn);
int lastFirstNationConsultation = webDriver.FindElements(consultationFirstNationCount).Count;
AssertTrueIsDisplayed(By.XPath("//div[@data-testid='consultation-First Nation-items']/div["+ lastFirstNationConsultation +"]/div/div/label[text()='Requested on']"));
AssertTrueIsDisplayed(By.XPath("//div[@data-testid='consultation-First Nation-items']/div["+ lastFirstNationConsultation +"]/div/div/label[text()='Requested on']/span"));
@@ -359,7 +348,7 @@ public void VerifyLastInsertedConsultationView(LeaseConsultation consultation)
AssertTrueContentEquals(By.XPath("//div[@data-testid='consultation-First Nation-items']/div["+ lastFirstNationConsultation +"]/div/div/label[text()='Comments']/parent::div/following-sibling::div"), consultation.leaseConsultationComment);
break;
case "Headquarter (HQ)":
- ButtonElement(consultationHeadquarterExpandBttn);
+ SafeClick(consultationHeadquarterExpandBttn);
int lastHeadquarterConsultation = webDriver.FindElements(consultationHeadquarterCount).Count;
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Headquarter (HQ)')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastHeadquarterConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]"));
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Headquarter (HQ)')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastHeadquarterConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]/span"));
@@ -382,7 +371,7 @@ public void VerifyLastInsertedConsultationView(LeaseConsultation consultation)
AssertTrueContentEquals(By.XPath("//span[contains(text(),'Headquarter (HQ)')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastHeadquarterConsultation +"]/div/div/div/div/label[contains(text(),'Comments')]/parent::div/following-sibling::div"), consultation.leaseConsultationComment);
break;
case "Regional planning":
- ButtonElement(consultationRegionalPlanningExpandBttn);
+ SafeClick(consultationRegionalPlanningExpandBttn);
int lastRegionalPlanningConsultation = webDriver.FindElements(consultationRegionalPlanningCount).Count;
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Regional planning')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastRegionalPlanningConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]"));
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Regional planning')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastRegionalPlanningConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]/span"));
@@ -405,7 +394,7 @@ public void VerifyLastInsertedConsultationView(LeaseConsultation consultation)
AssertTrueContentEquals(By.XPath("//span[contains(text(),'Regional planning')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastRegionalPlanningConsultation +"]/div/div/div/div/label[contains(text(),'Comments')]/parent::div/following-sibling::div"), consultation.leaseConsultationComment);
break;
case "Regional property services":
- ButtonElement(consultationRegionalPropServicesExpandBttn);
+ SafeClick(consultationRegionalPropServicesExpandBttn);
int lastRegionalPropServicesConsultation = webDriver.FindElements(consultationRegionalPropServicesCount).Count;
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Regional property services')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastRegionalPropServicesConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]"));
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Regional property services')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastRegionalPropServicesConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]/span"));
@@ -428,7 +417,7 @@ public void VerifyLastInsertedConsultationView(LeaseConsultation consultation)
AssertTrueContentEquals(By.XPath("//span[contains(text(),'Regional property services')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastRegionalPropServicesConsultation +"]/div/div/div/div/label[contains(text(),'Comments')]/parent::div/following-sibling::div"), consultation.leaseConsultationComment);
break;
case "Strategic Real Estate (SRE)":
- ButtonElement(consultationSREExpandBttn);
+ SafeClick(consultationSREExpandBttn);
int lastSREConsultation = webDriver.FindElements(consultationSRECount).Count;
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Strategic Real Estate (SRE)')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastSREConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]"));
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Strategic Real Estate (SRE)')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastSREConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]/span"));
@@ -451,7 +440,7 @@ public void VerifyLastInsertedConsultationView(LeaseConsultation consultation)
AssertTrueContentEquals(By.XPath("//span[contains(text(),'Strategic Real Estate (SRE)')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastSREConsultation +"]/div/div/div/div/label[contains(text(),'Comments')]/parent::div/following-sibling::div"), consultation.leaseConsultationComment);
break;
case "Other":
- ButtonElement(consultationOtherExpandBttn);
+ SafeClick(consultationOtherExpandBttn);
int lastOtherConsultation = webDriver.FindElements(consultationOtherCount).Count;
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Other')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastOtherConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]"));
AssertTrueIsDisplayed(By.XPath("//span[contains(text(),'Other')]/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div["+ lastOtherConsultation +"]/div/div/div/div/label[contains(text(),'Requested on')]/span"));
diff --git a/testing/PIMS.Tests.Automation/PageObjects/LeaseDeposits.cs b/testing/PIMS.Tests.Automation/PageObjects/LeaseDeposits.cs
index 61d4e6cbfa..d0c20124f6 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/LeaseDeposits.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/LeaseDeposits.cs
@@ -93,7 +93,7 @@ public LeaseDeposits(IWebDriver webDriver) : base(webDriver)
public void NavigateToDepositSection()
{
- Wait();
+ WaitUntilClickable(licenseDepositsLink);
webDriver.FindElement(licenseDepositsLink).Click();
}
@@ -111,7 +111,7 @@ public void CancelDeposit()
public void AddDeposit(Deposit deposit)
{
WaitUntilClickable(licenseDepositAddTypeSelect);
- ChooseSpecificSelectOption(licenseDepositAddTypeSelect, deposit.DepositType);
+ ChooseSelectOption(licenseDepositAddTypeSelect, deposit.DepositType);
WaitUntilVisible(licenseDepositAddDescriptionTextarea);
if (webDriver.FindElements(licenseDepositAddOtherTypeInput).Count() > 0)
@@ -159,7 +159,7 @@ public void AddReturn(Deposit deposit)
public void AddNotes(string notes)
{
- Wait();
+ WaitUntilClickable(licenseDepositEditNotesBttn);
FocusAndClick(licenseDepositEditNotesBttn);
WaitUntilVisible(licenseDepositNotesTextarea);
@@ -168,7 +168,7 @@ public void AddNotes(string notes)
public void DeleteFirstReturn()
{
- Wait();
+ WaitUntilClickable(licenseDepositReturn1stRowDeleteBttn);
FocusAndClick(licenseDepositReturn1stRowDeleteBttn);
WaitUntilVisible(licenseDepositModal);
@@ -182,10 +182,9 @@ public void EditLastDeposit(Deposit deposit)
Wait();
var totalDeposits = webDriver.FindElements(licenseDepositTableTotal).Count;
- Wait();
- webDriver.FindElement(By.CssSelector("div[data-testid='securityDepositsTable'] div[class='tbody'] div[class='tr-wrapper']:nth-child("+ totalDeposits +") button[title='edit deposit']")).Click();
+ SafeClick(By.CssSelector("div[data-testid='securityDepositsTable'] div[class='tbody'] div[class='tr-wrapper']:nth-child("+ totalDeposits +") button[title='edit deposit']"));
- ChooseSpecificSelectOption(licenseDepositAddTypeSelect, deposit.DepositType);
+ ChooseSelectOption(licenseDepositAddTypeSelect, deposit.DepositType);
WaitUntilVisible(licenseDepositAddDescriptionTextarea);
if (webDriver.FindElements(licenseDepositAddOtherTypeInput).Count() > 0)
@@ -278,7 +277,7 @@ public void VerifyCreateDepositForm()
public void VerifyCreatedDepositTable(Deposit deposit)
{
- Wait(5000);
+ Wait();
var totalDeposits = webDriver.FindElements(licenseDepositTableTotal).Count;
var licenseDepositTableLastRowDepositTypeContent = By.CssSelector("div[data-testid='securityDepositsTable'] div[class='tbody'] div[class='tr-wrapper']:nth-child("+ totalDeposits +") div[class='td']:nth-child(1)");
@@ -342,7 +341,7 @@ public void VerifyCreateReturnForm(Deposit deposit)
public void VerifyCreatedReturnTable(Deposit deposit)
{
- Wait(3000);
+ Wait();
var totalReturns = webDriver.FindElements(licenseDepositReturnTableTotal).Count;
var licenseDepositReturnTableLastRowDepositTypeContent = By.CssSelector("div[data-testid='securityDepositReturnsTable'] div[class='tbody'] div[class='tr-wrapper']:nth-child("+ totalReturns + ") div[class='td']:nth-child(1)");
diff --git a/testing/PIMS.Tests.Automation/PageObjects/LeaseDetails.cs b/testing/PIMS.Tests.Automation/PageObjects/LeaseDetails.cs
index 5b911e9615..a8db8d5101 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/LeaseDetails.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/LeaseDetails.cs
@@ -196,16 +196,16 @@ public LeaseDetails(IWebDriver webDriver) : base(webDriver)
public void NavigateToCreateNewLicense()
{
- Wait();
+ WaitUntilClickable(menuManagementButton);
FocusAndClick(menuManagementButton);
- Wait();
+ WaitUntilClickable(createLicenseButton);
FocusAndClick(createLicenseButton);
}
public void NavigateToAddPropertiesLeasesFile()
{
- Wait();
+ WaitUntilClickable(leaseEditPropertiesBttn);
webDriver.FindElement(leaseEditPropertiesBttn).Click();
}
@@ -214,10 +214,9 @@ public void CreateMinimumLicenseDetails(Lease lease)
Wait();
//MAIN DETAILS
-
//Status
if (lease.LeaseStatus != "")
- ChooseSpecificSelectOption(licenseDetailsStatusSelector, lease.LeaseStatus);
+ ChooseSelectOption(licenseDetailsStatusSelector, lease.LeaseStatus);
//Termination reason
if (lease.LeaseTerminationReason != "")
@@ -245,7 +244,7 @@ public void CreateMinimumLicenseDetails(Lease lease)
//Account Type
if (lease.AccountType != "")
- ChooseSpecificSelectOption(licenseDetailsAccountTypeSelector, lease.AccountType);
+ ChooseSelectOption(licenseDetailsAccountTypeSelector, lease.AccountType);
//Start Date
if (lease.LeaseStartDate != "")
@@ -262,12 +261,10 @@ public void CreateMinimumLicenseDetails(Lease lease)
//Administration Details
//MOTI Region
- if(lease.MOTIRegion != "")
- ChooseSpecificSelectOption(licenseDetailsMotiRegionSelector, lease.MOTIRegion);
+ ChooseSelectOption(licenseDetailsMotiRegionSelector, lease.MOTIRegion);
//Program
- if (lease.Program != "")
- ChooseSpecificSelectOption(licenseDetailsProgramSelector, lease.Program);
+ ChooseSelectOption(licenseDetailsProgramSelector, lease.Program);
//If other Program is selected, insert input
if (webDriver.FindElements(licenseDetailsOtherProgramInput).Count > 0 && lease.ProgramOther != "")
@@ -279,7 +276,7 @@ public void CreateMinimumLicenseDetails(Lease lease)
//Type
if (lease.AdminType != "")
- ChooseSpecificSelectOption(licenseDetailsTypeSelector, lease.AdminType);
+ ChooseSelectOption(licenseDetailsTypeSelector, lease.AdminType);
//If other Type is selected, insert input
if (webDriver.FindElements(licenseDetailsOtherTypeInput).Count > 0 && lease.TypeOther != "")
@@ -296,20 +293,8 @@ public void CreateMinimumLicenseDetails(Lease lease)
}
if (lease.LeasePurpose.Count > 0)
- {
foreach (string purpose in lease.LeasePurpose)
- {
- webDriver.FindElement(licenseDetailsPurposeLabel).Click();
-
- Wait();
- FocusAndClick(licenseDetailsPurposeMultiselector);
-
- Wait(5000);
- ChooseMultiSelectSpecificOption(licenseDetailsPurposeOptions, purpose);
- }
-
- webDriver.FindElement(licenseDetailsPurposeLabel).Click();
- }
+ ChooseMultiSelectOption(licenseDetailsPurposeMultiselector, licenseDetailsPurposeOptions, licenseDetailsPurposeLabel, purpose);
//If other Purpose is selected, insert input
if (webDriver.FindElements(licenseDetailsOtherPurposeInput).Count > 0 && lease.PurposeOther != "")
@@ -321,7 +306,7 @@ public void CreateMinimumLicenseDetails(Lease lease)
public void UpdateLeaseFileDetails(Lease lease)
{
- Wait();
+ WaitUntilVisible(licenseDetailsCreateSubtitle);
//ORIGINAL AGREEMENT
AssertTrueIsDisplayed(licenseDetailsCreateSubtitle);
@@ -332,18 +317,20 @@ public void UpdateLeaseFileDetails(Lease lease)
{
ClearInput(licenseDetailsProjectInput);
webDriver.FindElement(licenseDetailsProjectInput).SendKeys(lease.MinistryProject);
- webDriver.FindElement(licenseDetailsProjectInput).SendKeys(Keys.Enter);
+ Wait(500);
+ webDriver.FindElement(licenseDetailsProjectInput).SendKeys(Keys.Space);
+ Wait(500);
webDriver.FindElement(licenseDetailsProjectInput).SendKeys(Keys.Backspace);
- Wait();
- webDriver.FindElement(licenseDetailsProject1stOption).Click();
+ WaitUntilVisible(licenseDetailsProject1stOption);
+ SafeClick(licenseDetailsProject1stOption);
}
//Product
if (lease.MinistryProduct != "")
{
AssertTrueIsDisplayed(licenseDetailsProductLabel);
- ChooseSpecificSelectOption(licenseDetailsProductSelect, lease.MinistryProduct);
+ ChooseSelectOption(licenseDetailsProductSelect, lease.MinistryProduct);
}
//Status
@@ -355,7 +342,7 @@ public void UpdateLeaseFileDetails(Lease lease)
IWebElement selectedStatus = selectStatusElement.SelectedOption;
string previousStatus = selectedStatus.Text;
- ChooseSpecificSelectOption(licenseDetailsStatusSelector, lease.LeaseStatus);
+ ChooseSelectOption(licenseDetailsStatusSelector, lease.LeaseStatus);
Wait();
if (webDriver.FindElements(licenseDetailsConfirmationModal).Count > 0)
@@ -372,7 +359,7 @@ public void UpdateLeaseFileDetails(Lease lease)
if (lease.AccountType != "")
{
webDriver.FindElement(licenseDetailsAccountTypeSelector).Click();
- ChooseSpecificSelectOption(licenseDetailsAccountTypeSelector, lease.AccountType);
+ ChooseSelectOption(licenseDetailsAccountTypeSelector, lease.AccountType);
}
//Commencement Date
@@ -428,12 +415,12 @@ public void UpdateLeaseFileDetails(Lease lease)
//Appraisal
AssertTrueIsDisplayed(licenseDetailsProgressAppraisalLabel);
if (lease.LeaseProgressAppraisal != "")
- ChooseSpecificSelectOption(licenseDetailsProgressAppraisalSelector, lease.LeaseProgressAppraisal);
+ ChooseSelectOption(licenseDetailsProgressAppraisalSelector, lease.LeaseProgressAppraisal);
//Legal Survey
AssertTrueIsDisplayed(licenseDetailsProgressLegalSurveyLabel);
if (lease.LeaseProgressLegalSurvey != "")
- ChooseSpecificSelectOption(licenseDetailsProgressLegalSurveySelector, lease.LeaseProgressLegalSurvey);
+ ChooseSelectOption(licenseDetailsProgressLegalSurveySelector, lease.LeaseProgressLegalSurvey);
}
//RENEWAL OPTIONS
@@ -444,7 +431,7 @@ public void UpdateLeaseFileDetails(Lease lease)
{
webDriver.FindElement(licenceDetailsFirstRenewalDeleteBttn).Click();
- Wait();
+ WaitUntilVisible(licenseDetailsConfirmationModal);
if (webDriver.FindElements(licenseDetailsConfirmationModal).Count > 0)
{
Assert.Equal("Remove Renewal", sharedModals.ModalHeader());
@@ -455,11 +442,11 @@ public void UpdateLeaseFileDetails(Lease lease)
}
ScrollToElement(licenseDetailsAddRenewButton);
- Wait();
+ WaitUntilClickable(licenseDetailsAddRenewButton);
for (var i = 0; i < lease.LeaseRenewals.Count; i++)
{
webDriver.FindElement(licenseDetailsAddRenewButton).Click();
- ChooseSpecificSelectOption(By.Id("input-renewals."+ i +".isExercised"), lease.LeaseRenewals[i].RenewalIsExercised);
+ ChooseSelectOption(By.Id("input-renewals."+ i +".isExercised"), lease.LeaseRenewals[i].RenewalIsExercised);
webDriver.FindElement(By.Id("datepicker-renewals."+ i +".commencementDt")).SendKeys(lease.LeaseRenewals[i].RenewalCommencementDate);
webDriver.FindElement(By.Id("datepicker-renewals."+ i +".commencementDt")).SendKeys(Keys.Enter);
@@ -482,13 +469,11 @@ public void UpdateLeaseFileDetails(Lease lease)
//MOTI Region
AssertTrueIsDisplayed(licenseDetailsMotiRegionLabel);
- if (lease.MOTIRegion != "")
- ChooseSpecificSelectOption(licenseDetailsMotiRegionSelector, lease.MOTIRegion);
+ ChooseSelectOption(licenseDetailsMotiRegionSelector, lease.MOTIRegion);
//Program
AssertTrueIsDisplayed(licenseDetailsProgramLabel);
- if (lease.Program != "")
- ChooseSpecificSelectOption(licenseDetailsProgramSelector, lease.Program);
+ ChooseSelectOption(licenseDetailsProgramSelector, lease.Program);
//If other Program is selected, insert input
if (webDriver.FindElements(licenseDetailsOtherProgramInput).Count > 0 && lease.ProgramOther != "")
@@ -501,8 +486,7 @@ public void UpdateLeaseFileDetails(Lease lease)
//Type
AssertTrueIsDisplayed(licenseDetailsTypeLabel);
- if (lease.AdminType != "")
- ChooseSpecificSelectOption(licenseDetailsTypeSelector, lease.AdminType);
+ ChooseSelectOption(licenseDetailsTypeSelector, lease.AdminType);
//If other Type is selected, insert input
if (webDriver.FindElements(licenseDetailsOtherTypeInput).Count > 0 && lease.TypeOther != "")
@@ -524,10 +508,8 @@ public void UpdateLeaseFileDetails(Lease lease)
{
foreach (string purpose in lease.LeasePurpose)
{
- FocusAndClick(licenseDetailsPurposeMultiselector);
-
- WaitUntilClickable(licenseDetailsPurposeOptions);
- ChooseMultiSelectSpecificOption(licenseDetailsPurposeOptions, purpose);
+ SafeClick(licenseDetailsPurposeMultiselector);
+ ChooseMultiSelectOption(licenseDetailsPurposeMultiselector, licenseDetailsPurposeOptions, licenseDetailsPurposeLabel, purpose);
}
}
@@ -544,13 +526,13 @@ public void UpdateLeaseFileDetails(Lease lease)
AssertTrueIsDisplayed(licenseDetailsInitiatorLabel);
AssertTrueIsDisplayed(licenseDetailsInitiatorTooltip);
if (lease.Initiator != "")
- ChooseSpecificSelectOption(licenseDetailsInitiatorSelector, lease.Initiator);
+ ChooseSelectOption(licenseDetailsInitiatorSelector, lease.Initiator);
//Responsibility
AssertTrueIsDisplayed(licenseDetailsResponsibilityLabel);
AssertTrueIsDisplayed(licenseDetailsResponsibilityTooltip);
if (lease.Responsibility != "")
- ChooseSpecificSelectOption(licenseDetailsResposibilitySelector, lease.Responsibility);
+ ChooseSelectOption(licenseDetailsResposibilitySelector, lease.Responsibility);
//Effective date of responsibility
AssertTrueIsDisplayed(licenseDetailsEffectiveDateLabel);
@@ -593,11 +575,11 @@ public void UpdateLeaseFileDetails(Lease lease)
AssertTrueIsDisplayed(licenseDetailsFeeDeterminationPublicBenefitLabel);
if (lease.FeeDeterminationPublicBenefit != "")
- ChooseSpecificSelectOption(licenseDetailsFeeDeterminationPublicBenefitInput, lease.FeeDeterminationPublicBenefit);
+ ChooseSelectOption(licenseDetailsFeeDeterminationPublicBenefitInput, lease.FeeDeterminationPublicBenefit);
AssertTrueIsDisplayed(licenseDetailsFeeDeterminationFinancialGainLabel);
if(lease.FeeDeterminationFinancialGain != "")
- ChooseSpecificSelectOption(licenseDetailsFeeDeterminationFinancialGainInput, lease.FeeDeterminationFinancialGain);
+ ChooseSelectOption(licenseDetailsFeeDeterminationFinancialGainInput, lease.FeeDeterminationFinancialGain);
AssertTrueIsDisplayed(licenseDetailsFeeDeterminationSuggestedFeeLabel);
AssertTrueIsDisplayed(licenseDetaulsFeeDeterminationSuggestedFeeTooltip);
@@ -614,7 +596,7 @@ public void UpdateLeaseFileDetails(Lease lease)
public void EditLeaseFileDetailsBttn()
{
- Wait();
+ WaitUntilClickable(licenseDetailsEditIcon);
webDriver.FindElement(licenseDetailsEditIcon).Click();
}
@@ -626,13 +608,14 @@ public void SaveLicense()
Wait();
while (webDriver.FindElements(licenseDetailsConfirmationModal).Count > 0)
{
+ Wait(500);
//If PID is already associated with another license
if (webDriver.FindElements(licensesDetailsPropertiesModal).Count > 0)
{
Assert.Contains("is attached to L-File #", webDriver.FindElement(licensesDetailsPropertiesModalContent).Text);
- webDriver.FindElement(licensesDetailsPropertiesOkBttn).Click();
-
+ SafeClick(licensesDetailsPropertiesOkBttn);
Wait();
+
}
else if (sharedModals.ModalContent().Contains("The selected property already exists in the system's inventory"))
{
@@ -640,7 +623,6 @@ public void SaveLicense()
Assert.Contains("The selected property already exists in the system's inventory. However, the record is missing spatial details.", sharedModals.ModalContent());
Assert.Contains("To add the property, the spatial details for this property will need to be updated. The system will attempt to update the property record with spatial information from the current selection.", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
-
Wait();
}
else if (sharedModals.ModalContent().Contains("You have made changes to the properties in this file."))
@@ -649,7 +631,6 @@ public void SaveLicense()
Assert.Contains("You have made changes to the properties in this file.", sharedModals.ModalContent());
Assert.Contains("Do you want to save these changes?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
-
Wait();
}
else if (sharedModals.IsConfirmationModalParagraph1Visible())
@@ -658,7 +639,6 @@ public void SaveLicense()
Assert.Contains("If you save it, only the administrator can turn it back on. You will still see it in the management table.", sharedModals.ConfirmationModalParagraph1());
Assert.Equal("Do you want to acknowledge and proceed?", sharedModals.ConfirmationModalParagraph2());
sharedModals.ModalClickOKBttn();
-
Wait();
}
else if (sharedModals.IsConfirmationModalParagraph2Visible())
@@ -667,7 +647,6 @@ public void SaveLicense()
Assert.Contains("A primary contact for", sharedModals.ConfirmationModalParagraph1());
Assert.Equal("Do you want to acknowledge and proceed?", sharedModals.ConfirmationModalParagraph2());
sharedModals.SecondaryModalClickOKBttn();
-
Wait();
}
else if (sharedModals.ModalHeader() == "Error")
@@ -680,7 +659,6 @@ public void SaveLicense()
public void SaveLicenseWithExpectedErrors()
{
- Wait();
ButtonElement("Save");
Wait();
@@ -691,23 +669,20 @@ public void SaveLicenseWithExpectedErrors()
Assert.Contains("Lease File Stakeholder can not be removed since it's assigned as a payee for a compensation requisition", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
break;
- }
+ }
}
}
public void CancelLicense()
{
- Wait();
- FocusAndClick(By.CssSelector("button[data-testid='cancel-button']"));
+ SafeClick(By.CssSelector("button[data-testid='cancel-button']"));
sharedModals.CancelActionModal();
-
- Wait();
}
public string GetLeaseCode()
{
- Wait();
+ WaitUntilVisible(licenseHeaderNbrContent);
return webDriver.FindElement(licenseHeaderNbrContent).Text;
}
@@ -719,7 +694,7 @@ public string GetLeaseAccountType()
public void VerifyLicenseDetailsInitCreateForm()
{
- Wait(6000);
+ WaitUntilVisible(licenseDetailsCreateSubtitle);
//Create Title
//AssertTrueIsDisplayed(licenseCreateTitle);
@@ -816,15 +791,17 @@ public void UpdateLicensePropertiesForm(LeaseProperty property, int propertyIdx)
public void VerifyLicenseHeader(Lease lease)
{
+ Wait();
AssertTrueIsDisplayed(licenseHeaderNbrLabel);
AssertTrueContentNotEquals(licenseHeaderNbrContent, "");
AssertTrueContentNotEquals(licenseHeaderAccountType, "");
AssertTrueIsDisplayed(licenseHeaderProperty);
-
- if(lease.AccountType == "Receivable")
+
+ if (lease.AccountType == "Receivable")
AssertTrueIsDisplayed(licenseHeaderTenantLabel);
else
AssertTrueIsDisplayed(licenseHeaderPayeeLabel);
+
AssertTrueIsDisplayed(licenseHeaderStartDateLabel);
AssertTrueContentEquals(licenseHeaderStartDateContent, TransformDateFormat(lease.LeaseStartDate));
AssertTrueIsDisplayed(licenseHeaderExpiryDateLabel);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/LeaseInsurance.cs b/testing/PIMS.Tests.Automation/PageObjects/LeaseInsurance.cs
index 88c4fa9520..e6f33edcd5 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/LeaseInsurance.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/LeaseInsurance.cs
@@ -194,15 +194,15 @@ public LeaseInsurance(IWebDriver webDriver) : base(webDriver)
//Navigate to Insurance section
public void NavigateToInsuranceSection()
{
- Wait();
- webDriver.FindElement(licenseInsuranceLink).Click();
+ WaitUntilClickable(licenseInsuranceLink);
+ SafeClick(licenseInsuranceLink);
}
//Edit Insurance section
public void EditInsuranceButton()
{
- Wait();
- webDriver.FindElement(insuranceEditIcon).Click();
+ WaitUntilClickable(insuranceEditIcon);
+ SafeClick(insuranceEditIcon);
}
//Add Accidental Coverage
@@ -223,7 +223,7 @@ public void AddAccidentalInsurance(Lease lease)
//Fill out form
if (lease.AccidentalInsuranceInPlace != "")
- ChooseSpecificSelectOption(insuranceAccidentalInPlaceSelect, lease.AccidentalInsuranceInPlace);
+ ChooseSelectOption(insuranceAccidentalInPlaceSelect, lease.AccidentalInsuranceInPlace);
if (lease.AccidentalLimit != "")
webDriver.FindElement(insuranceAccidentalLimitInput).SendKeys(lease.AccidentalLimit);
@@ -259,7 +259,7 @@ public void AddAircraftInsurance(Lease lease)
//Fill out form
if(lease.AircraftInsuranceInPlace != "")
- ChooseSpecificSelectOption(insuranceAircraftInPlaceSelect, lease.AircraftInsuranceInPlace);
+ ChooseSelectOption(insuranceAircraftInPlaceSelect, lease.AircraftInsuranceInPlace);
if (lease.AircraftLimit != "")
webDriver.FindElement(insuranceAircraftLimitInput).SendKeys(lease.AircraftLimit);
@@ -295,11 +295,10 @@ public void AddCGLInsurance(Lease lease)
AssertTrueIsDisplayed(insuranceCGLDescriptionTextarea);
//Fill out form
- Wait();
if (lease.CGLInsuranceInPlace != "")
{
WaitUntilClickable(insuranceCGLInPlaceSelect);
- ChooseSpecificSelectOption(insuranceCGLInPlaceSelect, lease.CGLInsuranceInPlace);
+ ChooseSelectOption(insuranceCGLInPlaceSelect, lease.CGLInsuranceInPlace);
}
if (lease.CGLLimit != "")
{
@@ -342,7 +341,7 @@ public void AddMarineInsurance(Lease lease)
if (lease.MarineInsuranceInPlace != "")
{
WaitUntilClickable(insuranceMarineInPlaceSelect);
- ChooseSpecificSelectOption(insuranceMarineInPlaceSelect, lease.MarineInsuranceInPlace);
+ ChooseSelectOption(insuranceMarineInPlaceSelect, lease.MarineInsuranceInPlace);
}
if (lease.MarineLimit != "")
@@ -389,7 +388,7 @@ public void AddUnmannedAirVehicleInsurance(Lease lease)
if (lease.UnmannedAirVehicleInsuranceInPlace != "")
{
WaitUntilClickable(insuranceUnmannedAirVehicleInPlaceSelect);
- ChooseSpecificSelectOption(insuranceUnmannedAirVehicleInPlaceSelect, lease.UnmannedAirVehicleInsuranceInPlace);
+ ChooseSelectOption(insuranceUnmannedAirVehicleInPlaceSelect, lease.UnmannedAirVehicleInsuranceInPlace);
}
if (lease.UnmannedAirVehicleLimit != "")
@@ -433,7 +432,7 @@ public void AddVehicleInsurance(Lease lease)
if (lease.VehicleInsuranceInPlace != "")
{
WaitUntilClickable(insuranceVehicleInPlaceSelect);
- ChooseSpecificSelectOption(insuranceVehicleInPlaceSelect, lease.VehicleInsuranceInPlace);
+ ChooseSelectOption(insuranceVehicleInPlaceSelect, lease.VehicleInsuranceInPlace);
}
if (lease.VehicleLimit != "")
@@ -485,7 +484,7 @@ public void AddOtherInsurance(Lease lease)
if (lease.OtherInsuranceInPlace != "")
{
WaitUntilVisible(insuranceOtherInPlaceSelect);
- ChooseSpecificSelectOption(insuranceOtherInPlaceSelect, lease.OtherInsuranceInPlace);
+ ChooseSelectOption(insuranceOtherInPlaceSelect, lease.OtherInsuranceInPlace);
}
if (lease.OtherLimit != "")
@@ -736,7 +735,7 @@ public void VerifyInsuranceViewForm(Lease lease)
public int TotalInsuranceCount()
{
- Wait();
+ WaitUntilVisible(insuranceViewTotal);
return webDriver.FindElements(insuranceViewTotal).Count;
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/LeasePeriodPayments.cs b/testing/PIMS.Tests.Automation/PageObjects/LeasePeriodPayments.cs
index 0fdf7b8af8..760baf2642 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/LeasePeriodPayments.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/LeasePeriodPayments.cs
@@ -202,11 +202,11 @@ public LeasePeriodPayments(IWebDriver webDriver) : base(webDriver)
//Navigates to Payments Section
public void NavigateToPaymentSection()
{
- Wait();
+ WaitUntilClickable(licensePaymentsLink);
webDriver.FindElement(licensePaymentsLink).Click();
}
- public void AddPeriodBttn() => ButtonElement(licencePaymentAddBttn);
+ public void AddPeriodBttn() => SafeClick(licencePaymentAddBttn);
public void AddPeriod(Period period)
{
@@ -224,7 +224,7 @@ public void AddPeriod(Period period)
//Period Duration
AssertTrueIsDisplayed(licensePaymentPeriodDurationLabel);
AssertTrueIsDisplayed(licensePaymentPeriodDurationTooltip);
- ChooseSpecificSelectOption(licensePaymentPeriodDurationSelect, period.PeriodDuration);
+ ChooseSelectOption(licensePaymentPeriodDurationSelect, period.PeriodDuration);
//Start Date
AssertTrueIsDisplayed(licensePaymentPeriodStartDateLabel);
@@ -254,14 +254,14 @@ public void AddPeriod(Period period)
//Period Status
AssertTrueIsDisplayed(licensePaymentPeriodStatusLabel);
AssertTrueIsDisplayed(licensePaymentPeriodStatusTooltip);
- ChooseSpecificSelectOption(licensePaymentPeriodStatusSelect, period.PeriodStatus);
+ ChooseSelectOption(licensePaymentPeriodStatusSelect, period.PeriodStatus);
//Predetermined Base Rent
if (period.PeriodPaymentType == "Predetermined")
{
//Payment Frequency
AssertTrueIsDisplayed(licensePaymentPeriodFrequencySelectLabel);
- ChooseSpecificSelectOption(licensePaymentPeriodFrequencySelect, period.PeriodBasePaymentFrequency);
+ ChooseSelectOption(licensePaymentPeriodFrequencySelect, period.PeriodBasePaymentFrequency);
//Agreed Payment
AssertTrueIsDisplayed(licensePaymentPeriodAgreedPaymentLabel);
@@ -293,7 +293,7 @@ public void AddPeriod(Period period)
//Payment Frequency
AssertTrueIsDisplayed(licensePaymentPeriodBaseFrequencyLabel);
- ChooseSpecificSelectOption(licensePaymentPeriodFrequencySelect, period.PeriodBasePaymentFrequency);
+ ChooseSelectOption(licensePaymentPeriodFrequencySelect, period.PeriodBasePaymentFrequency);
//Agreed Payment
AssertTrueIsDisplayed(licensePaymentPeriodBaseAgreedPaymentLabel);
@@ -327,7 +327,7 @@ public void AddPeriod(Period period)
//Additional Payment Frequency
AssertTrueIsDisplayed(licensePaymentPeriodAdditionalFrequencyLabel);
if (period.PeriodAdditionalPaymentFrequency != "")
- ChooseSpecificSelectOption(licensePaymentPeriodAdditionalSelect, period.PeriodAdditionalPaymentFrequency);
+ ChooseSelectOption(licensePaymentPeriodAdditionalSelect, period.PeriodAdditionalPaymentFrequency);
//Additional Agreed Payment
AssertTrueIsDisplayed(licensePaymentPeriodAdditionalAgreedPaymentLabel);
@@ -364,7 +364,7 @@ public void AddPeriod(Period period)
//Variable Payment Frequency
AssertTrueIsDisplayed(licensePaymentPeriodVariableFrequencyLabel);
if (period.PeriodVariablePaymentFrequency != "")
- ChooseSpecificSelectOption(licensePaymentPeriodVariableSelect, period.PeriodVariablePaymentFrequency);
+ ChooseSelectOption(licensePaymentPeriodVariableSelect, period.PeriodVariablePaymentFrequency);
//Variable Agreed Payment
AssertTrueIsDisplayed(licensePaymentPeriodVariableAgreedPaymentLabel);
@@ -403,22 +403,18 @@ public void AddPeriod(Period period)
public void OpenClosePeriodCategoryPayments(int elementIdx)
{
- Wait();
- var selectedExpander = webDriver.FindElement(By.XPath("//div[@class='tr-wrapper']["+ elementIdx +"]/div/div[@class='td expander svg-btn']"));
-
- WaitUntilClickable(By.XPath("//div[@class='tr-wrapper']["+ elementIdx +"]/div/div[@class='td expander svg-btn']"));
- selectedExpander.Click();
+ SafeClick(By.XPath("//div[@class='tr-wrapper'][" + elementIdx + "]/div/div[@class='td expander svg-btn']"));
}
public void AddPaymentBttn(int parentIdx)
{
By addPaymentButton = By.XPath("//b[contains(text(),'Period "+ parentIdx +"')]/parent::div/parent::div/parent::div/following-sibling::div/div/h2/div/div/div/div/button");
- ButtonElement(addPaymentButton);
+ SafeClick(addPaymentButton);
}
public void AddPayment(Payment payment, string periodType)
{
- Wait();
+ WaitUntilVisible(licensePaymentSendDateLabel);
//Sent Date
AssertTrueIsDisplayed(licensePaymentSendDateLabel);
@@ -430,13 +426,13 @@ public void AddPayment(Payment payment, string periodType)
//Method
AssertTrueIsDisplayed(licensePaymentMethodLabel);
- ChooseSpecificSelectOption(licensePaymentMethodSelect, payment.PaymentMethod);
+ ChooseSelectOption(licensePaymentMethodSelect, payment.PaymentMethod);
//Payment Category - for variable payments
if (periodType == "Variable")
{
AssertTrueIsDisplayed(licensePaymentCategoryLabel);
- ChooseSpecificSelectOption(licensePaymentCategorySelect, payment.PaymentCategory);
+ ChooseSelectOption(licensePaymentCategorySelect, payment.PaymentCategory);
}
//Total Received
@@ -471,17 +467,17 @@ public void AddPayment(Payment payment, string periodType)
//Save Button
- ButtonElement(licensePaymentSaveBttn);
+ SafeClick(licensePaymentSaveBttn);
OpenClosePeriodCategoryPayments(payment.PeriodParentIndex);
- Wait();
+ WaitUntilVisible(By.CssSelector("div[data-testid='leasePaymentsTable'] div[class='tr-wrapper']:nth-child("+ payment.PeriodParentIndex +") div[data-testid='paymentsTable'] div[class='tr-wrapper']"));
totalPaymentInPeriod = webDriver.FindElements(By.CssSelector("div[data-testid='leasePaymentsTable'] div[class='tr-wrapper']:nth-child("+ payment.PeriodParentIndex +") div[data-testid='paymentsTable'] div[class='tr-wrapper']")).Count;
System.Diagnostics.Debug.WriteLine(totalPaymentInPeriod);
}
public void DeleteLastPeriod()
{
- Wait();
+ WaitUntilClickable(licensePaymentDeleteTermBttn);
webDriver.FindElement(licensePaymentDeleteTermBttn).Click();
WaitUntilVisible(licensePaymentsModal);
@@ -492,7 +488,6 @@ public void DeleteLastPeriod()
public void DeleteLastPayment(int periodIdx)
{
- Wait(5000);
WaitUntilVisible(By.XPath("//b[contains(text(), 'Period "+ periodIdx +"')]/parent::div/parent::div/parent::div/following-sibling::div/div/div/div[@data-testid='paymentsTable']/div[@class='tbody']/div/div"));
var totalPayments = webDriver.FindElements(By.XPath("//b[contains(text(), 'Period "+ periodIdx +"')]/parent::div/parent::div/parent::div/following-sibling::div/div/div/div[@data-testid='paymentsTable']/div[@class='tbody']/div/div")).Count;
@@ -502,12 +497,13 @@ public void DeleteLastPayment(int periodIdx)
WaitUntilVisible(licensePaymentsModal);
sharedModals.ModalClickOKBttn();
+ Wait();
totalPaymentInPeriod = webDriver.FindElements(By.XPath("//b[contains(text(), 'Period "+ periodIdx +"')]/parent::div/parent::div/parent::div/following-sibling::div/div/div/div[@data-testid='paymentsTable']/div[@class='tbody']/div/div")).Count;
}
public void VerifyPeriodsTabInit()
{
- Wait();
+ WaitUntilVisible(licencePaymentsSubtitle);
AssertTrueIsDisplayed(licencePaymentsSubtitle);
AssertTrueIsDisplayed(licencePaymentAddBttn);
@@ -535,7 +531,6 @@ public void VerifyPeriodsTabInit()
public void VerifyInsertedPeriodTable(Period period)
{
Wait();
- WaitUntilVisible(By.XPath("//div[@data-testid='leasePaymentsTable']/div[@class='tbody']/div[@class='tr-wrapper']["+ totalPeriodsInLease +"]/div[@class='tr']/div[@class='td expander svg-btn']/following-sibling::div[2]"));
AssertTrueElementContains(By.XPath("//div[@data-testid='leasePaymentsTable']/div[@class='tbody']/div[@class='tr-wrapper']["+ totalPeriodsInLease +"]/div[@class='tr']/div[@class='td expander svg-btn']/following-sibling::div[2]"), ConcatenateDates(period.PeriodStartDate, period.PeriodEndDate));
AssertTrueContentEquals(By.XPath("//div[@data-testid='leasePaymentsTable']/div[@class='tbody']/div[@class='tr-wrapper']["+ totalPeriodsInLease +"]/div[@class='tr']/div[@class='td expander svg-btn']/following-sibling::div[3]"), period.PeriodBasePaymentFrequency);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/LeaseTenants.cs b/testing/PIMS.Tests.Automation/PageObjects/LeaseTenants.cs
index bcec7629e0..a9d4c8f68a 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/LeaseTenants.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/LeaseTenants.cs
@@ -85,26 +85,22 @@ public void NavigateToStakeholderSection(string leaseType)
//Edit Tenant section
public void EditStakeholderButton()
{
- Wait(3000);
- webDriver.FindElement(StakeholderEditButton).Click();
+ WaitUntilClickable(StakeholderEditButton);
+ SafeClick(StakeholderEditButton);
}
//Search and add a new tenant
public void AddIndividualStakeholder(string leaseType, Stakeholder stakeholder)
{
- Wait();
-
if (leaseType == "Receivable")
- webDriver.FindElement(stakeholderAddTenantsBttn).Click();
+ SafeClick(stakeholderAddTenantsBttn);
else
- webDriver.FindElement(stakeholderAddPayeesBttn).Click();
+ SafeClick(stakeholderAddPayeesBttn);
- Wait();
sharedSelectContact.SelectContact(stakeholder.Summary, "Individual");
//Choose stakeholder type
- Wait();
- ChooseSpecificSelectOption(stakeholderType1stSelect, stakeholder.StakeholderType);
+ ChooseSelectOption(stakeholderType1stSelect, stakeholder.StakeholderType);
//Verify that the Primary Contact displays "Not applicable"
Assert.Equal("Not applicable", webDriver.FindElement(stakeholderPrimaryContact1stCell).Text);
@@ -112,50 +108,38 @@ public void AddIndividualStakeholder(string leaseType, Stakeholder stakeholder)
public void AddOrganizationTenant(string leaseType, Stakeholder stakeholder)
{
- Wait();
-
if (leaseType == "Receivable")
- webDriver.FindElement(stakeholderAddTenantsBttn).Click();
+ SafeClick(stakeholderAddTenantsBttn);
else
- webDriver.FindElement(stakeholderAddPayeesBttn).Click();
-
- Wait();
- webDriver.FindElement(stakeholderSearchInput).SendKeys(stakeholder.Summary);
- webDriver.FindElement(stakeholderOrganizationRadioBttn).Click();
- webDriver.FindElement(tenantSearchBttn).Click();
+ SafeClick(stakeholderAddPayeesBttn);
- ScrollToElement(stakeholderSearchInput);
- WaitUntilClickable(stakeholderFirstResultRadioBttn);
- webDriver.FindElement(stakeholderFirstResultRadioBttn).Click();
-
- WaitUntilClickable(stakeholderAddSelectedButton);
- webDriver.FindElement(stakeholderAddSelectedButton).Click();
+ sharedSelectContact.SelectContact(stakeholder.Summary, "Organization");
//Choose a primary contact if there's the option
if (webDriver.FindElements(stakeholderPrimaryContact1stSelect).Count > 0)
{
WaitUntilClickable(stakeholderPrimaryContact1stSelect);
- ChooseSpecificSelectOption(stakeholderPrimaryContact1stSelect, stakeholder.PrimaryContact);
+ ChooseSelectOption(stakeholderPrimaryContact1stSelect, stakeholder.PrimaryContact);
}
//Choose stakeholder type
- ChooseSpecificSelectOption(stakeholderType1stSelect, stakeholder.StakeholderType);
+ ChooseSelectOption(stakeholderType1stSelect, stakeholder.StakeholderType);
}
public void DeleteNthStakeholder(int index)
{
- Wait();
var nthStakeholderRemoveButton = By.CssSelector("div[data-testid='selected-items'] div[class='tr-wrapper']:nth-child("+ index +") button[title='Click to remove']");
+ WaitUntilClickable(nthStakeholderRemoveButton);
webDriver.FindElement(nthStakeholderRemoveButton).Click();
}
public void EditStakeholder(Stakeholder tenant)
{
- Wait();
+ WaitUntilVisible(stakeholderTotalSelected);
var totalStakeholderIndex = webDriver.FindElements(stakeholderTotalSelected).Count -1;
By lastStakeholderSelector = By.Id("input-stakeholders."+ totalStakeholderIndex +".stakeholderType");
- ChooseSpecificSelectOption(lastStakeholderSelector, tenant.StakeholderType);
+ ChooseSelectOption(lastStakeholderSelector, tenant.StakeholderType);
}
public void SaveTenant()
@@ -175,49 +159,49 @@ public void SaveTenant()
public int TotalAssignees()
{
- Wait();
+ Wait(500);
return webDriver.FindElements(stakeholderTotalAssigneeView).Count;
}
public int TotalTenants()
{
- Wait();
+ Wait(500);
return webDriver.FindElements(stakeholderTotalTenantsView).Count;
}
public int TotalRepresentatives()
{
- Wait();
+ Wait(500);
return webDriver.FindElements(stakeholderTotalRepresentativeView).Count;
}
public int TotalManagers()
{
- Wait();
+ Wait(500);
return webDriver.FindElements(stakeholderTotalManagerView).Count;
}
public int TotalUnknown()
{
- Wait();
+ Wait(500);
return webDriver.FindElements(stakeholderTotalUnknownView).Count;
}
public int TotalOwners()
{
- Wait();
+ Wait(500);
return webDriver.FindElements(stakeholderTotalOwnerView).Count;
}
public int TotalOwnerRepresentatives()
{
- Wait();
+ Wait(500);
return webDriver.FindElements(stakeholderTotalOwnerRepView).Count;
}
public int TotalTenantOther()
{
- Wait();
+ Wait(500);
return webDriver.FindElements(stakeholderTotalOtherView).Count;
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/LeasesChecklist.cs b/testing/PIMS.Tests.Automation/PageObjects/LeasesChecklist.cs
index 549c850158..39c60d4c38 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/LeasesChecklist.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/LeasesChecklist.cs
@@ -128,7 +128,7 @@ public void EditChecklistButton()
public void VerifyChecklistInitViewForm()
{
- Wait();
+ WaitUntilVisible(checklistFileInitiationTitle);
AssertTrueIsDisplayed(checklistFileInitiationTitle);
AssertTrueIsDisplayed(checklistFileInitiation1Label);
@@ -329,25 +329,25 @@ public void VerifyChecklistViewForm(LeaseChecklist checklist)
public void UpdateChecklist(LeaseChecklist checklist)
{
- Wait();
+ WaitUntilClickable(checklistFileInitiationItem1Select);
if (checklist.FileInitiationSelect1 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem1Select, checklist.FileInitiationSelect1);
+ ChooseSelectOption(checklistFileInitiationItem1Select, checklist.FileInitiationSelect1);
if (checklist.FileInitiationSelect2 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem2Select, checklist.FileInitiationSelect2);
+ ChooseSelectOption(checklistFileInitiationItem2Select, checklist.FileInitiationSelect2);
if (checklist.FileInitiationSelect3 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem3Select, checklist.FileInitiationSelect3);
+ ChooseSelectOption(checklistFileInitiationItem3Select, checklist.FileInitiationSelect3);
if (checklist.FileInitiationSelect4 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem4Select, checklist.FileInitiationSelect4);
+ ChooseSelectOption(checklistFileInitiationItem4Select, checklist.FileInitiationSelect4);
if (checklist.FileInitiationSelect5 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem5Select, checklist.FileInitiationSelect5);
+ ChooseSelectOption(checklistFileInitiationItem5Select, checklist.FileInitiationSelect5);
if (checklist.FileInitiationSelect6 != "")
- ChooseSpecificSelectOption(checklistFileInitiationItem6Select, checklist.FileInitiationSelect6);
+ ChooseSelectOption(checklistFileInitiationItem6Select, checklist.FileInitiationSelect6);
if (checklist.ReferralsApprovalsSelect1 != "")
- ChooseSpecificSelectOption(checklistReferralsApprovals1Select, checklist.ReferralsApprovalsSelect1);
+ ChooseSelectOption(checklistReferralsApprovals1Select, checklist.ReferralsApprovalsSelect1);
if (checklist.ReferralsApprovalsSelect2 != "")
- ChooseSpecificSelectOption(checklistReferralsApprovals2Select, checklist.ReferralsApprovalsSelect2);
+ ChooseSelectOption(checklistReferralsApprovals2Select, checklist.ReferralsApprovalsSelect2);
//if (checklist.ReferralsApprovalsSelect3 != "")
// ChooseSpecificSelectOption(checklistReferralsApprovals3Select, checklist.ReferralsApprovalsSelect3);
//if (checklist.ReferralsApprovalsSelect4 != "")
@@ -362,43 +362,41 @@ public void UpdateChecklist(LeaseChecklist checklist)
// ChooseSpecificSelectOption(checklistReferralsApprovals8Select, checklist.ReferralsApprovalsSelect8);
if (checklist.AgreementPreparationSelect1 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation1Select, checklist.AgreementPreparationSelect1);
+ ChooseSelectOption(checklistAgreementPreparation1Select, checklist.AgreementPreparationSelect1);
if (checklist.AgreementPreparationSelect2 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation2Select, checklist.AgreementPreparationSelect2);
+ ChooseSelectOption(checklistAgreementPreparation2Select, checklist.AgreementPreparationSelect2);
if (checklist.AgreementPreparationSelect3 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation3Select, checklist.AgreementPreparationSelect3);
+ ChooseSelectOption(checklistAgreementPreparation3Select, checklist.AgreementPreparationSelect3);
if (checklist.AgreementPreparationSelect4 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation4Select, checklist.AgreementPreparationSelect4);
+ ChooseSelectOption(checklistAgreementPreparation4Select, checklist.AgreementPreparationSelect4);
if (checklist.AgreementPreparationSelect5 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation5Select, checklist.AgreementPreparationSelect5);
+ ChooseSelectOption(checklistAgreementPreparation5Select, checklist.AgreementPreparationSelect5);
if (checklist.AgreementPreparationSelect6 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation6Select, checklist.AgreementPreparationSelect6);
+ ChooseSelectOption(checklistAgreementPreparation6Select, checklist.AgreementPreparationSelect6);
if (checklist.AgreementPreparationSelect7 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation7Select, checklist.AgreementPreparationSelect7);
+ ChooseSelectOption(checklistAgreementPreparation7Select, checklist.AgreementPreparationSelect7);
if (checklist.AgreementPreparationSelect8 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation8Select, checklist.AgreementPreparationSelect8);
+ ChooseSelectOption(checklistAgreementPreparation8Select, checklist.AgreementPreparationSelect8);
if (checklist.AgreementPreparationSelect9 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation9Select, checklist.AgreementPreparationSelect9);
+ ChooseSelectOption(checklistAgreementPreparation9Select, checklist.AgreementPreparationSelect9);
if (checklist.AgreementPreparationSelect10 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation10Select, checklist.AgreementPreparationSelect10);
+ ChooseSelectOption(checklistAgreementPreparation10Select, checklist.AgreementPreparationSelect10);
if (checklist.AgreementPreparationSelect11 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation11Select, checklist.AgreementPreparationSelect11);
+ ChooseSelectOption(checklistAgreementPreparation11Select, checklist.AgreementPreparationSelect11);
if (checklist.AgreementPreparationSelect12 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation12Select, checklist.AgreementPreparationSelect12);
+ ChooseSelectOption(checklistAgreementPreparation12Select, checklist.AgreementPreparationSelect12);
if (checklist.AgreementPreparationSelect13 != "")
- ChooseSpecificSelectOption(checklistAgreementPreparation13Select, checklist.AgreementPreparationSelect13);
+ ChooseSelectOption(checklistAgreementPreparation13Select, checklist.AgreementPreparationSelect13);
if (checklist.LeaseLicenceCompletionSelect1 != "")
- ChooseSpecificSelectOption(checklistLeaseLicenseCompletion1Select, checklist.LeaseLicenceCompletionSelect1);
+ ChooseSelectOption(checklistLeaseLicenseCompletion1Select, checklist.LeaseLicenceCompletionSelect1);
if (checklist.LeaseLicenceCompletionSelect2 != "")
- ChooseSpecificSelectOption(checklistLeaseLicenseCompletion2Select, checklist.LeaseLicenceCompletionSelect2);
+ ChooseSelectOption(checklistLeaseLicenseCompletion2Select, checklist.LeaseLicenceCompletionSelect2);
}
public void SaveLeaseChecklist()
{
- Wait();
ButtonElement("Save");
-
AssertTrueIsDisplayed(checklistEditBttn);
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/ManageUsers.cs b/testing/PIMS.Tests.Automation/PageObjects/ManageUsers.cs
index e3038cab9e..1aa528d3a7 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/ManageUsers.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/ManageUsers.cs
@@ -58,8 +58,6 @@ public ManageUsers(IWebDriver webDriver) : base(webDriver)
public void NavigateAdminTools()
{
- Wait(3000);
-
WaitUntilClickable(mainMenuAdminToolLink);
FocusAndClick(mainMenuAdminToolLink);
}
@@ -90,49 +88,49 @@ public void OrderByUserFirstName()
public void OrderByUserLastName()
{
- WaitUntilClickable(userManagerHeaderOrderByLastNameBttn);
+ Wait();
webDriver.FindElement(userManagerHeaderOrderByLastNameBttn).Click();
}
public void OrderByUserMail()
{
- WaitUntilClickable(userManagerHeaderOrderByEmailBttn);
+ Wait();
webDriver.FindElement(userManagerHeaderOrderByEmailBttn).Click();
}
public void OrderByUserPosition()
{
- WaitUntilClickable(userManagerHeaderOrderByPositionBttn);
+ Wait();
webDriver.FindElement(userManagerHeaderOrderByPositionBttn).Click();
}
public string FirstUserIDIR()
{
- WaitUntilTableSpinnerDisappear();
+ Wait();
return webDriver.FindElement(userManager1stIDIRContent).Text;
}
public string FirstUserFirstName()
{
- WaitUntilTableSpinnerDisappear();
+ Wait();
return webDriver.FindElement(userManager1stFirstNameContent).Text;
}
public string FirstUserLastName()
{
- WaitUntilTableSpinnerDisappear();
+ Wait();
return webDriver.FindElement(userManager1stLastNameContent).Text;
}
public string FirstUserEmail()
{
- WaitUntilTableSpinnerDisappear();
+ Wait();
return webDriver.FindElement(userManager1stEmailContent).Text;
}
public string FirstUserPosition()
{
- WaitUntilTableSpinnerDisappear();
+ Wait();
return webDriver.FindElement(userManager1stPositionContent).Text;
}
@@ -150,7 +148,7 @@ public void FilterUsers(string idir, string region)
if (region != "")
{
WaitUntilClickable(userManagementRegionSelect);
- ChooseSpecificSelectOption(userManagementRegionSelect, region);
+ ChooseSelectOption(userManagementRegionSelect, region);
}
webDriver.FindElement(userManagementSearchButton).Click();
@@ -187,7 +185,7 @@ public void VerifyManageUserListView()
public int TotalUsersResult()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(userManagerTableResults).Count();
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/ManagementActivities.cs b/testing/PIMS.Tests.Automation/PageObjects/ManagementActivities.cs
index 1d1afaf370..c2b9889cf7 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/ManagementActivities.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/ManagementActivities.cs
@@ -77,7 +77,7 @@ public void NavigateActivitiesTab()
public void AddActivityBttn()
{
- Wait(4000);
+ WaitUntilClickable(activitiesBttn);
webDriver.FindElement(activitiesBttn).Click();
WaitUntilSpinnerDisappear();
@@ -85,15 +85,13 @@ public void AddActivityBttn()
public void OpenActivityDetails(int index)
{
- Wait();
-
WaitUntilClickable(By.XPath("//div[contains(text(),'Activity List')]/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div[@data-testid='PropertyManagementActivitiesTable']/div[@class='tbody']/div["+ index +"]/div/div[5]/div/button[@title='property-activity view details']"));
webDriver.FindElement(By.XPath("//div[contains(text(),'Activity List')]/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div[@data-testid='PropertyManagementActivitiesTable']/div[@class='tbody']/div["+ index +"]/div/div[5]/div/button[@title='property-activity view details']")).Click();
}
public void DeleteNthActivity(int index)
{
- Wait();
+ WaitUntilClickable(By.CssSelector("div[data-testid='AcquisitionCompensationTable'] div[class='tbody'] div[class='tr-wrapper'] div button[data-testid='compensation-delete-"+ index +"']"));
FocusAndClick(By.CssSelector("div[data-testid='AcquisitionCompensationTable'] div[class='tbody'] div[class='tr-wrapper'] div button[data-testid='compensation-delete-"+ index +"']"));
if (webDriver.FindElements(actibityConfirmationModal).Count() > 0)
@@ -108,19 +106,15 @@ public void DeleteNthActivity(int index)
public void SaveActivity()
{
- Wait();
ButtonElement("Save");
-
AssertTrueIsDisplayed(activityTrayEditBttn);
}
public void CancelActivity()
{
- Wait();
ButtonElement("Cancel");
sharedModals.CancelActionModal();
-
AssertTrueIsDisplayed(activityTrayEditBttn);
}
@@ -173,16 +167,16 @@ public void ViewLastActivityFromList()
public void ViewLastActivityButton()
{
- Wait();
+ WaitUntilClickable(By.CssSelector("div[data-testid='mgmt-activity-list'] div[class='tr-wrapper']:first-child button[title='property-activity view details']"));
webDriver.FindElement(By.CssSelector("div[data-testid='mgmt-activity-list'] div[class='tr-wrapper']:first-child button[title='property-activity view details']")).Click();
}
public void VerifyLastInsertedActivityTable(PropertyActivity activity)
{
- Wait();
+ WaitUntilVisible(By.CssSelector("div[data-testid='mgmt-activity-list'] div[class='tbody'] div[class='tr-wrapper']:first-child [role='cell']:first-child"));
AssertTrueContentEquals(By.CssSelector("div[data-testid='mgmt-activity-list'] div[class='tbody'] div[class='tr-wrapper']:first-child [role='cell']:first-child"), activity.PropertyActivityType);
-// AssertTrueContentEquals(By.XPath("//div[contains(text(),'Activity List')]/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div[@data-testid='PropertyManagementActivitiesTable']/div[@class='tbody']/div[@class='tr-wrapper']["+ lastInsertedActivityIndex +"]/div/div[@role='cell'][2]"), activity.PropertyActivitySubType); TODO
+ //AssertTrueContentEquals(By.XPath("//div[contains(text(),'Activity List')]/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div[@data-testid='PropertyManagementActivitiesTable']/div[@class='tbody']/div[@class='tr-wrapper']["+ lastInsertedActivityIndex +"]/div/div[@role='cell'][2]"), activity.PropertyActivitySubType); TODO
AssertTrueContentEquals(By.CssSelector("div[data-testid='mgmt-activity-list'] div[class='tbody'] div[class='tr-wrapper']:first-child [role='cell']:nth-child(3)"), activity.PropertyActivityStatus);
AssertTrueContentEquals(By.CssSelector("div[data-testid='mgmt-activity-list'] div[class='tbody'] div[class='tr-wrapper']:first-child [role='cell']:nth-child(4)"), TransformDateFormat(activity.PropertyActivityCommenceDate));
Assert.True(webDriver.FindElements(By.CssSelector("div[data-testid='mgmt-activity-list'] div[class='tbody'] div[class='tr-wrapper']:first-child [role='cell']:nth-child(5) div div")).Count > 0);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/ManagementDetails.cs b/testing/PIMS.Tests.Automation/PageObjects/ManagementDetails.cs
index 88eff7dd03..76e144d711 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/ManagementDetails.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/ManagementDetails.cs
@@ -101,7 +101,7 @@ public ManagementDetails(IWebDriver webDriver) : base(webDriver)
public void NavigateToCreateNewManagementFile()
{
- Wait();
+ WaitUntilClickable(managementMainMenu);
FocusAndClick(managementMainMenu);
WaitUntilClickable(managementMainMenuCreateLink);
@@ -110,31 +110,31 @@ public void NavigateToCreateNewManagementFile()
public void NavigateToManagementFileSection()
{
- Wait();
+ WaitUntilClickable(managementFileSummaryBttn);
webDriver.FindElement(managementFileSummaryBttn).Click();
}
public void CreateMinimumManagementDetails(ManagementFile mgmtFile)
{
- Wait();
+ WaitUntilClickable(managementFileNameInput);
//Management File Name
webDriver.FindElement(managementFileNameInput).SendKeys(mgmtFile.ManagementName);
//Purpose
- ChooseSpecificSelectOption(managementFilePurposeSelect, mgmtFile.ManagementPurpose);
+ ChooseSelectOption(managementFilePurposeSelect, mgmtFile.ManagementPurpose);
}
public void UpdateManagementFileDetails(ManagementFile mgmtFile)
{
- Wait();
+ WaitUntilVisible(managementFileStatusLabel);
//AssertTrueIsDisplayed(updateManagementTitle);
//Status
AssertTrueIsDisplayed(managementFileStatusLabel);
if(mgmtFile.ManagementStatus != "")
- ChooseSpecificSelectOption(managementFileStatusInput, mgmtFile.ManagementStatus);
+ ChooseSelectOption(managementFileStatusInput, mgmtFile.ManagementStatus);
//PROJECT
//Project
@@ -146,19 +146,19 @@ public void UpdateManagementFileDetails(ManagementFile mgmtFile)
webDriver.FindElement(managementFileProjectInput).SendKeys(Keys.Enter);
webDriver.FindElement(managementFileProjectInput).SendKeys(Keys.Backspace);
- Wait();
+ WaitUntilClickable(managementFileProject1stOption);
webDriver.FindElement(managementFileProject1stOption).Click();
}
//Product
AssertTrueIsDisplayed(managementFileProjectProductLabel);
if (mgmtFile.ManagementMinistryProduct != "")
- ChooseSpecificSelectOption(managementFileProjectProductSelect, mgmtFile.ManagementMinistryProduct);
+ ChooseSelectOption(managementFileProjectProductSelect, mgmtFile.ManagementMinistryProduct);
//Funding
AssertTrueIsDisplayed(managementFileProjectFundingLabel);
if (mgmtFile.ManagementMinistryFunding != "")
- ChooseSpecificSelectOption(managementFileProjectFundingInput, mgmtFile.ManagementMinistryFunding);
+ ChooseSelectOption(managementFileProjectFundingInput, mgmtFile.ManagementMinistryFunding);
//MANAGEMENT DETAILS
//File Name
@@ -180,7 +180,7 @@ public void UpdateManagementFileDetails(ManagementFile mgmtFile)
//Purpose
AssertTrueIsDisplayed(managementFilePurposeLabel);
if (mgmtFile.ManagementPurpose != "")
- ChooseSpecificSelectOption(managementFilePurposeSelect, mgmtFile.ManagementPurpose);
+ ChooseSelectOption(managementFilePurposeSelect, mgmtFile.ManagementPurpose);
//Responsible Payer
AssertTrueIsDisplayed(managementFileResponsiblePayerLabel);
@@ -201,7 +201,7 @@ public void UpdateManagementFileDetails(ManagementFile mgmtFile)
//Ministry Region
AssertTrueIsDisplayed(managementFileMinistryRegionLabel);
if (mgmtFile.ManagementMinistryRegion != "")
- ChooseSpecificSelectOption(managementFileMinistryRegionSelect, mgmtFile.ManagementMinistryRegion);
+ ChooseSelectOption(managementFileMinistryRegionSelect, mgmtFile.ManagementMinistryRegion);
//MANAGEMENT TEAM
if (mgmtFile.ManagementTeam!.Count > 0)
@@ -235,7 +235,7 @@ public void UpdateManagementFileDetails(ManagementFile mgmtFile)
public void EditMgmtFileDetailsBttn()
{
- Wait();
+ WaitUntilClickable(managementFileDetailsEditBttn);
webDriver.FindElement(managementFileDetailsEditBttn).Click();
}
@@ -244,7 +244,7 @@ public void SaveManagementFile()
//Save
ButtonElement("Save");
- Wait();
+ WaitUntilVisible(managementFileConfirmationModal);
while (webDriver.FindElements(managementFileConfirmationModal).Count > 0)
{
if (sharedModals.ModalContent().Contains("The selected property already exists in the system's inventory"))
@@ -254,7 +254,6 @@ public void SaveManagementFile()
Assert.Contains("To add the property, the spatial details for this property will need to be updated. The system will attempt to update the property record with spatial information from the current selection.", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
- Wait();
}
else if (sharedModals.ModalContent().Contains("You have made changes to the properties in this file."))
{
@@ -262,8 +261,6 @@ public void SaveManagementFile()
Assert.Contains("You have made changes to the properties in this file.", sharedModals.ModalContent());
Assert.Contains("Do you want to save these changes?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
-
- Wait();
}
else if (sharedModals.ModalHeader() == "Confirm status change")
{
@@ -271,8 +268,6 @@ public void SaveManagementFile()
Assert.Contains("If you save it, only the administrator can turn it back on. You will still see it in the management table.", sharedModals.ConfirmationModalParagraph1());
Assert.Equal("Do you want to acknowledge and proceed?", sharedModals.ConfirmationModalParagraph2());
sharedModals.ModalClickOKBttn();
-
- Wait();
}
else
break;
@@ -287,13 +282,13 @@ public void CancelManagementFile()
public string GetManagementCode()
{
- Wait();
+ WaitUntilVisible(managementFileHeaderFileNbrContent);
return webDriver.FindElement(managementFileHeaderFileNbrContent).Text;
}
public void VerifyManagementFileInitCreateForm()
{
- Wait();
+ WaitUntilVisible(managementFileProjectSubtitle);
//Create Title
//AssertTrueIsDisplayed(createManagementTitle);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/MapFeatures.cs b/testing/PIMS.Tests.Automation/PageObjects/MapFeatures.cs
index 0080bd677c..c26fb75771 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/MapFeatures.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/MapFeatures.cs
@@ -135,13 +135,13 @@ public MapFeatures(IWebDriver driver) : base(driver)
public void OpenMapLayers()
{
- Wait();
+ WaitUntilClickable(mapLayersButton);
webDriver.FindElement(mapLayersButton).Click();
}
public void VerifyMapLayers()
{
- Wait();
+ WaitUntilVisible(mapLayersTitle);
AssertTrueIsDisplayed(mapLayersTitle);
AssertTrueIsDisplayed(mapLayersPIMSSubtitle);
AssertTrueIsDisplayed(mapLayersPIMSResearchInput);
@@ -186,8 +186,9 @@ public void VerifyMapLayers()
AssertTrueIsDisplayed(mapLayersAdminBoundariesLabel);
webDriver.FindElement(mapLayersAdminBoundariesCollapseBttn).Click();
- Wait(1000);
+
ScrollToElement(mapLayersRegionalDistrictsCheck);
+ WaitUntilVisible(mapLayersRegionalDistrictsCheck);
AssertTrueIsDisplayed(mapLayersCurrentCensusCheck);
AssertTrueIsDisplayed(mapLayersCurrentCensusLabel);
AssertTrueIsDisplayed(mapLayersMOTIRegionsCheck);
@@ -202,7 +203,7 @@ public void VerifyMapLayers()
webDriver.FindElement(mapLayersAdminBoundariesCollapseBttn).Click();
webDriver.FindElement(mapLayersLegalHighwayResearchCollapseBttn).Click();
- Wait(1000);
+ WaitUntilVisible(mapLayersLegalHighwayResearchCheck);
AssertTrueIsDisplayed(mapLayersLegalHighwayResearchCheck);
AssertTrueIsDisplayed(mapLayersLegalHighwayResearchLabel);
AssertTrueIsDisplayed(mapLayersGazettedHighwayCheck);
@@ -223,7 +224,7 @@ public void VerifyMapLayers()
webDriver.FindElement(mapLayersLegalHighwayResearchCollapseBttn).Click();
webDriver.FindElement(mapLayersFirstNationsCollapseBttn).Click();
- Wait(1000);
+ WaitUntilVisible(mapLayersFirstNationsCheck);
AssertTrueIsDisplayed(mapLayersFirstNationsCheck);
AssertTrueIsDisplayed(mapLayersFirstNationsLabel);
AssertTrueIsDisplayed(mapLayersFirstNationsReservesCheck);
@@ -240,7 +241,7 @@ public void VerifyMapLayers()
webDriver.FindElement(mapLayersFirstNationsCollapseBttn).Click();
webDriver.FindElement(mapLayersLandOwnershipCollapseBttn).Click();
- Wait(1000);
+ WaitUntilVisible(mapLayersLandOwnershipCheck);
AssertTrueIsDisplayed(mapLayersLandOwnershipCheck);
AssertTrueIsDisplayed(mapLayersLandOwnershipLabel);
AssertTrueIsDisplayed(mapLayersCrownLeasesCheck);
@@ -263,7 +264,7 @@ public void VerifyMapLayers()
webDriver.FindElement(mapLayersLandOwnershipCollapseBttn).Click();
webDriver.FindElement(mapLayersZoningCollapseBttn).Click();
- Wait(1000);
+ WaitUntilVisible(mapLayersZoningCheck);
AssertTrueIsDisplayed(mapLayersZoningCheck);
AssertTrueIsDisplayed(mapLayersZoningLabel);
AssertTrueIsDisplayed(mapLayersAgriculturalLandReserveCheck);
@@ -272,7 +273,7 @@ public void VerifyMapLayers()
webDriver.FindElement(mapLayersZoningCollapseBttn).Click();
webDriver.FindElement(mapLayersElectoralCollapseBttn).Click();
- Wait(1000);
+ WaitUntilVisible(mapLayersElectoralCheck);
AssertTrueIsDisplayed(mapLayersElectoralCheck);
AssertTrueIsDisplayed(mapLayersElectoralLabel);
AssertTrueIsDisplayed(mapLayersCurrentProvincialElectoralDistrictsBCCheck);
@@ -281,7 +282,7 @@ public void VerifyMapLayers()
webDriver.FindElement(mapLayersElectoralCollapseBttn).Click();
webDriver.FindElement(mapLayersFederalBCParksCollapseBttn).Click();
- Wait(1000);
+ WaitUntilVisible(mapLayersFederalBCParksCheck);
AssertTrueIsDisplayed(mapLayersFederalBCParksCheck);
AssertTrueIsDisplayed(mapLayersFederalBCParksLabel);
AssertTrueIsDisplayed(mapLayersFederalParksCheck);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/Notes.cs b/testing/PIMS.Tests.Automation/PageObjects/Notes.cs
index e650267cf2..f102c9fe21 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/Notes.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/Notes.cs
@@ -22,7 +22,7 @@ public class Notes : PageObjectBase
private readonly By notesTab2ndResultViewBttn = By.XPath("//div[@data-testid='notesTable']/div[@class='tbody']/div[@class='tr-wrapper'][2]/div/div[4]/div/button[@title='View Note']");
//Notes 1st result Elements
- private readonly By note1stNoteContent = By.CssSelector("div[data-testid='notesTable'] div[class='tbody'] div[class='tr-wrapper'] div:nth-child(1) div:nth-child(1)");
+ private readonly By note1stNoteContent = By.CssSelector("div[data-testid='notesTable'] div[class='tbody'] div[class='tr-wrapper'] div[role='row']:first-child div[role='cell']:first-child");
private readonly By note2ndDeleteNoteBttn = By.CssSelector("div[data-testid='notesTable'] div[class='tbody'] div[class='tr-wrapper']:nth-child(2) div[role='cell']:nth-child(4) div button[title='Delete Note']");
//Property Notes Table Elements
@@ -96,18 +96,14 @@ public Notes(IWebDriver webDriver) : base(webDriver)
public void NavigateNotesTab()
{
- Wait(2000);
-
- WaitUntilClickable(notesTabLink);
- webDriver.FindElement(notesTabLink).Click();
+ SafeClick(notesTabLink);
}
public void NavigateToFirstManagementNote()
{
var originalWindowHandle = webDriver.CurrentWindowHandle;
- Wait();
- webDriver.FindElement(mgmtNotesTableName1stContent).Click();
+ SafeClick(mgmtNotesTableName1stContent);
Wait();
var allWindowsHandle = webDriver.WindowHandles;
@@ -119,7 +115,7 @@ public void NavigateToFirstPropertyNote()
{
var originalWindowHandle = webDriver.CurrentWindowHandle;
- Wait();
+ WaitUntilClickable(propNotesTableName1stContent);
webDriver.FindElement(propNotesTableName1stContent).Click();
Wait();
@@ -130,8 +126,8 @@ public void NavigateToFirstPropertyNote()
public void CreateNotesTabButton()
{
- Wait();
- FocusAndClick(notesTabAddBttn);
+ WaitUntilClickable(notesTabAddBttn);
+ SafeClick(notesTabAddBttn);
}
public void AddNewNoteDetails(string note)
@@ -142,8 +138,8 @@ public void AddNewNoteDetails(string note)
public void ViewSecondNoteDetails()
{
- Wait();
- webDriver.FindElement(notesTab2ndResultViewBttn).Click();
+ WaitUntilClickable(notesTab2ndResultViewBttn);
+ SafeClick(notesTab2ndResultViewBttn);
}
public void EditNote(string note)
@@ -157,7 +153,7 @@ public void EditNote(string note)
public void SaveNote()
{
- Wait();
+ WaitUntilClickable(notesAddDetailsSaveBttn);
webDriver.FindElement(notesAddDetailsSaveBttn).Click();
}
@@ -166,22 +162,22 @@ public void CancelNote()
WaitUntilClickable(notesAddDetailsCancelBttn);
webDriver.FindElement(notesAddDetailsCancelBttn).Click();
- Wait();
+ WaitUntilVisible(notesCancelPopupContent);
if (webDriver.FindElements(notesCancelPopupContent).Count() > 0)
{
AssertTrueIsDisplayed(notesCancelPopupHeader);
Assert.Contains("If you choose to cancel now, your changes will not be saved.", webDriver.FindElement(notesCancelPopupBody).Text);
Assert.Contains("Do you want to proceed?", webDriver.FindElement(notesCancelPopupBody).Text);
- Wait(2000);
+ WaitUntilClickable(notesCancelOkBttn);
webDriver.FindElement(notesCancelOkBttn).Click();
}
}
public void DeleteLastSecondNote()
{
- Wait(2000);
- webDriver.FindElement(note2ndDeleteNoteBttn).Click();
+ WaitUntilClickable(note2ndDeleteNoteBttn);
+ SafeClick(note2ndDeleteNoteBttn);
WaitUntilVisible(notesDeletePopupHeader);
AssertTrueContentEquals(notesDeletePopupHeader, "Delete Note");
@@ -217,7 +213,7 @@ public void VerifyNotesEditForm()
public void VerifyNotesTabListView()
{
- Wait(3000);
+ WaitUntilClickable(notesTabTitle);
AssertTrueIsDisplayed(notesTabTitle);
AssertTrueIsDisplayed(notesTabAddBttn);
@@ -288,27 +284,28 @@ public void VerifySecondaryNotesListContent(string feature, string note)
public int NotesTabCount()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
+ WaitUntilClickable(notesTabTableContentTotal);
return webDriver.FindElements(notesTabTableContentTotal).Count();
}
public void VerifyAutomaticNotes(string fileType, string fromStatus, string toStatus)
{
- WaitUntilTableSpinnerDisappear();
-
+ WaitForTableToLoad();
+ WaitUntilVisible(note1stNoteContent);
WaitUntilVisibleText(note1stNoteContent, webDriver.FindElement(note1stNoteContent).Text);
AssertTrueContentEquals(note1stNoteContent, fileType + " status changed from "+ fromStatus +" to " + toStatus);
}
public void VerifyAutomaticNotesCompensation(string CompensationNbr, string fromStatus, string toStatus)
{
- Wait();
+ WaitUntilClickable(note1stNoteContent);
AssertTrueContentEquals(note1stNoteContent, "Compensation Requisition with # " + CompensationNbr + ", changed status from '"+ fromStatus +"' to '" + toStatus + "'");
}
public void VerifyAutomaticNotesPropertyStatus(string status)
{
- Wait();
+ WaitUntilClickable(note1stNoteContent);
AssertTrueElementContains(note1stNoteContent, "Management File property");
AssertTrueElementContains(note1stNoteContent, status);
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/PageObjectBase.cs b/testing/PIMS.Tests.Automation/PageObjects/PageObjectBase.cs
index 0872d0eae7..dd31775305 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/PageObjectBase.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/PageObjectBase.cs
@@ -22,38 +22,139 @@ protected PageObjectBase(IWebDriver webDriver)
wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(60));
}
- protected virtual void Wait(int milliseconds = 3000) => Thread.Sleep(milliseconds);
+ protected virtual void Wait(int milliseconds = 1000) => Thread.Sleep(milliseconds);
protected void WaitUntilSpinnerDisappear()
{
wait.Until(ExpectedConditions.InvisibilityOfElementLocated(loadingSpinner));
- Wait();
}
- protected void WaitUntilPropertySpinnerDisappear()
+ protected void WaitForTableToLoad(By rowLocator)
{
- wait.Until(ExpectedConditions.InvisibilityOfElementLocated(propertiesSpinner));
+ wait.IgnoreExceptionTypes(
+ typeof(StaleElementReferenceException),
+ typeof(NoSuchElementException)
+ );
+
+ // Wait until spinner disappears
+ wait.Until(driver =>
+ {
+ var spinners = driver.FindElements(tableLoadingSpinner);
+ return spinners.Count == 0 || spinners.All(s => !s.Displayed);
+ });
+
+ // Optional: wait until table rows are present or stable
+ wait.Until(driver =>
+ {
+ var rows = driver.FindElements(rowLocator);
+ return rows.Count >= 0;
+ });
}
- protected void WaitUntilTableSpinnerDisappear()
+ protected void WaitForTableToLoad()
{
wait.Until(ExpectedConditions.InvisibilityOfElementLocated(tableLoadingSpinner));
- Wait();
}
- protected void WaitUntilStale(By element) => wait.Until(ExpectedConditions.StalenessOf(webDriver.FindElement(element)));
-
protected void WaitUntilDisappear(By element) => wait.Until(ExpectedConditions.InvisibilityOfElementLocated(element));
- protected void WaitUntilVisible(By element) => wait.Until(ExpectedConditions.ElementIsVisible(element));
+ protected void WaitUntilVisible(By element)
+ {
+ wait.IgnoreExceptionTypes(typeof(StaleElementReferenceException), typeof(NoSuchElementException));
+
+ wait.Until(d =>
+ {
+ var locator = webDriver.FindElement(element);
+
+ if (locator.Displayed)
+ {
+ return true;
+ }
+
+ return false;
+ });
+ }
+
+ protected IWebElement WaitUntilClickable(By by)
+ {
+ wait.IgnoreExceptionTypes(
+ typeof(StaleElementReferenceException),
+ typeof(NoSuchElementException),
+ typeof(ElementClickInterceptedException)
+ );
+
+ return wait.Until(webDriver =>
+ {
+ var element = webDriver.FindElement(by);
+ return (element.Displayed && element.Enabled) ? element : null;
+ });
+ }
+
+ protected void SafeClick(By by)
+ {
+ wait.PollingInterval = TimeSpan.FromMilliseconds(200);
+
+ wait.IgnoreExceptionTypes(
+ typeof(NoSuchElementException),
+ typeof(StaleElementReferenceException)
+ );
+
+ var js = (IJavaScriptExecutor)webDriver;
+
+ wait.Until(driver =>
+ {
+ var element = driver.FindElement(by);
- protected void WaitUntilExist(By element) => wait.Until(ExpectedConditions.ElementExists(element));
+ if (!element.Displayed || !element.Enabled)
+ return false;
- protected void WaitUntilClickable(By element) => wait.Until(ExpectedConditions.ElementToBeClickable(element));
+ js.ExecuteScript(
+ @"arguments[0].scrollIntoView({ block: 'center', inline: 'center' });",
+ element);
+
+ var clickable = (bool)js.ExecuteScript(@"
+ const el = arguments[0];
+ const rect = el.getBoundingClientRect();
+
+ if (rect.width === 0 || rect.height === 0) return false;
+
+ const x = rect.left + rect.width / 2;
+ const y = rect.top + rect.height / 2;
+
+ const topEl = document.elementFromPoint(x, y);
+ return topEl === el || el.contains(topEl);
+ ", element);
+
+ if (!clickable)
+ return false;
+
+ try
+ {
+ element.Click();
+ return true;
+ }
+ catch (ElementClickInterceptedException)
+ {
+ return false;
+ }
+ });
+ }
public void WaitUntilVisibleText(By element, string text)
{
+ wait.IgnoreExceptionTypes(
+ typeof(StaleElementReferenceException),
+ typeof(NoSuchElementException)
+ );
+
+ // Wait until the parent select is visible
+ wait.Until(webDriver =>
+ {
+ var parent = webDriver.FindElement(element);
+ return parent.Displayed ? parent : null;
+ });
var webElement = webDriver.FindElement(element);
+
wait.Until(ExpectedConditions.TextToBePresentInElement(webElement, text));
}
@@ -63,29 +164,14 @@ protected void ButtonElement(string buttonName)
if (buttonName == "Save")
{
- wait.Until(ExpectedConditions.ElementExists(saveButton));
- wait.Until(ExpectedConditions.ElementToBeClickable(saveButton));
- FocusAndClick(saveButton);
+ SafeClick(saveButton);
}
else
{
- wait.Until(ExpectedConditions.ElementExists(cancelButton));
- wait.Until(ExpectedConditions.ElementToBeClickable(cancelButton));
- FocusAndClick(cancelButton);
+ SafeClick(cancelButton);
}
}
- protected void ButtonElement(By button)
- {
- Wait();
-
- var js = (IJavaScriptExecutor)webDriver;
-
- wait.Until(ExpectedConditions.ElementExists(button));
- wait.Until(ExpectedConditions.ElementToBeClickable(button));
- webDriver.FindElement(button).Click();
- }
-
protected void FocusAndClick(By element)
{
wait.Until(ExpectedConditions.ElementExists(element));
@@ -106,23 +192,40 @@ protected void ScrollToElement(By element)
js.ExecuteScript("arguments[0].scrollIntoView();", selectedElement);
}
- protected void ChooseSpecificSelectOption(By parentElement, string option)
+ protected void ChooseSelectOption(By parentElement, string option)
{
- Wait();
+ wait.IgnoreExceptionTypes(
+ typeof(StaleElementReferenceException),
+ typeof(NoSuchElementException)
+ );
- var js = (IJavaScriptExecutor)webDriver;
+ // Wait until the parent select is visible
+ wait.Until(webDriver =>
+ {
+ var parent = webDriver.FindElement(parentElement);
+ return parent.Displayed ? parent : null;
+ });
- var selectElement = webDriver.FindElement(parentElement);
- wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(selectElement.FindElements(By.TagName("option"))));
+ // Wait until the desired option exists under the parent
+ wait.Until(webDriver =>
+ {
+ var parent = webDriver.FindElement(parentElement);
+ var options = parent.FindElements(By.TagName("option"));
- var childrenElements = selectElement.FindElements(By.TagName("option"));
- var selectedOption = childrenElements.Should().ContainSingle(b => b.Text.Equals(option)).Subject;
+ return options.Any(o => o.Text.Trim().Equals(option, StringComparison.OrdinalIgnoreCase));
+ });
- js.ExecuteScript("arguments[0].scrollIntoView();", selectedOption);
+ // Re-locate after the wait to avoid stale references
+ var selectElement = webDriver.FindElement(parentElement);
+ var selectedOption = selectElement
+ .FindElements(By.TagName("option"))
+ .Single(o => o.Text.Trim().Equals(option, StringComparison.OrdinalIgnoreCase));
+
+ ((IJavaScriptExecutor)webDriver).ExecuteScript("arguments[0].scrollIntoView({block:'center'});", selectedOption);
selectedOption.Click();
}
- protected void ChooseSpecificRadioButton(By parentName, string option)
+ protected void ChooseRadioButton(By parentName, string option)
{
var js = (IJavaScriptExecutor)webDriver;
@@ -135,16 +238,38 @@ protected void ChooseSpecificRadioButton(By parentName, string option)
js.ExecuteScript("arguments[0].click();", selectedOption);
}
- protected void ChooseMultiSelectSpecificOption(By element, string option)
+ protected void ChooseMultiSelectOption(By openLocator, By optionsContainerLocator, By closeLocator, string optionText)
{
var js = (IJavaScriptExecutor)webDriver;
- var parentElement = webDriver.FindElement(element);
- var childrenElements = parentElement.FindElements(By.TagName("li"));
- var selectedOption = childrenElements.Should().ContainSingle(o => o.Text.Equals(option)).Subject;
+ SafeClick(closeLocator);
- js.ExecuteScript("arguments[0].scrollIntoView();", selectedOption);
- selectedOption.Click();
+ Wait();
+ SafeClick(openLocator);
+
+ var optionElement = wait.Until(driver =>
+ {
+ var container = driver.FindElement(optionsContainerLocator);
+
+ var items = container.FindElements(By.TagName("li"))
+ .Where(x => x.Displayed)
+ .ToList();
+
+ return items.FirstOrDefault(x =>
+ !string.IsNullOrWhiteSpace(x.Text) &&
+ x.Text.Trim().Equals(optionText.Trim(), StringComparison.OrdinalIgnoreCase));
+ });
+
+ if (optionElement == null)
+ {
+ throw new NoSuchElementException(
+ $"Could not find option '{optionText}' in multiselect.");
+ }
+
+ js.ExecuteScript("arguments[0].scrollIntoView({block:'center'});", optionElement);
+ optionElement.Click();
+
+ SafeClick(closeLocator);
}
protected void ClearInput(By elementBy)
@@ -247,10 +372,23 @@ protected void AssertTrueIsDisplayed(By elementBy)
Assert.True(webDriver.FindElement(elementBy).Displayed);
}
- protected void AssertTrueContentEquals(By elementBy, string text = "")
+ protected void AssertTrueContentEquals(By elementBy, string expectedText = "")
{
- Wait();
- Assert.Equal(text, webDriver.FindElement(elementBy).Text);
+ wait.IgnoreExceptionTypes(
+ typeof(StaleElementReferenceException),
+ typeof(NoSuchElementException)
+ );
+
+ bool textMatched = wait.Until(webDriver =>
+ {
+ var element = webDriver.FindElement(elementBy);
+ return element.Displayed && element.Text.Trim().Equals(expectedText.Trim(), StringComparison.Ordinal);
+ });
+
+ Assert.True(
+ textMatched,
+ $"Expected element '{elementBy}' text to equal '{expectedText}'."
+ );
}
protected void AssertTrueElementValueEquals(By elementBy, string text = "")
diff --git a/testing/PIMS.Tests.Automation/PageObjects/Projects.cs b/testing/PIMS.Tests.Automation/PageObjects/Projects.cs
index 75c708f1f9..6f082e8d01 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/Projects.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/Projects.cs
@@ -108,36 +108,28 @@ public Projects(IWebDriver webDriver) : base(webDriver)
public void NavigateToCreateNewProject()
{
- Wait(3000);
-
- WaitUntilClickable(projectMenuBttn);
- FocusAndClick(projectMenuBttn);
-
- WaitUntilClickable(createProjectButton);
- FocusAndClick(createProjectButton);
+ SafeClick(projectMenuBttn);
+ SafeClick(createProjectButton);
}
public void NavigateProjectDetails()
{
- WaitUntilClickable(projectDetailTabLink);
- FocusAndClick(projectDetailTabLink);
+ SafeClick(projectDetailTabLink);
}
public void CreateProject(Project project)
{
- WaitUntilVisible(projectNameInput);
-
+ WaitUntilClickable(projectNameInput);
webDriver.FindElement(projectNameInput).SendKeys(project.Name);
+
if (project.Number != "")
- {
webDriver.FindElement(projectNumberInput).SendKeys(project.Number);
- }
- ChooseSpecificSelectOption(projectStatusSelect, project.ProjectStatus);
- ChooseSpecificSelectOption(projectMOTIRegionInput, project.ProjectMOTIRegion);
+
+ ChooseSelectOption(projectStatusSelect, project.ProjectStatus);
+ ChooseSelectOption(projectMOTIRegionInput, project.ProjectMOTIRegion);
if (project.Summary != "")
- {
webDriver.FindElement(projectSummaryTextarea).SendKeys(project.Summary);
- }
+
if (project.CostType != "")
{
webDriver.FindElement(projectCostTypeInput).SendKeys(project.CostType);
@@ -160,8 +152,6 @@ public void CreateProject(Project project)
public void CreateProduct(Product product, int index)
{
- Wait(2000);
-
By productCodeDynamicInput = By.Id("input-products."+ index +".code");
By productNameDynamicInput = By.Id("input-products."+ index +".description");
By productStartDateDynamicInput = By.Id("datepicker-products."+ index +".startDate");
@@ -171,7 +161,7 @@ public void CreateProduct(Product product, int index)
By productScopeDynamicInput = By.Id("input-products."+ index +".scope");
WaitUntilClickable(projectAddProductButton);
- FocusAndClick(projectAddProductButton);
+ SafeClick(projectAddProductButton);
webDriver.FindElement(productCodeDynamicInput).SendKeys(product.ProductCode);
webDriver.FindElement(productNameDynamicInput).SendKeys(product.ProductName);
@@ -227,10 +217,10 @@ public void UpdateProject(Project project)
webDriver.FindElement(projectNumberInput).SendKeys(project.Number);
if (project.ProjectStatus != "")
- ChooseSpecificSelectOption(projectStatusSelect, project.ProjectStatus);
+ ChooseSelectOption(projectStatusSelect, project.ProjectStatus);
if (project.ProjectMOTIRegion != "")
- ChooseSpecificSelectOption(projectMOTIRegionInput, project.ProjectMOTIRegion);
+ ChooseSelectOption(projectMOTIRegionInput, project.ProjectMOTIRegion);
if (project.Summary != "")
webDriver.FindElement(projectSummaryTextarea).SendKeys(project.Summary);
@@ -264,7 +254,6 @@ public void UpdateProduct(Product product, int index)
By productEstimateDateDynamicInput = By.Id("datepicker-products."+ index +".costEstimateDate");
By productObjectiveDynamicInput = By.Id("input-products."+ index +".objective");
By productScopeDynamicInput = By.Id("input-products."+ index +".scope");
-
//Cleaning previous input
if (webDriver.FindElements(productEstimateDateDynamicInput).Count > 0)
@@ -311,7 +300,6 @@ public void DeleteProduct(int productIndex)
if (webDriver.FindElements(productDeleteModal).Count > 0)
{
- Wait();
Assert.Equal("Remove Product", sharedModals.ModalHeader());
Assert.Equal("Deleting this product will remove it from all \"Product\" dropdowns. Are you certain you wish to proceed?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
@@ -336,7 +324,7 @@ public void DeleteTeamMembers()
public void SaveProject()
{
- Wait();
+ WaitUntilClickable(projectSaveButton);
webDriver.FindElement(projectSaveButton).Click();
Wait();
@@ -363,7 +351,7 @@ public void CancelProject()
public void VerifyCreateProjectForm()
{
- Wait();
+ WaitUntilVisible(projectNameLabel);
//AssertTrueIsDisplayed(projectCreateTitle);
//AssertTrueIsDisplayed(projectInstructionParagraph);
@@ -401,7 +389,7 @@ public void VerifyCreateProductForm()
WaitUntilClickable(projectAddProductButton);
webDriver.FindElement(projectAddProductButton).Click();
- Wait();
+ WaitUntilVisible(productCodeLabel);
AssertTrueIsDisplayed(productCodeLabel);
AssertTrueIsDisplayed(productCodeInput);
AssertTrueIsDisplayed(productNameLabel);
@@ -548,9 +536,7 @@ public void VerifyTeamMemberViewForm(List teamMembers)
public void DuplicateProject()
{
- Wait();
-
- Wait();
+ WaitUntilVisible(projectOverrideConfirmationModal);
if (webDriver.FindElements(projectOverrideConfirmationModal).Count() > 0 && sharedModals.ModalHeader().Equals("Error"))
{
Assert.Contains("Project will not be duplicated.", sharedModals.ModalContent());
diff --git a/testing/PIMS.Tests.Automation/PageObjects/PropertyImprovements.cs b/testing/PIMS.Tests.Automation/PageObjects/PropertyImprovements.cs
index 1e73c84100..e054e3df5c 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/PropertyImprovements.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/PropertyImprovements.cs
@@ -45,8 +45,8 @@ public void NavigateToImprovementSection()
public void EditNthImprovements(int index)
{
Wait();
- By editBttn = By.CssSelector("button[data-testid='improvements['"+ index +"'].edit-btn']");
- webDriver.FindElement(editBttn).Click();
+ By editBttn = By.CssSelector("button[data-testid='improvements["+ index +"].edit-btn']");
+ SafeClick(editBttn);
WaitUntilSpinnerDisappear();
}
@@ -61,7 +61,7 @@ public void AddImprovementBttn()
//Create Improvements
public void AddUpdateImprovement(PropertyImprovement improvement)
{
- Wait();
+ WaitUntilVisible(improvementDetailsTitle);
AssertTrueIsDisplayed(improvementDetailsTitle);
AssertTrueIsDisplayed(improvementDetailsNameLabel);
@@ -69,10 +69,10 @@ public void AddUpdateImprovement(PropertyImprovement improvement)
webDriver.FindElement(improvementDetailsNameInput).SendKeys(improvement.ImprovementName);
AssertTrueIsDisplayed(improvementDetailsTypeLabel);
- ChooseSpecificSelectOption(improvementDetailsTypeSelect, improvement.ImprovementType);
+ ChooseSelectOption(improvementDetailsTypeSelect, improvement.ImprovementType);
AssertTrueIsDisplayed(improvementDetailsStatusLabel);
- ChooseSpecificSelectOption(improvementDetailsStatusSelect, improvement.ImprovementStatus);
+ ChooseSelectOption(improvementDetailsStatusSelect, improvement.ImprovementStatus);
AssertTrueIsDisplayed(improvementDetailsDateLabel);
if (improvement.ImprovementDate != "")
@@ -93,7 +93,7 @@ public void VerifyImprovementView(int index, PropertyImprovement improvement)
{
int elementIdx = index + 1;
- AssertTrueIsDisplayed(improvementDetailsTitle);
+ Wait();
AssertTrueIsDisplayed(improvementDetailsNameLabel);
AssertTrueContentEquals(By.CssSelector("div[data-testid='improvement["+ elementIdx +"].name']"), improvement.ImprovementName);
@@ -102,7 +102,7 @@ public void VerifyImprovementView(int index, PropertyImprovement improvement)
AssertTrueContentEquals(By.CssSelector("div[data-testid='improvement["+ elementIdx +"].type']"), improvement.ImprovementType);
AssertTrueIsDisplayed(improvementDetailsDateLabel);
- AssertTrueContentEquals(By.CssSelector("div[data-testid='improvement["+ elementIdx +"].date']"), improvement.ImprovementDate);
+ AssertTrueContentEquals(By.CssSelector("div[data-testid='improvement["+ elementIdx +"].date']"), TransformDateFormat(improvement.ImprovementDate));
AssertTrueIsDisplayed(improvementDetailsStatusLabel);
AssertTrueContentEquals(By.CssSelector("div[data-testid='improvement["+ elementIdx +"].status']"), improvement.ImprovementStatus);
@@ -114,21 +114,18 @@ public void VerifyImprovementView(int index, PropertyImprovement improvement)
public void SaveImprovement()
{
- Wait();
ButtonElement("Save");
}
public void CancelImprovement()
{
- Wait();
ButtonElement("Cancel");
-
sharedModals.CancelActionModal();
}
public int ImprovementTotal()
{
- Wait();
+ WaitUntilVisible(licenseImproTotal);
return webDriver.FindElements(licenseImproTotal).Count;
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/PropertyInformation.cs b/testing/PIMS.Tests.Automation/PageObjects/PropertyInformation.cs
index 1af9a714b3..0a13c8e8e2 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/PropertyInformation.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/PropertyInformation.cs
@@ -359,7 +359,7 @@ public void HideLeftSideForms()
{
WaitUntilSpinnerDisappear();
- Wait();
+ WaitUntilClickable(propertyHideWindowBttn);
webDriver.FindElement(propertyHideWindowBttn).Click();
}
@@ -367,7 +367,7 @@ public void ShowLeftSideForms()
{
WaitUntilSpinnerDisappear();
- Wait();
+ WaitUntilClickable(propertyShowWindowBttn);
webDriver.FindElement(propertyShowWindowBttn).Click();
}
@@ -391,33 +391,32 @@ public void OpenMoreOptionsPopUp()
public void ChooseCreationOptionFromPin(string option)
{
- Wait();
switch(option)
{
case "View Property Info":
- ButtonElement(propertyViewInfoBttn);
+ SafeClick(propertyViewInfoBttn);
break;
case "Research File":
- ButtonElement(propertyNewResearchFileBttn);
+ SafeClick(propertyNewResearchFileBttn);
break;
case "Acquisition File":
- ButtonElement(propertyNewAcquisitionFileBttn);
+ SafeClick(propertyNewAcquisitionFileBttn);
break;
case "Lease/License":
- ButtonElement(propertyNewLeaseFileBttn);
+ SafeClick(propertyNewLeaseFileBttn);
break;
case "Disposition File":
- ButtonElement(propertyNewDispositionFileBttn);
+ SafeClick(propertyNewDispositionFileBttn);
break;
case "Subdivision":
- ButtonElement(propertyNewSubdivisionFileBttn);
+ SafeClick(propertyNewSubdivisionFileBttn);
break;
case "Consolidation":
- ButtonElement(propertyNewConsolidationFileBttn);
+ SafeClick(propertyNewConsolidationFileBttn);
break;
}
- Wait();
+ WaitUntilVisible(propertyInformationConfirmationModal);
while (webDriver.FindElements(propertyInformationConfirmationModal).Count > 0)
{
Assert.Equal("User Override Required", sharedModals.ModalHeader());
@@ -443,8 +442,6 @@ public void ChooseCreationOptionFromPin(string option)
sharedModals.ModalClickOKBttn();
break;
}
-
- Wait();
}
}
@@ -468,8 +465,7 @@ public void NavigatePropertyValueTab()
public void NavigatePropertyHighwayTab()
{
- WaitUntilClickable(propertyInformationHwyTab);
- webDriver.FindElement(propertyInformationHwyTab).Click();
+ SafeClick(propertyInformationHwyTab);
}
public void NavigatePropertyOtherTab()
@@ -492,19 +488,18 @@ public void NavigatePropertyCrownTab()
public void EditPropertyInfoBttn()
{
- Wait();
- FocusAndClick(propertyDetailsEditBttn);
+ SafeClick(propertyDetailsEditBttn);
}
public void SavePropertyDetails()
{
- Wait();
+ WaitUntilClickable(propertyDetailsSaveButton);
webDriver.FindElement(propertyDetailsSaveButton).Click();
}
public void CancelPropertyDetails()
{
- webDriver.FindElement(propertyDetailsCancelButton).Click();
+ SafeClick(propertyDetailsCancelButton);
Wait();
if (webDriver.FindElements(propertyInformationConfirmationModal).Count > 0)
@@ -513,13 +508,12 @@ public void CancelPropertyDetails()
public void UpdatePropertyDetails(Property property)
{
- Wait();
+ WaitUntilVisible(propertyDetailsAddressLine1Input);
//PROPERTY ADDRESS
//Delete previous Line 2 or Line 3 if existing
while (webDriver.FindElements(propertyDetailsAddressLineDeleteBttn).Count > 0)
- webDriver.FindElements(propertyDetailsAddressLineDeleteBttn)[0].Click();
-
+ webDriver.FindElements(propertyDetailsAddressLineDeleteBttn)[0].Click();
if (property.Address.AddressLine1 != "")
{
@@ -573,16 +567,16 @@ public void UpdatePropertyDetails(Property property)
}
if (property.MOTIRegion != "")
- ChooseSpecificSelectOption(propertyDetailsMotiRegionSelect, property.MOTIRegion);
+ ChooseSelectOption(propertyDetailsMotiRegionSelect, property.MOTIRegion);
if (property.HighwaysDistrict != "")
- ChooseSpecificSelectOption(propertyDetailsHighwayDistrictSelect, property.HighwaysDistrict);
+ ChooseSelectOption(propertyDetailsHighwayDistrictSelect, property.HighwaysDistrict);
if (property.RailwayBelt != "")
- ChooseSpecificSelectOption(propertyDetailsRailwaySelect, property.RailwayBelt);
+ ChooseSelectOption(propertyDetailsRailwaySelect, property.RailwayBelt);
if (property.LandParcelType != "")
- ChooseSpecificSelectOption(propertyDetailsLandTypeSelect, property.LandParcelType);
+ ChooseSelectOption(propertyDetailsLandTypeSelect, property.LandParcelType);
if (property.MunicipalZoning != "")
{
@@ -598,16 +592,9 @@ public void UpdatePropertyDetails(Property property)
}
if (property.Anomalies.First() != "")
- {
foreach (string anomaly in property.Anomalies)
- {
- FocusAndClick(propertyDetailsAnomaliesInput);
-
- WaitUntilClickable(propertyDetailsAnomaliesOptions);
- ChooseMultiSelectSpecificOption(propertyDetailsAnomaliesOptions, anomaly);
- }
- }
-
+ ChooseMultiSelectOption(propertyDetailsAnomaliesInput, propertyDetailsAnomaliesOptions, propertyDetailsAttrAnomaliesLabel, anomaly);
+
//Delete Tenure status previously selected if any
if (webDriver.FindElements(propertyDetailsTenureDeleteBttns).Count > 0)
{
@@ -622,19 +609,9 @@ public void UpdatePropertyDetails(Property property)
//TENURE STATUS
if (property.TenureStatus.First() != "")
- {
foreach (string status in property.TenureStatus)
- {
- Wait(2000);
- webDriver.FindElement(propertyDetailsTenureStatusLabel).Click();
- FocusAndClick(propertyDetailsTenureStatusInput);
-
- WaitUntilClickable(propertyDetailsTenureOptions);
- ChooseMultiSelectSpecificOption(propertyDetailsTenureOptions, status);
- webDriver.FindElement(propertyDetailsTenureStatusLabel).Click();
- }
- }
-
+ ChooseMultiSelectOption(propertyDetailsTenureStatusInput, propertyDetailsTenureOptions, propertyDetailsTenureStatusLabel, status);
+
//Delete Tenure cleanup previously selected if any
if (webDriver.FindElements(propertyDetailsTenureCleanupDeleteBttns).Count > 0)
{
@@ -649,21 +626,11 @@ public void UpdatePropertyDetails(Property property)
//TENURE CLEANUP
if (property.TenureCleanup.First() != "")
- {
foreach (string status in property.TenureCleanup)
- {
- Wait(2000);
- webDriver.FindElement(propertyDetailsTenureCleanupLabel).Click();
- FocusAndClick(propertyDetailsTenureCleanupInput);
-
- WaitUntilClickable(propertyDetailsTenureCleanupOptions);
- ChooseMultiSelectSpecificOption(propertyDetailsTenureCleanupOptions, status);
- webDriver.FindElement(propertyDetailsTenureCleanupLabel).Click();
- }
- }
+ ChooseMultiSelectOption(propertyDetailsTenureCleanupInput, propertyDetailsTenureCleanupOptions, propertyDetailsTenureCleanupLabel, status);
if (property.TenureProvHwy != "")
- ChooseSpecificSelectOption(propertyDetailsTenureProvincialHwySelect, property.TenureProvHwy);
+ ChooseSelectOption(propertyDetailsTenureProvincialHwySelect, property.TenureProvHwy);
//Delete Highway Road Details
if (webDriver.FindElements(propertyDetailsTenureHwyDetailsDeleteBttns).Count > 0)
@@ -672,21 +639,10 @@ public void UpdatePropertyDetails(Property property)
webDriver.FindElements(propertyDetailsTenureHwyDetailsDeleteBttns)[0].Click();
}
-
if (property.TenureHighwayDetails.First() != "")
- {
foreach (string hwyDetail in property.TenureHighwayDetails)
- {
- Wait(2000);
- webDriver.FindElement(propertyDetailsHighwayRoadLabel).Click();
- FocusAndClick(propertyDetailsTenureHwyDetailsMultiselect);
-
- WaitUntilClickable(propertyDetailsTenureHwyDetailsOptions);
- ChooseMultiSelectSpecificOption(propertyDetailsTenureHwyDetailsOptions, hwyDetail);
- webDriver.FindElement(propertyDetailsHighwayRoadLabel).Click();
- }
- }
-
+ ChooseMultiSelectOption(propertyDetailsTenureHwyDetailsMultiselect, propertyDetailsTenureHwyDetailsOptions, propertyDetailsProvPublicHwyLabel, hwyDetail);
+
//MEASUREMENTS
if (property.SqrMeters != "")
{
@@ -706,11 +662,11 @@ public void UpdatePropertyDetails(Property property)
}
if (property.VolumeType != "")
- ChooseSpecificSelectOption(propertyDetailsVolTypeSelect, property.VolumeType);
+ ChooseSelectOption(propertyDetailsVolTypeSelect, property.VolumeType);
//SURPLUS DECLARATION
if (property.SurplusDeclarationType != "")
- ChooseSpecificSelectOption(propertyDetailsSurplusDeclarationTypeSelect, property.SurplusDeclarationType);
+ ChooseSelectOption(propertyDetailsSurplusDeclarationTypeSelect, property.SurplusDeclarationType);
if (property.SurplusDeclarationDate != "")
{
@@ -770,7 +726,7 @@ public void VerifyTitleTab()
public void VerifyValueTab()
{
- Wait();
+ WaitUntilVisible(propertyValueInfo);
AssertTrueIsDisplayed(propertyValueInfo);
@@ -805,7 +761,7 @@ public void VerifyValueTab()
public void VerifyHwyTab()
{
- Wait();
+ WaitUntilVisible(propertyHWYTitle);
AssertTrueIsDisplayed(propertyHWYTitle);
AssertTrueIsDisplayed(propertyHWYTooltip);
@@ -846,11 +802,11 @@ public void VerifyPMBCTab()
AssertTrueIsDisplayed(propertyPMBCPIDLabel);
AssertTrueIsDisplayed(propertyPMBCPINLabel);
AssertTrueIsDisplayed(propertyPMBCPlanNbrLabel);
- AssertTrueIsDisplayed(propertyPMBCOwnerTypeLabel);
+ //AssertTrueIsDisplayed(propertyPMBCOwnerTypeLabel);
AssertTrueIsDisplayed(propertyPMBCMunicipalityLabel);
AssertTrueIsDisplayed(propertyPMBCRegionalDistrictLabel);
AssertTrueIsDisplayed(propertyPMBCDistrictLabel);
- AssertTrueIsDisplayed(propertyPMBCAreaLabel);
+ //AssertTrueIsDisplayed(propertyPMBCAreaLabel);
AssertTrueIsDisplayed(propertyPMBCParcelClassLabel);
AssertTrueIsDisplayed(propertyPMBCSUrveyDesignation1Label);
AssertTrueIsDisplayed(propertyPMBCSUrveyDesignation2Label);
@@ -862,7 +818,7 @@ public void VerifyCrownTab()
AssertTrueIsDisplayed(propertyCrownTitle);
AssertTrueIsDisplayed(propertyCrownIntridSidLabel);
AssertTrueIsDisplayed(propertyCrownTenureStageLabel);
- AssertTrueIsDisplayed(propertyCrownTenureStatusLabel);
+ //AssertTrueIsDisplayed(propertyCrownTenureStatusLabel);
AssertTrueIsDisplayed(propertyCrownTenureTypeLabel);
AssertTrueIsDisplayed(propertyCrownTenureSubtypeLabel);
AssertTrueIsDisplayed(propertyCrownTenurePurposeLabel);
@@ -896,7 +852,7 @@ public void VerifyOtherTab()
public void VerifyPropertyInformationHeader(bool hasHistoricalFile)
{
- Wait();
+ WaitUntilVisible(propertyInformationHeaderTitle);
AssertTrueContentEquals(propertyInformationHeaderTitle, "Property Information");
@@ -918,7 +874,7 @@ public void VerifyPropertyInformationHeader(bool hasHistoricalFile)
public void VerifyPropertyDetailsView()
{
- Wait();
+ WaitUntilVisible(propertyDetailsAddressTitle);
AssertTrueIsDisplayed(propertyDetailsAddressTitle);
@@ -962,10 +918,6 @@ public void VerifyPropertyDetailsView()
AssertTrueIsDisplayed(propertyDetailsTenureStatusDiv);
AssertTrueIsDisplayed(propertyDetailsTenureCleanupLabel);
AssertTrueIsDisplayed(propertyDetailsTenureCleanupDiv);
- //AssertTrueIsDisplayed(propertyDetailsProvPublicHwyLabel);
- //AssertTrueIsDisplayed(propertyDetailsProvPublicHwyDiv);
- //AssertTrueIsDisplayed(propertyDetailsHighwayRoadLabel);
- //AssertTrueIsDisplayed(propertyDetailsHighwayRoadDiv);
if (webDriver.FindElements(propertyDetailsFirstNationTitle).Count() > 0)
{
@@ -1098,27 +1050,6 @@ public void VerifyUpdatePropertyDetailsView(Property property)
Assert.True(Enumerable.SequenceEqual(tenureCleanupUI, property.TenureCleanup));
}
- //AssertTrueIsDisplayed(propertyDetailsProvPublicHwyLabel);
- //if (property.TenureCleanup.First() != "")
- // AssertTrueContentEquals(propertyDetailsProvPublicHwyDiv, property.TenureProvHwy);
-
-
- //AssertTrueIsDisplayed(propertyDetailsHighwayRoadLabel);
- //if (property.TenureCleanup.First() != "")
- //{
- // var tenureCleanupUI = GetViewFieldListContent(propertyDetailsHighwayRoadDiv);
- // Assert.True(Enumerable.SequenceEqual(tenureCleanupUI, property.TenureHighwayDetails));
- //}
-
- //if (webDriver.FindElements(propertyDetailsFirstNationTitle).Count() > 0)
- //{
- // AssertTrueIsDisplayed(propertyDetailsFirstNationTitle);
- // AssertTrueIsDisplayed(propertyDetailsFirstNationBandNameLabel);
- // AssertTrueIsDisplayed(propertyDetailsFirstNationBandNameDiv);
- // AssertTrueIsDisplayed(propertyDetailsFirstNationReserveLabel);
- // AssertTrueIsDisplayed(propertyDetailsFirstNationReserveDiv);
- //}
-
//MEASUREMENTS
AssertTrueIsDisplayed(propertyDetailsMeasurementsTitle);
AssertTrueIsDisplayed(propertyDetailsMeasurementsAreaLabel);
@@ -1263,7 +1194,7 @@ public void VerifyPlanInventoryPropertyTabs()
{
WaitUntilVisible(propertyInformationPlanTab);
- Assert.Equal(9, webDriver.FindElements(propertyInformationTabsTotal).Count);
+ Assert.Equal(10, webDriver.FindElements(propertyInformationTabsTotal).Count);
AssertTrueIsDisplayed(propertyInformationPlanTab);
webDriver.FindElement(propertyInformationPlanTab).Click();
@@ -1271,7 +1202,7 @@ public void VerifyPlanInventoryPropertyTabs()
public void VerifyPlanTabDetails()
{
- Wait();
+ WaitUntilVisible(propertyStrataPlanTitle);
AssertTrueIsDisplayed(propertyStrataPlanTitle);
AssertTrueIsDisplayed(propertyStrataPlanNumberLabel);
@@ -1292,7 +1223,7 @@ public void VerifyPlanTabDetails()
public int PropertyTabs()
{
- Wait(5000);
+ Wait(2000);
return webDriver.FindElements(propertyInformationTabsTotal).Count();
}
@@ -1307,18 +1238,16 @@ private void AddHistoricalFile(HistoricalFile historicalFile)
WaitUntilClickable(propertyAttrAddHistoricalFileButton);
FocusAndClick(propertyAttrAddHistoricalFileButton);
- Wait();
+ WaitUntilVisible(propertyAttrHistoricalFilesTotalCount);
var historicalFileIndex = webDriver.FindElements(propertyAttrHistoricalFilesTotalCount).Count() -1;
WaitUntilVisible(By.Id("input-historicalNumbers."+ historicalFileIndex +".historicalNumber"));
webDriver.FindElement(By.Id("input-historicalNumbers."+ historicalFileIndex +".historicalNumber")).SendKeys(historicalFile.HistoricalFileNumber);
- ChooseSpecificSelectOption(By.Id("input-historicalNumbers."+ historicalFileIndex +".historicalNumberType"), historicalFile.HistoricalFileType);
+ ChooseSelectOption(By.Id("input-historicalNumbers."+ historicalFileIndex +".historicalNumberType"), historicalFile.HistoricalFileType);
if(historicalFile.HistoricalFileOtherDetails != "")
webDriver.FindElement(By.Id("input-historicalNumbers."+ historicalFileIndex +".otherHistoricalNumberType")).SendKeys(historicalFile.HistoricalFileOtherDetails);
-
- Wait();
}
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/PropertyManagementTab.cs b/testing/PIMS.Tests.Automation/PageObjects/PropertyManagementTab.cs
index 06f61267f1..0eb8e5bc75 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/PropertyManagementTab.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/PropertyManagementTab.cs
@@ -98,7 +98,7 @@ public void UpdateManagementSummaryButton()
public void UpdateLastContactButton()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
var lastInsertedContactIndex = webDriver.FindElements(managementContactsBodyCount).Count;
webDriver.FindElement(By.CssSelector("div[data-testid='PropertyContactsTable'] div[class='tbody'] div[class='tr-wrapper']:nth-child("+ lastInsertedContactIndex +") div[role='cell']:nth-child(4) button:nth-child(1)")).Click();
@@ -106,7 +106,7 @@ public void UpdateLastContactButton()
public void ViewLastActivityButton()
{
- Wait();
+ WaitUntilVisible(managementActivitiesBodyCount);
var lastInsertedActivityIndex = webDriver.FindElements(managementActivitiesBodyCount).Count;
webDriver.FindElement(By.XPath("//div[@data-testid='adhoc-activity-list']/div[@class='tbody']/div[@class='tr-wrapper']["+ lastInsertedActivityIndex +"]/div/div[@role='cell'][5]/div/button[1]")).Click();
@@ -114,7 +114,7 @@ public void ViewLastActivityButton()
public void AddNewPropertyContactButton()
{
- Wait();
+ WaitUntilClickable(managementeAddContactBttn);
webDriver.FindElement(managementeAddContactBttn).Click();
}
@@ -126,7 +126,7 @@ public void AddNewPropertyActivityButton()
public void InsertManagementSummaryInformation(PropertyManagement managementProperty)
{
- Wait();
+ WaitUntilClickable(managementPropertyPurposeInput);
//Delete Property Purpose if any
if (webDriver.FindElements(managementPropertyPurposeDeleteBttns).Count > 0)
@@ -138,23 +138,15 @@ public void InsertManagementSummaryInformation(PropertyManagement managementProp
}
//Add Property Purpose
if (managementProperty.ManagementPropertyPurpose.First() != "")
- {
ClearMultiSelectInput(managementPropertyPurposeInput);
foreach (string purpose in managementProperty.ManagementPropertyPurpose)
- {
- Wait();
- webDriver.FindElement(managementPropertyPurposeLabel).Click();
- FocusAndClick(managementPropertyPurposeInput);
-
- ChooseMultiSelectSpecificOption(managementPropertyPurposeOptions, purpose);
- webDriver.FindElement(managementPropertyPurposeLabel).Click();
- }
- }
+ ChooseMultiSelectOption(managementPropertyPurposeInput, managementPropertyPurposeOptions, managementPropertyPurposeLabel, purpose);
+
if (managementProperty.ManagementUtilitiesPayable != "")
- ChooseSpecificSelectOption(managementUtilitiesPayableSelect, managementProperty.ManagementUtilitiesPayable);
+ ChooseSelectOption(managementUtilitiesPayableSelect, managementProperty.ManagementUtilitiesPayable);
if (managementProperty.ManagementTaxesPayable != "")
- ChooseSpecificSelectOption(managementTaxesPayableSelect, managementProperty.ManagementTaxesPayable);
+ ChooseSelectOption(managementTaxesPayableSelect, managementProperty.ManagementTaxesPayable);
ClearInput(managementAdditionalDetailsTextarea);
if (managementProperty.ManagementPropertyAdditionalDetails != "")
@@ -164,16 +156,19 @@ public void InsertManagementSummaryInformation(PropertyManagement managementProp
public void InsertNewPropertyContact(PropertyContact contact)
{
- Wait();
+ WaitUntilClickable(managementContactsButton);
//Choosing a contact
webDriver.FindElement(managementContactsButton).Click();
sharedSelectContact.SelectContact(contact.PropertyContactFullName, contact.PropertyContactType);
//Choosing Primary Contact
- Wait();
if (contact.PropertyPrimaryContact != "" && webDriver.FindElements(managementContactPrimaryContactSelect).Count > 0)
- ChooseSpecificSelectOption(managementContactPrimaryContactSelect, contact.PropertyPrimaryContact);
+ {
+ WaitUntilClickable(managementContactPrimaryContactSelect);
+ ChooseSelectOption(managementContactPrimaryContactSelect, contact.PropertyPrimaryContact);
+ }
+
//Inserting Purpose Description
webDriver.FindElement(managementContactsPurposeDescriptionTextarea).Click();
@@ -183,7 +178,7 @@ public void InsertNewPropertyContact(PropertyContact contact)
public void UpdatePropertyContact(PropertyContact contact)
{
- Wait();
+ WaitUntilClickable(managementContactsPurposeDescriptionTextarea);
//Update Purpose Description
webDriver.FindElement(managementContactsPurposeDescriptionTextarea).Click();
@@ -199,36 +194,34 @@ public void SavePropertyManagement()
public void DeleteAllContacts()
{
- Wait();
while (webDriver.FindElements(managementContactsDeleteBttns).Count > 0)
{
- Wait();
+ WaitUntilClickable(managementContactsFirstDeleteBttn);
webDriver.FindElement(managementContactsFirstDeleteBttn).Click();
Assert.Equal("Confirm delete", sharedModals.ModalHeader());
Assert.Equal("This contact will be removed from the Property contacts. Do you wish to proceed?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
}
}
public void DeleteAllActivities()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
while (webDriver.FindElements(managementActivitiesDeleteBttns).Count > 0)
{
- Wait();
+ WaitUntilClickable(managementActivitiesDeleteBttns);
webDriver.FindElements(managementActivitiesDeleteBttns)[0].Click();
- Wait();
Assert.Equal("Confirm Delete", sharedModals.ModalHeader());
Assert.Equal("Are you sure you want to delete this item?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
}
}
@@ -297,7 +290,7 @@ public void VerifyCreateContactsInitForm()
public void VerifyInsertedSummaryForm(PropertyManagement managementProperty)
{
- Wait();
+ WaitUntilVisible(managementSummaryTitle);
AssertTrueIsDisplayed(managementSummaryTitle);
AssertTrueIsDisplayed(managementPropertyPurposeLabel);
@@ -320,7 +313,7 @@ public void VerifyInsertedSummaryForm(PropertyManagement managementProperty)
public void VerifyLastInsertedPropertyContactTable(PropertyContact contact)
{
- Wait(3000);
+ WaitUntilVisible(managementContactsBodyCount);
var lastInsertedContactIndex = webDriver.FindElements(managementContactsBodyCount).Count;
@@ -339,7 +332,7 @@ public void VerifyLastInsertedPropertyContactTable(PropertyContact contact)
public void VerifyLastInsertedActivityTable(PropertyActivity activity)
{
- Wait();
+ WaitUntilVisible(managementActivitiesBodyCount);
var lastInsertedActivityIndex = webDriver.FindElements(managementActivitiesBodyCount).Count;
@@ -356,13 +349,12 @@ public void VerifyLastInsertedActivityTable(PropertyActivity activity)
public void ViewLastActivityFromList()
{
var paginationLastPage = webDriver.FindElements(managementActivityPaginationOptions).Count() -1;
-
webDriver.FindElement(By.XPath("//div[@data-testid='adhoc-activity-list']/following-sibling::div/div/ul[@class='pagination']/li["+ paginationLastPage +"]")).Click();
}
public string VerifyLeaseActiveStatus()
{
- Wait();
+ WaitUntilVisible(managementLeaseContent);
return webDriver.FindElement(managementLeaseContent).Text;
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/PropertyPIMSFiles.cs b/testing/PIMS.Tests.Automation/PageObjects/PropertyPIMSFiles.cs
index b65ea28a11..9dd9d458cb 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/PropertyPIMSFiles.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/PropertyPIMSFiles.cs
@@ -45,8 +45,6 @@ public void NavigatePIMSFiles()
public void VerifyPimsFiles()
{
- Wait();
-
WaitUntilClickable(propertyPimsFilesLinkTab);
webDriver.FindElement(propertyPimsFilesLinkTab).Click();
@@ -65,7 +63,7 @@ public void VerifyPimsFiles()
AssertTrueIsDisplayed(propertyAcquisitionFileSubtitle);
AssertTrueIsDisplayed(propertyAcquisitionCountLabel);
- Wait();
+ WaitUntilClickable(propertyAcquisitionExpandTableBttn);
webDriver.FindElement(propertyAcquisitionExpandTableBttn).Click();
AssertTrueIsDisplayed(propertyAcquisitionTable);
@@ -74,7 +72,7 @@ public void VerifyPimsFiles()
AssertTrueIsDisplayed(propertyLeasesSubtitle);
AssertTrueIsDisplayed(propertyLeaseCountLabel);
- Wait();
+ WaitUntilClickable(propertyLeaseExpandTableBttn);
webDriver.FindElement(propertyLeaseExpandTableBttn).Click();
AssertTrueIsDisplayed(propertyLeaseTable);
@@ -83,7 +81,7 @@ public void VerifyPimsFiles()
AssertTrueIsDisplayed(propertyManagementSubtitle);
AssertTrueIsDisplayed(propertyManagementCountLabel);
- Wait();
+ WaitUntilClickable(propertyManagementExpandTableBttn);
webDriver.FindElement(propertyManagementExpandTableBttn).Click();
AssertTrueIsDisplayed(propertyManagementTable);
@@ -127,9 +125,5 @@ public int GetManagementFilesCount()
WaitUntilVisible(propertyManagementCountLabel);
return int.Parse(webDriver.FindElement(propertyManagementCountLabel).Text);
}
-
-
-
-
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/ResearchFiles.cs b/testing/PIMS.Tests.Automation/PageObjects/ResearchFiles.cs
index 3322b303b0..dcaf5183bc 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/ResearchFiles.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/ResearchFiles.cs
@@ -156,10 +156,10 @@ public ResearchFiles(IWebDriver webDriver) : base(webDriver)
}
public void NavigateToCreateNewResearchFile()
{
- Wait();
+ WaitUntilClickable(menuResearchButton);
FocusAndClick(menuResearchButton);
- Wait();
+ WaitUntilClickable(createResearchFileButton);
FocusAndClick(createResearchFileButton);
}
@@ -180,8 +180,7 @@ public void NavigateToAddPropertiesReseachFile()
Wait();
totalAssociatedProps = webDriver.FindElements(researchFilePropertyCountProps).Count() - 1;
- WaitUntilClickable(researchEditPropertiesBttn);
- webDriver.FindElement(researchEditPropertiesBttn).Click();
+ SafeClick(researchEditPropertiesBttn);
}
public void ChooseFirstPropertyOption()
@@ -198,27 +197,27 @@ public void CreateResearchFile(ResearchFile researchFile)
public void AddAdditionalResearchFileInfo(ResearchFile researchFile)
{
- Wait();
+ WaitUntilClickable(researchFileEditButton);
webDriver.FindElement(researchFileEditButton).Click();
//Status
if (researchFile.Status != "")
- ChooseSpecificSelectOption(researchFileStatusSelect, researchFile.Status);
+ ChooseSelectOption(researchFileStatusSelect, researchFile.Status);
//Projects
if (researchFile.Projects.First() != "")
{
for (int i = 0; i < researchFile.Projects.Count; i++)
{
- webDriver.FindElement(researchFileDetailsProjectAddBttn).Click();
+ SafeClick(researchFileDetailsProjectAddBttn);
By projectInput = By.Id("typeahead-researchFileProjects["+ i +"].project");
webDriver.FindElement(projectInput).SendKeys(researchFile.Projects[i]);
- Wait();
+ WaitUntilClickable(projectInput);
webDriver.FindElement(projectInput).SendKeys(Keys.Space);
- Wait();
+ WaitUntilClickable(projectInput);
webDriver.FindElement(projectInput).SendKeys(Keys.Backspace);
By projectOptions = By.Id("typeahead-researchFileProjects["+ i +"].project-item-0");
@@ -254,15 +253,9 @@ public void AddAdditionalResearchFileInfo(ResearchFile researchFile)
//Research Request
if (researchFile.ResearchPurpose.First() != "")
- {
foreach (string purpose in researchFile.ResearchPurpose)
- {
- webDriver.FindElement(researchPurposeMultiselect).Click();
-
- Wait();
- ChooseMultiSelectSpecificOption(researchRequestPurposeOptions, purpose);
- }
- }
+ ChooseMultiSelectOption(researchPurposeMultiselect, researchRequestPurposeOptions, researchFileDetailsRequestPurposeLabel, purpose);
+
if (researchFile.RequestDate != "")
{
webDriver.FindElement(researchRequestDateInput).SendKeys(researchFile.RequestDate);
@@ -270,7 +263,7 @@ public void AddAdditionalResearchFileInfo(ResearchFile researchFile)
}
if (researchFile.RequestSource != "")
{
- ChooseSpecificSelectOption(researchRequestSourceSelect, researchFile.RequestSource);
+ ChooseSelectOption(researchRequestSourceSelect, researchFile.RequestSource);
}
if (researchFile.RequestDescription != "")
@@ -288,7 +281,6 @@ public void AddAdditionalResearchFileInfo(ResearchFile researchFile)
public void AddPropertyResearchInfo(PropertyResearch propertyResearch, int index)
{
//Pick Property
- Wait();
By propertyLink = By.CssSelector("div[data-testid='menu-item-property-" + index + "']");
WaitUntilClickable(propertyLink);
webDriver.FindElement(propertyLink).Click();
@@ -303,23 +295,16 @@ public void AddPropertyResearchInfo(PropertyResearch propertyResearch, int index
webDriver.FindElement(researchPropertyNameInput).SendKeys(propertyResearch.DescriptiveName);
}
if (propertyResearch.PropertyResearchPurpose.Count > 0)
- {
for (int i = 0; i < propertyResearch.PropertyResearchPurpose.Count; i++)
- {
- webDriver.FindElement(researchPropertyPurposeSelect).Click();
-
- WaitUntilVisible(researchPropertyPurposeOptions);
- ChooseMultiSelectSpecificOption(researchPropertyPurposeOptions, propertyResearch.PropertyResearchPurpose[i]);
- }
- webDriver.FindElement(researchPropertyPurposeLabel).Click();
- }
+ ChooseMultiSelectOption(researchPropertyPurposeSelect, researchPropertyPurposeOptions, researchPropertyPurposeLabel, propertyResearch.PropertyResearchPurpose[i]);
+
if (propertyResearch.LegalOpinionRequest != "")
{
- ChooseSpecificSelectOption(researchPropertyLegalOpinionReqSelect, propertyResearch.LegalOpinionRequest);
+ ChooseSelectOption(researchPropertyLegalOpinionReqSelect, propertyResearch.LegalOpinionRequest);
}
if (propertyResearch.LegalOpinionObtained != "")
{
- ChooseSpecificSelectOption(researchPropertyLegalOpinionObtSelect, propertyResearch.LegalOpinionObtained);
+ ChooseSelectOption(researchPropertyLegalOpinionObtSelect, propertyResearch.LegalOpinionObtained);
}
if (propertyResearch.DocumentReference != "")
{
@@ -338,7 +323,7 @@ public void EditResearchFileForm(ResearchFile researchFile)
//Status
if (researchFile.Status != "")
- ChooseSpecificSelectOption(researchFileStatusSelect, researchFile.Status);
+ ChooseSelectOption(researchFileStatusSelect, researchFile.Status);
//File Name
if (researchFile.ResearchFileName != "")
@@ -398,10 +383,7 @@ public void EditResearchFileForm(ResearchFile researchFile)
{
//Add new Research Purpose
foreach (string purpose in researchFile.ResearchPurpose)
- {
- webDriver.FindElement(researchPurposeMultiselect).Click();
- ChooseMultiSelectSpecificOption(researchRequestPurposeOptions, purpose);
- }
+ ChooseMultiSelectOption(researchPurposeMultiselect, researchRequestPurposeOptions, researchFileDetailsRequestPurposeLabel, purpose);
}
if (researchFile.RequestDate != "")
{
@@ -411,7 +393,7 @@ public void EditResearchFileForm(ResearchFile researchFile)
}
if (researchFile.RequestSource != "")
{
- ChooseSpecificSelectOption(researchRequestSourceSelect, researchFile.RequestSource);
+ ChooseSelectOption(researchRequestSourceSelect, researchFile.RequestSource);
}
if (researchFile.Requester != "")
{
@@ -458,7 +440,7 @@ public void EditPropertyResearchInfo(PropertyResearch propertyResearch, int inde
//Pick Property
By propertyLink = By.CssSelector("div[data-testid='menu-item-property-" + index + "']");
- Wait(2000);
+ Wait();
if(webDriver.FindElements(propertyLink).Count > 0)
webDriver.FindElement(propertyLink).Click();
@@ -484,20 +466,16 @@ public void EditPropertyResearchInfo(PropertyResearch propertyResearch, int inde
}
foreach (string purpose in propertyResearch.PropertyResearchPurpose)
{
- FocusAndClick(researchPropertyPurposeInput);
-
- WaitUntilClickable(researchPropertyPurposeOptions);
- ChooseMultiSelectSpecificOption(researchPropertyPurposeOptions, purpose);
+ ChooseMultiSelectOption(researchPropertyPurposeInput, researchPropertyPurposeOptions, researchPropertyPurposeLabel, purpose);
}
- webDriver.FindElement(researchPropertyPurposeLabel).Click();
}
if (propertyResearch.LegalOpinionRequest != "")
{
- ChooseSpecificSelectOption(researchPropertyLegalOpinionReqSelect, propertyResearch.LegalOpinionRequest);
+ ChooseSelectOption(researchPropertyLegalOpinionReqSelect, propertyResearch.LegalOpinionRequest);
}
if (propertyResearch.LegalOpinionObtained != "")
{
- ChooseSpecificSelectOption(researchPropertyLegalOpinionObtSelect, propertyResearch.LegalOpinionObtained);
+ ChooseSelectOption(researchPropertyLegalOpinionObtSelect, propertyResearch.LegalOpinionObtained);
}
if (propertyResearch.DocumentReference != "")
{
@@ -513,7 +491,6 @@ public void EditPropertyResearchInfo(PropertyResearch propertyResearch, int inde
public void SaveResearchFile()
{
- Wait();
ButtonElement("Save");
Wait();
@@ -525,6 +502,7 @@ public void SaveResearchFile()
Assert.Equal("You have made changes to the properties in this file.", sharedModals.ConfirmationModalText1());
Assert.Equal("Do you want to save these changes?", sharedModals.ConfirmationModalText2());
sharedModals.ModalClickOKBttn();
+ Wait(500);
}
else if (sharedModals.ModalHeader() == "User Override Required")
{
@@ -532,6 +510,7 @@ public void SaveResearchFile()
Assert.Contains("The selected property already exists in the system's inventory. However, the record is missing spatial details.", sharedModals.ModalContent());
Assert.Contains("To add the property, the spatial details for this property will need to be updated. The system will attempt to update the property record with spatial information from the current selection.", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
+ Wait(500);
}
else if (sharedModals.ModalHeader() == "Confirm status change")
{
@@ -539,9 +518,8 @@ public void SaveResearchFile()
Assert.Contains("If you save it, only the administrator can turn it back on. You will still see it in the management table.", sharedModals.ConfirmationModalParagraph1());
Assert.Equal("Do you want to acknowledge and proceed?", sharedModals.ConfirmationModalParagraph2());
sharedModals.ModalClickOKBttn();
+ Wait(500);
}
-
- Wait();
}
}
@@ -554,14 +532,14 @@ public void CancelResearchFile()
//Get the research file number
public string GetResearchFileCode()
{
- Wait();
+ WaitUntilVisible(researchFileHeaderNbrContent);
return webDriver.FindElement(researchFileHeaderNbrContent).Text;
}
//Verify Create Research Init Form
public void VerifyResearchFileCreateInitForm()
{
- Wait();
+ WaitUntilVisible(researchFileNameLabel);
//Title and Name
//AssertTrueIsDisplayed(researchFileCreateHeader);
@@ -628,7 +606,7 @@ public void VerifyResearchFileEditInitForm(ResearchFile researchFile, string use
//Verify UI/UX Elements - Research Main Form - View Form
public void VerifyResearchFileMainFormView(ResearchFile researchFile, string user)
{
- Wait(2000);
+ WaitUntilVisible(researchFileHeaderStatusContent);
//Header
VerifyResearchFileHeader(researchFile, user);
@@ -692,7 +670,7 @@ public void VerifyResearchFileMainFormView(ResearchFile researchFile, string use
//Verify UI/UX Elements - Research Properties - Property Research - View Form
public void VerifyPropResearchTabFormView(PropertyResearch propertyResearch)
{
- Wait();
+ WaitUntilVisible(researchPropertyInterestLabel);
AssertTrueIsDisplayed(researchPropertyInterestLabel);
AssertTrueIsDisplayed(researchPropertyNameLabel);
@@ -725,7 +703,7 @@ public void VerifyPropResearchTabFormView(PropertyResearch propertyResearch)
private void VerifyResearchFileHeader(ResearchFile researchFile, string user)
{
- Wait();
+ WaitUntilVisible(researchFileViewTitle);
AssertTrueIsDisplayed(researchFileViewTitle);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchAcquisitionFiles.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchAcquisitionFiles.cs
index a3e93bae68..b1b31852bd 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SearchAcquisitionFiles.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SearchAcquisitionFiles.cs
@@ -62,18 +62,17 @@ public SearchAcquisitionFiles(IWebDriver webDriver) : base(webDriver)
//Navigates to Search an Acquisition File
public void NavigateToSearchAcquisitionFile()
{
- Wait(3000);
+ WaitUntilClickable(menuAcquisitionButton);
FocusAndClick(menuAcquisitionButton);
- Wait(3000);
+ WaitUntilClickable(searchAcquisitionButton);
FocusAndClick(searchAcquisitionButton);
}
public void OrderByAcquisitionFileNumber()
{
Wait();
- WaitUntilClickable(searchAcquisitionOrderFileNumberBttn);
- webDriver.FindElement(searchAcquisitionOrderFileNumberBttn).Click();
+ SafeClick(searchAcquisitionOrderFileNumberBttn);
}
public void OrderByAcquisitionFileHistoricalNumber()
@@ -92,7 +91,7 @@ public void SelectFirstOption()
{
var originalWindowHandle = webDriver.CurrentWindowHandle;
- Wait();
+ WaitUntilClickable(searchAcquisitionFile1stResultLink);
webDriver.FindElement(searchAcquisitionFile1stResultLink).Click();
Wait();
@@ -100,7 +99,6 @@ public void SelectFirstOption()
var newWindowHandle = allWindowsHandle.Where(handle => handle != originalWindowHandle).First();
webDriver.SwitchTo().Window(newWindowHandle);
-
WaitUntilClickable(searchAcquisitionFileHeaderCode);
AssertTrueIsDisplayed(searchAcquisitionFileHeaderCode);
}
@@ -108,25 +106,24 @@ public void SelectFirstOption()
public void FilterAcquisitionFiles(string pid = "", string pin = "", string address = "", string name = "", string teamMember = "",
string status = "", string project = "", string owner = "")
{
- Wait(5000);
+ WaitUntilClickable(searchAcquisitionFileResetButton);
webDriver.FindElement(searchAcquisitionFileResetButton).Click();
- Wait();
if (pid != "")
{
- ChooseSpecificSelectOption(searchAcquisitionFileSearchBySelect, "PID");
+ ChooseSelectOption(searchAcquisitionFileSearchBySelect, "PID");
webDriver.FindElement(searchAcquisitionFileSearchByPIDInput).SendKeys(pid);
}
if (pin != "")
{
- ChooseSpecificSelectOption(searchAcquisitionFileSearchBySelect, "PIN");
+ ChooseSelectOption(searchAcquisitionFileSearchBySelect, "PIN");
webDriver.FindElement(searchAcquisitionFileSearchByPINInput).SendKeys(pin);
}
if (address != "")
{
- ChooseSpecificSelectOption(searchAcquisitionFileSearchBySelect, "Civic Address");
+ ChooseSelectOption(searchAcquisitionFileSearchBySelect, "Civic Address");
webDriver.FindElement(searchAcquisitionFileSearchByAddressInput).SendKeys(address);
}
if (name != "")
@@ -140,7 +137,7 @@ public void FilterAcquisitionFiles(string pid = "", string pin = "", string addr
}
if(status != "")
- ChooseSpecificSelectOption(searchAcquisitionFileStatusSelect, status);
+ ChooseSelectOption(searchAcquisitionFileStatusSelect, status);
if (project != "")
webDriver.FindElement(searchAcquisitionFileOwnerInput).SendKeys(project);
@@ -153,37 +150,37 @@ public void FilterAcquisitionFiles(string pid = "", string pin = "", string addr
public Boolean SearchFoundResults()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchAcquisitionFile1stResult).Count > 0;
}
public string FirstAcquisitionFileNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchAcquisitionFile1stResultLink).Text;
}
public string FirstAcquisitionLegacyFileNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchAcquisitionFile1stResultHistoricalFile).Text;
}
public string FirstAcquisitionFileName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchAcquisitionFile1stResultName).Text;
}
public int AcquisitionFileTableResultNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchAcquisitionFileTableContent).Count;
}
public void VerifyAcquisitionFileListView()
{
- Wait();
+ WaitUntilVisible(searchAcquisitionFileTitle);
//Acquisition File Title
AssertTrueIsDisplayed(searchAcquisitionFileTitle);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchActivities.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchActivities.cs
index 5a2d9524a0..b936d1713b 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SearchActivities.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SearchActivities.cs
@@ -63,10 +63,10 @@ public SearchActivities(IWebDriver webDriver) : base(webDriver)
public void NavigateToSearchActivities()
{
- Wait();
+ WaitUntilClickable(managementMainMenu);
FocusAndClick(managementMainMenu);
- Wait();
+ WaitUntilClickable(managementMainMenuActivitiesListViewLink);
FocusAndClick(managementMainMenuActivitiesListViewLink);
}
@@ -102,58 +102,58 @@ public void OrderByActStatus()
public string FirstActDescription()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementListViewDescription1stRecord).Text;
}
public string FirstActName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementListViewName1stRecord).Text;
}
public string FirstActHistoricalFile()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementListViewHistoricalFile1stRecord).Text;
}
public string FirstActType()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementListViewType1stRecord).Text;
}
public string FirstActMgmtStatus()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementListViewStatus1stRecord).Text;
}
public void FilterManagementActivities(string pid = "", string pin = "", string address = "", string actName = "", string actStatus = "",
string mgmtStatus = "", string actType = "", string mgmtPurpose = "", string project = "")
{
- Wait();
+ WaitUntilClickable(managementListResetButton);
webDriver.FindElement(managementListResetButton).Click();
if (pid != "")
{
WaitUntilClickable(managementListSearchBySelect);
- ChooseSpecificSelectOption(managementListSearchBySelect, "PID");
+ ChooseSelectOption(managementListSearchBySelect, "PID");
webDriver.FindElement(managementListSearchByPIDInput).SendKeys(pid);
}
if (pin != "")
{
WaitUntilClickable(managementListSearchBySelect);
- ChooseSpecificSelectOption(managementListSearchBySelect, "PIN");
+ ChooseSelectOption(managementListSearchBySelect, "PIN");
webDriver.FindElement(managementListSearchByPINInput).SendKeys(pin);
}
if (address != "")
{
WaitUntilClickable(managementListSearchBySelect);
- ChooseSpecificSelectOption(managementListSearchBySelect, "Address");
+ ChooseSelectOption(managementListSearchBySelect, "Address");
webDriver.FindElement(managementListSearchByAddressInput).SendKeys(address);
}
@@ -166,19 +166,19 @@ public void FilterManagementActivities(string pid = "", string pin = "", string
if (actStatus != "")
{
WaitUntilClickable(managementListSearchByActivityStatusSelect);
- ChooseSpecificSelectOption(managementListSearchByActivityStatusSelect, actStatus);
+ ChooseSelectOption(managementListSearchByActivityStatusSelect, actStatus);
}
if (mgmtStatus != "")
{
WaitUntilClickable(managementListSearchByFileStatusSelect);
- ChooseSpecificSelectOption(managementListSearchByFileStatusSelect, mgmtStatus);
+ ChooseSelectOption(managementListSearchByFileStatusSelect, mgmtStatus);
}
if (actType != "")
{
WaitUntilClickable(managementListSearchByActivityTypeSelect);
- ChooseSpecificSelectOption(managementListSearchByActivityTypeSelect, actType);
+ ChooseSelectOption(managementListSearchByActivityTypeSelect, actType);
}
if (mgmtPurpose != "")
{
@@ -197,13 +197,13 @@ public void FilterManagementActivities(string pid = "", string pin = "", string
public Boolean SearchFoundResults()
{
- Wait(2000);
+ WaitUntilVisible(managementListViewViewMgmtFile1stRecord);
return webDriver.FindElements(managementListViewViewMgmtFile1stRecord).Count > 0;
}
public int MgmtActsTableResultNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(managementFilesResultsTable).Count;
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchContacts.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchContacts.cs
index 2c8d0c3169..144e1d2788 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SearchContacts.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SearchContacts.cs
@@ -6,6 +6,7 @@ public class SearchContacts : PageObjectBase
{
private readonly By menuContactsButton = By.CssSelector("div[data-testid='nav-tooltip-contacts'] a");
private readonly By searchContactButton = By.XPath("//a[contains(text(),'Manage Contacts')]");
+ private readonly By consolidationsBttn = By.CssSelector("div[data-testid='nav-tooltip-subdivision&consolidation']");
private readonly By searchContactOrgRadioBttn = By.Id("input-organizations");
private readonly By searchContactIndRadioBttn = By.Id("input-persons");
@@ -15,7 +16,6 @@ public class SearchContacts : PageObjectBase
private readonly By searchContactResetBttn = By.Id("reset-button");
private readonly By searchContactActiveChckBox = By.Id("input-activeContactsOnly");
private readonly By searchContactActiveSpan = By.XPath("//span[contains(text(),'Show active only')]");
- private readonly By searchContactAddNewBttn = By.XPath("//body/div[@id='root']/div[2]/div[2]/div[1]/div[1]/h1[1]/div[1]/button[1]");
private readonly By searchContactTableSummaryColumn = By.XPath("//div[contains(text(),'Summary')]");
private readonly By searchContactOrderBySummaryBttn = By.CssSelector("div[data-testid='sort-column-summary']");
@@ -51,31 +51,23 @@ public class SearchContacts : PageObjectBase
private readonly By searchContactUpdateBttn = By.CssSelector("div[class='tr-wrapper']:nth-child(1) div:nth-child(11) button:nth-child(1)");
private readonly By searchContactViewBttn = By.CssSelector("div[class='tr-wrapper']:nth-child(1) div:nth-child(11) button:nth-child(2)");
- private readonly By searchUpdateForm = By.Id("updateForm");
- private readonly By searchContactViewContactInfoHeader = By.XPath("//h2[contains(text(), 'Contact info')]");
- private readonly By searchContactBackLink = By.XPath("//a[contains(text(), 'Contact Search')]");
-
public SearchContacts(IWebDriver webDriver) : base(webDriver)
{ }
//Navigates to Search a Contact
public void NavigateToSearchContact()
{
- Wait();
- FocusAndClick(menuContactsButton);
-
- Wait();
- FocusAndClick(searchContactButton);
+ SafeClick(consolidationsBttn);
+ SafeClick(menuContactsButton);
+ SafeClick(searchContactButton);
}
//Search For a general contact
public void FilterContacts(string contactType = "", string summary = "", string city = "")
{
- Wait();
-
+ WaitUntilClickable(searchContactResetBttn);
webDriver.FindElement(searchContactResetBttn).Click();
- Wait();
if (contactType != "")
{
if(contactType == "Individual")
@@ -91,13 +83,13 @@ public void FilterContacts(string contactType = "", string summary = "", string
webDriver.FindElement(searchContactCityInput).SendKeys(city);
webDriver.FindElement(searchContactResultsBttn).Click();
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
}
//Pick the first Search Result
public void SelectFirstResultLink()
{
- Wait(2000);
+ WaitUntilClickable(searchContact1stResultLink);
webDriver.FindElement(searchContact1stResultLink).Click();
}
@@ -159,8 +151,8 @@ public void OrderByContactLastName()
public void OrderByContactOrganization()
{
- Wait(4000);
- webDriver.FindElement(searchContactOrderByOrganizationBttn).Click();
+ Wait();
+ SafeClick(searchContactOrderByOrganizationBttn);
}
public void OrderByContactCity()
@@ -171,49 +163,49 @@ public void OrderByContactCity()
public string FirstContactSummary()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchContact1stResultLink).Text;
}
public string FirstContactFirstName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchContact1stFirstNameContent).Text;
}
public string FirstContactLastName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchContact1stLastNameContent).Text;
}
public string FirstContactOrganization()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchContact1stOrganizationContent).Text;
}
public string FirstContactCity()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchContact1stCityContent).Text;
}
public int ContactsTableResultNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchContactTableContent).Count;
}
public Boolean SearchFoundResults()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchContact1stRowResult).Count > 0;
}
public void VerifyContactTableContent(string summary, string firstName, string lastName, string organization, string email, string address, string city, string province, string country)
{
- Wait(2000);
+ Wait();
AssertTrueContentEquals(searchContact1stResultLink,summary);
AssertTrueContentEquals(searchContact1stFirstNameContent, firstName);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchDispositionFiles.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchDispositionFiles.cs
index f8e322d15e..b39834d1b8 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SearchDispositionFiles.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SearchDispositionFiles.cs
@@ -5,6 +5,7 @@ namespace PIMS.Tests.Automation.PageObjects
{
public class SearchDispositionFiles : PageObjectBase
{
+ private readonly By menuManagementLeaseButton = By.CssSelector("div[data-testid='nav-tooltip-leases&licences'] a");
private readonly By menuDispositionButton = By.CssSelector("div[data-testid='nav-tooltip-disposition'] a");
private readonly By searcDispositionButton = By.XPath("//a[contains(text(),'Manage Disposition Files')]");
@@ -69,78 +70,70 @@ public SearchDispositionFiles(IWebDriver webDriver) : base(webDriver)
//Navigates to Search an DispositionFile
public void NavigateToSearchDispositionFile()
{
- Wait(3000);
- FocusAndClick(menuDispositionButton);
-
- Wait(3000);
- FocusAndClick(searcDispositionButton);
+ SafeClick(menuManagementLeaseButton);
+ SafeClick(menuDispositionButton);
+ SafeClick(searcDispositionButton);
}
public void SearchLastDispositionFile()
{
- Wait(2000);
+ WaitUntilClickable(searchDispositionFileResetButton);
webDriver.FindElement(searchDispositionFileResetButton).Click();
- Wait(2000);
+ WaitUntilClickable(searchDispositionFileNameInput);
webDriver.FindElement(searchDispositionFileNameInput).SendKeys("Automated");
webDriver.FindElement(searchDispositionFileSearchButton).Click();
WaitUntilClickable(searchDispositionOrderFileNumberBttn);
webDriver.FindElement(searchDispositionOrderFileNumberBttn).Click();
- Wait();
+ WaitUntilClickable(searchDispositionOrderFileNumberBttn);
webDriver.FindElement(searchDispositionOrderFileNumberBttn).Click();
}
public void OrderByDispositionFileNumber()
{
- Wait(2000);
- WaitUntilClickable(searchDispositionOrderFileNumberBttn);
- webDriver.FindElement(searchDispositionOrderFileNumberBttn).Click();
+ Wait();
+ SafeClick(searchDispositionOrderFileNumberBttn);
}
public void OrderByDispositionFileReferenceNumber()
{
- Wait(2000);
WaitUntilClickable(searchDispositionOrderReferenceBttn);
webDriver.FindElement(searchDispositionOrderReferenceBttn).Click();
}
public void OrderByDispositionFileName()
{
- Wait(2000);
WaitUntilClickable(searchDispositionOrderFileNameBttn);
webDriver.FindElement(searchDispositionOrderFileNameBttn).Click();
}
public void OrderByDispositionFileType()
{
- Wait(2000);
WaitUntilClickable(searchDispositionFileOrderTypeBttn);
webDriver.FindElement(searchDispositionFileOrderTypeBttn).Click();
}
public void OrderByDispositionStatus()
{
- Wait(2000);
WaitUntilClickable(searchDispositionFileOrderDispositionStatusBttn);
FocusAndClick(searchDispositionFileOrderDispositionStatusBttn);
}
public void OrderByDispositionFileStatus()
{
- Wait(2000);
WaitUntilClickable(searchDispositionFileOrderStatusBttn);
webDriver.FindElement(searchDispositionFileOrderStatusBttn).Click();
}
public void SelectFirstOption()
{
- Wait(2000);
+
WaitUntilClickable(searchDispositionFile1stResultLink);
webDriver.FindElement(searchDispositionFile1stResultLink).Click();
- Wait();
+ WaitUntilVisible(searchDispositionFileHeaderCode);
AssertTrueIsDisplayed(searchDispositionFileHeaderCode);
}
@@ -148,47 +141,45 @@ public void SelectLastOption()
{
var originalWindowHandle = webDriver.CurrentWindowHandle;
- Wait(2000);
WaitUntilClickable(searchDispositionOrderFileNumberBttn);
- webDriver.FindElement(searchDispositionOrderFileNumberBttn).Click();
+ SafeClick(searchDispositionOrderFileNumberBttn);
- Wait(2000);
- webDriver.FindElement(searchDispositionOrderFileNumberBttn).Click();
+ WaitUntilClickable(searchDispositionOrderFileNumberBttn);
+ SafeClick(searchDispositionOrderFileNumberBttn);
- Wait();
- webDriver.FindElement(searchDispositionFile1stResultLink).Click();
+ WaitUntilClickable(searchDispositionFile1stResultLink);
+ SafeClick(searchDispositionFile1stResultLink);
Wait();
var allWindowsHandle = webDriver.WindowHandles;
var newWindowHandle = allWindowsHandle.Where(handle => handle != originalWindowHandle).First();
webDriver.SwitchTo().Window(newWindowHandle);
- Wait();
+ WaitUntilVisible(searchDispositionFileHeaderCode);
AssertTrueIsDisplayed(searchDispositionFileHeaderCode);
}
public void FilterDispositionFiles(string pid = "", string pin = "", string address = "", string name = "", string teamMember = "",
string status = "", string dispStatus = "", string type = "")
{
- Wait();
+ WaitUntilClickable(searchDispositionFileResetButton);
webDriver.FindElement(searchDispositionFileResetButton).Click();
- Wait();
if (pid != "")
{
- ChooseSpecificSelectOption(searchDispositionFileSearchBySelect, "PID");
+ ChooseSelectOption(searchDispositionFileSearchBySelect, "PID");
webDriver.FindElement(searchDispositionFileSearchByPIDInput).SendKeys(pid);
}
if (pin != "")
{
- ChooseSpecificSelectOption(searchDispositionFileSearchBySelect, "PIN");
+ ChooseSelectOption(searchDispositionFileSearchBySelect, "PIN");
webDriver.FindElement(searchDispositionFileSearchByPINInput).SendKeys(pin);
}
if (address != "")
{
- ChooseSpecificSelectOption(searchDispositionFileSearchBySelect, "Address");
+ ChooseSelectOption(searchDispositionFileSearchBySelect, "Address");
webDriver.FindElement(searchDispositionFileSearchByAddressInput).SendKeys(address);
}
@@ -203,68 +194,68 @@ public void FilterDispositionFiles(string pid = "", string pin = "", string addr
}
if(status != "")
- ChooseSpecificSelectOption(searchDispositionFileStatusSelect, status);
+ ChooseSelectOption(searchDispositionFileStatusSelect, status);
if (dispStatus != "")
- ChooseSpecificSelectOption(searchDispositionStatusSelect, dispStatus);
+ ChooseSelectOption(searchDispositionStatusSelect, dispStatus);
if (type != "")
- ChooseSpecificSelectOption(searchDispositionTypeSelect, type);
+ ChooseSelectOption(searchDispositionTypeSelect, type);
webDriver.FindElement(searchDispositionFileSearchButton).Click();
}
public Boolean SearchFoundResults()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchDispositionFile1stResult).Count > 0;
}
public string FirstDispositionFileNumber()
{
- WaitUntilTableSpinnerDisappear();
+ Wait();
return webDriver.FindElement(searchDispositionFile1stResultLink).Text;
}
public string FirstDispositionReferenceNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchDispositionFile1stResultReference).Text;
}
public string FirstDispositionFileName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchDispositionFile1stResultName).Text;
}
public string FirstDispositionFileType()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchDispositionFile1stResultType).Text;
}
public string FirstDispositionStatus()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchDispositionFile1stResultStatus).Text;
}
public string FirstDispositionFileStatus()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchDispositionFile1stResultStatusFile).Text;
}
public int DispositionFileTableResultNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchDispositionFileTableContent).Count;
}
public void VerifyDispositionFileListView()
{
- Wait(4000);
+ WaitUntilVisible(searchAcquisitionFileTitle);
//Disposition File Title
AssertTrueIsDisplayed(searchAcquisitionFileTitle);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchLease.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchLease.cs
index a088862634..453c96c822 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SearchLease.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SearchLease.cs
@@ -77,43 +77,26 @@ public SearchLease(IWebDriver webDriver) : base(webDriver)
public void NavigateToSearchLicense()
{
- Wait();
+ WaitUntilClickable(menuManagementButton);
FocusAndClick(menuManagementButton);
- Wait();
+ WaitUntilClickable(searchLicenseButton);
FocusAndClick(searchLicenseButton);
}
public void SearchLicenseByLFile(string lFile)
{
- Wait(2000);
+ WaitUntilClickable(searchLicenseLFileInput);
webDriver.FindElement(searchLicenseLFileInput).SendKeys(lFile);
- //webDriver.FindElement(searchLicenseActiveStatusDeleteBttn).Click();
- FocusAndClick(searchLicenseSearchButton);
- }
-
- public void SearchLastLease()
- {
- Wait(2000);
- webDriver.FindElement(searchLicenseResetButton).Click();
-
- Wait(2000);
- webDriver.FindElement(searchLicenseActiveStatusDeleteBttn).Click();
- webDriver.FindElement(searchLicenseSearchButton).Click();
-
- WaitUntilClickable(searchLicenseOrderByLFileBttn);
- webDriver.FindElement(searchLicenseOrderByLFileBttn).Click();
-
- Wait();
- webDriver.FindElement(searchLicenseOrderByLFileBttn).Click();
+ SafeClick(searchLicenseSearchButton);
}
public void SearchAllLeases()
{
- Wait(2000);
+ WaitUntilClickable(searchLicenseResetButton);
webDriver.FindElement(searchLicenseResetButton).Click();
- Wait(2000);
+ WaitUntilClickable(searchLicenseActiveStatusDeleteBttn);
webDriver.FindElement(searchLicenseActiveStatusDeleteBttn).Click();
webDriver.FindElement(searchLicenseSearchButton).Click();
}
@@ -123,7 +106,7 @@ public void OrderByLastLease()
WaitUntilClickable(searchLicenseOrderByLFileBttn);
webDriver.FindElement(searchLicenseOrderByLFileBttn).Click();
- Wait();
+ WaitUntilClickable(searchLicenseOrderByLFileBttn);
webDriver.FindElement(searchLicenseOrderByLFileBttn).Click();
}
@@ -169,25 +152,25 @@ public void SelectFirstOption()
public string FirstLeaseFileNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchLicense1stResultLink).Text;
}
public string FirstLeaseExpiryDate()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchLicense1stResultExpiryDateContent).Text;
}
public string FirstLeaseProgramName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchLicense1stResultProgramContent).Text;
}
public string FirstLeaseStatus()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchLicense1stResultStatusContent).Text;
}
@@ -195,69 +178,56 @@ public void FilterLeasesFiles(string pid = "", string pin = "", string address =
string status = "", string tenant = "", string expiryDateFrom = "", string expiryDateTo = "", string accountType = "", string region = "", string keyword = "")
{
Wait();
- webDriver.FindElement(searchLicenseResetButton).Click();
+ SafeClick(searchLicenseResetButton);
webDriver.FindElement(searchLicenseActiveStatusDeleteBttn).Click();
if (pid != "")
{
WaitUntilClickable(searchBySelect);
- ChooseSpecificSelectOption(searchBySelect, "PID");
+ ChooseSelectOption(searchBySelect, "PID");
webDriver.FindElement(searchLicensePIDInput).SendKeys(pid);
}
if (pin != "")
{
WaitUntilClickable(searchBySelect);
- ChooseSpecificSelectOption(searchBySelect, "PIN");
+ ChooseSelectOption(searchBySelect, "PIN");
webDriver.FindElement(searchLicensePINInput).SendKeys(pin);
}
if (address != "")
{
WaitUntilClickable(searchBySelect);
- ChooseSpecificSelectOption(searchBySelect, "Address");
+ ChooseSelectOption(searchBySelect, "Address");
webDriver.FindElement(searchLicenseAddressInput).SendKeys(address);
}
if (lfile != "")
{
WaitUntilClickable(searchBySelect);
- ChooseSpecificSelectOption(searchBySelect, "L-File #");
+ ChooseSelectOption(searchBySelect, "L-File #");
webDriver.FindElement(searchLicenseLFileInput).SendKeys(lfile);
}
if (historicalFile != "")
{
WaitUntilClickable(searchBySelect);
- ChooseSpecificSelectOption(searchBySelect, "Historical File #");
+ ChooseSelectOption(searchBySelect, "Historical File #");
webDriver.FindElement(searchLicenseHistoricalFile).SendKeys(historicalFile);
}
if (program != "")
- {
- WaitUntilClickable(searchLicenseProgramSelect);
-
- webDriver.FindElement(searchLicenseProgramSelect).Click();
- WaitUntilClickable(searchLicenseProgramOptions);
- ChooseMultiSelectSpecificOption(searchLicenseProgramOptions, program);
+ {
+ ChooseMultiSelectOption(searchLicenseProgramSelect, searchLicenseProgramOptions, searchLicenseTitle, program);
}
-
if (teamMember != "")
{
- WaitUntilClickable(searchLicenseTeamMemberInput);
-
- webDriver.FindElement(searchLicenseTeamMemberInput).Click();
- WaitUntilClickable(searchLicenseTeamMemberOptions);
- ChooseMultiSelectSpecificOption(searchLicenseTeamMemberOptions, teamMember);
+ ChooseMultiSelectOption(searchLicenseTeamMemberInput, searchLicenseTeamMemberOptions, searchLicenseTitle, teamMember);
}
if (status != "")
{
- WaitUntilClickable(searchLicenseStatusInput);
-
- webDriver.FindElement(searchLicenseStatusInput).Click();
- WaitUntilClickable(searchLicenseStatusOptions);
- ChooseMultiSelectSpecificOption(searchLicenseStatusOptions, status);
+ ChooseMultiSelectOption(searchLicenseStatusInput, searchLicenseStatusOptions, searchLicenseTitle, status);
}
if (tenant != "")
@@ -281,13 +251,13 @@ public void FilterLeasesFiles(string pid = "", string pin = "", string address =
if (accountType != "")
{
WaitUntilClickable(searchLicenseAccountTypeSelect);
- ChooseMultiSelectSpecificOption(searchLicenseAccountTypeSelect, accountType);
+ ChooseSelectOption(searchLicenseAccountTypeSelect, accountType);
}
if (region != "")
{
WaitUntilClickable(searchLicenseRegionsSelect);
- ChooseSpecificSelectOption(searchLicenseRegionsSelect, region);
+ ChooseSelectOption(searchLicenseRegionsSelect, region);
}
if (keyword != "")
@@ -302,13 +272,13 @@ public void FilterLeasesFiles(string pid = "", string pin = "", string address =
public Boolean SearchFoundResults()
{
- Wait(2000);
+ Wait();
return webDriver.FindElements(searchLicenseResultsTable1stResult).Count > 0;
}
public int LeasesTableResultNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchLicenseResultsTable).Count;
}
@@ -354,8 +324,7 @@ public void VerifySearchLeasesView()
public void VerifyLeaseTableContent(Lease lease)
{
- Wait();
-
+ WaitUntilVisible(searchLicense1stResultLink);
AssertTrueIsDisplayed(searchLicense1stResultLink);
if(lease.LeaseExpiryDate != "")
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchManagement.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchManagement.cs
index 1b15e5e5b3..589485adc5 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SearchManagement.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SearchManagement.cs
@@ -65,10 +65,10 @@ public SearchManagement(IWebDriver driver) : base(driver)
public void NavigateToSearchManagement()
{
- Wait();
+ WaitUntilClickable(managementMainMenu);
FocusAndClick(managementMainMenu);
- Wait();
+ WaitUntilClickable(managementMainMenuListViewLink);
FocusAndClick(managementMainMenuListViewLink);
}
@@ -86,8 +86,7 @@ public void OrderByMgmtHistoricalFileNbr()
public void OrderByMgmtPurpose()
{
- WaitUntilClickable(managementListViewOrderByPurpose);
- webDriver.FindElement(managementListViewOrderByPurpose).Click();
+ SafeClick(managementListViewOrderByPurpose);
}
public void OrderByMgmtStatus()
@@ -114,52 +113,52 @@ public void SelectFirstOption()
public string FirstMgmtFileName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementListViewFileName1stRecord).Text;
}
public string FirstMgmtHistoricalFile()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementListViewHistFile1stRecord).Text;
}
public string FirstMgmtPurpose()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementListViewPurpose1stRecord).Text;
}
public string FirstMgmtStatus()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementListViewStatus1stRecord).Text;
}
public void FilterManagementFiles(string pid = "", string pin = "", string address = "", string mgmtfile = "", string teamMember = "",
string status = "", string purpose = "", string project = "", string region = "")
{
- Wait();
+ WaitUntilClickable(managementListResetButton);
webDriver.FindElement(managementListResetButton).Click();
if (pid != "")
{
WaitUntilClickable(managementListSearchBySelect);
- ChooseSpecificSelectOption(managementListSearchBySelect, "PID");
+ ChooseSelectOption(managementListSearchBySelect, "PID");
webDriver.FindElement(managementListSearchByPIDInput).SendKeys(pid);
}
if (pin != "")
{
WaitUntilClickable(managementListSearchBySelect);
- ChooseSpecificSelectOption(managementListSearchBySelect, "PIN");
+ ChooseSelectOption(managementListSearchBySelect, "PIN");
webDriver.FindElement(managementListSearchByPINInput).SendKeys(pin);
}
if (address != "")
{
WaitUntilClickable(managementListSearchBySelect);
- ChooseSpecificSelectOption(managementListSearchBySelect, "Address");
+ ChooseSelectOption(managementListSearchBySelect, "Address");
webDriver.FindElement(managementListSearchByAddressInput).SendKeys(address);
}
@@ -181,13 +180,13 @@ public void FilterManagementFiles(string pid = "", string pin = "", string addre
if (status != "")
{
WaitUntilClickable(managementListSearchByStatusSelect);
- ChooseSpecificSelectOption(managementListSearchByStatusSelect, status);
+ ChooseSelectOption(managementListSearchByStatusSelect, status);
}
if (purpose != "")
{
WaitUntilClickable(managementListSearchByPurposeSelect);
- ChooseSpecificSelectOption(managementListSearchByPurposeSelect, purpose);
+ ChooseSelectOption(managementListSearchByPurposeSelect, purpose);
}
if (project != "")
{
@@ -197,7 +196,7 @@ public void FilterManagementFiles(string pid = "", string pin = "", string addre
if (region != "")
{
WaitUntilClickable(managementListSearchByRegionSelect);
- ChooseSpecificSelectOption(managementListSearchByRegionSelect, region);
+ ChooseSelectOption(managementListSearchByRegionSelect, region);
}
@@ -207,13 +206,13 @@ public void FilterManagementFiles(string pid = "", string pin = "", string addre
public Boolean SearchFoundResults()
{
- Wait(2000);
+ WaitUntilVisible(managementListViewViewMgmtFile1stRecord);
return webDriver.FindElements(managementListViewViewMgmtFile1stRecord).Count > 0;
}
public int MgmtTableResultNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(managementFilesResultsTable).Count;
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchManagementActivities.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchManagementActivities.cs
index 1010dbc107..0a6b5ed837 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SearchManagementActivities.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SearchManagementActivities.cs
@@ -59,10 +59,10 @@ public SearchManagementActivities(IWebDriver webDriver) : base(webDriver)
public void NavigateToSearchManagementActivities()
{
- Wait();
+ WaitUntilClickable(managementMainMenu);
FocusAndClick(managementMainMenu);
- Wait();
+ WaitUntilClickable(managementMainMenuActsListViewLink);
FocusAndClick(managementMainMenuActsListViewLink);
}
@@ -98,58 +98,58 @@ public void OrderByMgmtActStatus()
public string FirstMgmtActDescription()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementActListViewDescription1stRecord).Text;
}
public string FirstMgmtActFileName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementActListViewFileName1stRecord).Text;
}
public string FirstMgmtActHistoricalFile()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementActListViewHistFile1stRecord).Text;
}
public string FirstMgmtActType()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementActListViewType1stRecord).Text;
}
public string FirstMgmtActStatus()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(managementActListViewStatus1stRecord).Text;
}
public void FilterManagementActivities(string pid = "", string pin = "", string address = "", string mgmtfile = "", string activityStatus = "",
string activityType = "", string project = "", string mgmtFileStatus = "", string purpose = "")
{
- Wait();
+ WaitUntilClickable(managementActListResetButton);
webDriver.FindElement(managementActListResetButton).Click();
if (pid != "")
{
WaitUntilClickable(managementActListSearchBySelect);
- ChooseSpecificSelectOption(managementActListSearchBySelect, "PID");
+ ChooseSelectOption(managementActListSearchBySelect, "PID");
webDriver.FindElement(managementActListSearchByPIDInput).SendKeys(pid);
}
if (pin != "")
{
WaitUntilClickable(managementActListSearchBySelect);
- ChooseSpecificSelectOption(managementActListSearchBySelect, "PIN");
+ ChooseSelectOption(managementActListSearchBySelect, "PIN");
webDriver.FindElement(managementActListSearchByPINInput).SendKeys(pin);
}
if (address != "")
{
WaitUntilClickable(managementActListSearchBySelect);
- ChooseSpecificSelectOption(managementActListSearchBySelect, "Address");
+ ChooseSelectOption(managementActListSearchBySelect, "Address");
webDriver.FindElement(managementActListSearchByAddressInput).SendKeys(address);
}
@@ -162,13 +162,13 @@ public void FilterManagementActivities(string pid = "", string pin = "", string
if (activityStatus != "")
{
WaitUntilClickable(managementActListSearchByActivityStatusSelect);
- ChooseSpecificSelectOption(managementActListSearchByActivityStatusSelect, activityStatus);
+ ChooseSelectOption(managementActListSearchByActivityStatusSelect, activityStatus);
}
if (activityType != "")
{
WaitUntilClickable(managementActListSearchByActivityType);
- ChooseSpecificSelectOption(managementActListSearchByActivityType, activityType);
+ ChooseSelectOption(managementActListSearchByActivityType, activityType);
}
if (project != "")
@@ -180,13 +180,13 @@ public void FilterManagementActivities(string pid = "", string pin = "", string
if (mgmtFileStatus != "")
{
WaitUntilClickable(managementActListSearchByFileStatusSelect);
- ChooseSpecificSelectOption(managementActListSearchByFileStatusSelect, mgmtFileStatus);
+ ChooseSelectOption(managementActListSearchByFileStatusSelect, mgmtFileStatus);
}
if (purpose != "")
{
WaitUntilClickable(managementActListSearchByPurposeSelect);
- ChooseSpecificSelectOption(managementActListSearchByPurposeSelect, purpose);
+ ChooseSelectOption(managementActListSearchByPurposeSelect, purpose);
}
WaitUntilClickable(managementActListSearchButton);
@@ -195,13 +195,13 @@ public void FilterManagementActivities(string pid = "", string pin = "", string
public Boolean SearchFoundResults()
{
- Wait(2000);
+ WaitUntilVisible(managementActListViewDescription1stRecord);
return webDriver.FindElements(managementActListViewDescription1stRecord).Count > 0;
}
public int MgmtActivitiesTableResultNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(managementActivitiesResultsTable).Count;
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchProjects.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchProjects.cs
index 11333620b2..781b7a7b5c 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SearchProjects.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SearchProjects.cs
@@ -55,13 +55,8 @@ public SearchProjects(IWebDriver webDriver) : base(webDriver)
//Navigates to Search a Project
public void NavigateToSearchProject()
{
- Wait(3000);
-
- WaitUntilClickable(projectMenuBttn);
- FocusAndClick(projectMenuBttn);
-
- WaitUntilClickable(manageProjectButton);
- FocusAndClick(manageProjectButton);
+ SafeClick(projectMenuBttn);
+ SafeClick(manageProjectButton);
}
public void SearchProjectByName(string projectName)
@@ -71,7 +66,7 @@ public void SearchProjectByName(string projectName)
WaitUntilVisible(searchProjectNameInput);
webDriver.FindElement(searchProjectNameInput).SendKeys(projectName);
- ChooseSpecificSelectOption(searchProjectStatusSelect, "All Status");
+ ChooseSelectOption(searchProjectStatusSelect, "All Status");
webDriver.FindElement(searchProjectButton).Click();
}
@@ -83,7 +78,7 @@ public void SearchProjectByNumber(string projectNumber)
WaitUntilVisible(searchProjectNumberInput);
webDriver.FindElement(searchProjectNumberInput).SendKeys(projectNumber);
- ChooseSpecificSelectOption(searchProjectStatusSelect, "All Status");
+ ChooseSelectOption(searchProjectStatusSelect, "All Status");
webDriver.FindElement(searchProjectButton).Click();
}
@@ -95,7 +90,7 @@ public void SearchProjectByRegion(string projectRegion)
WaitUntilVisible(searchProjectRegionSelect);
webDriver.FindElement(searchProjectRegionSelect).SendKeys(projectRegion);
- ChooseSpecificSelectOption(searchProjectStatusSelect, "All Status");
+ ChooseSelectOption(searchProjectStatusSelect, "All Status");
webDriver.FindElement(searchProjectButton).Click();
}
@@ -106,7 +101,7 @@ public void SearchProjectByStatus(string projectStatus)
webDriver.FindElement(searchProjectResetButton).Click();
WaitUntilVisible(searchProjectStatusSelect);
- ChooseSpecificSelectOption(searchProjectStatusSelect, projectStatus);
+ ChooseSelectOption(searchProjectStatusSelect, projectStatus);
webDriver.FindElement(searchProjectButton).Click();
}
@@ -115,7 +110,7 @@ public void SelectFirstResult()
{
var originalWindowHandle = webDriver.CurrentWindowHandle;
- Wait();
+ WaitUntilClickable(searchProject1stResultNbrLink);
webDriver.FindElement(searchProject1stResultNbrLink).Click();
Wait();
@@ -194,37 +189,37 @@ public void VerifyViewSearchResult(Project project)
public int ProjectsTableResultNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchProjectTotalCount).Count();
}
public Boolean SearchFoundResults()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchProject1stResult).Count > 0;
}
public string FirstProjectCode()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchProject1stResultNbrLink).Text;
}
public string FirstProjectName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchProject1stResultNameLink).Text;
}
public string FirstProjectLastUpdatedBy()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchProject1stResultLastUpdatedByContent).Text;
}
public string FirstProjectLastUpdatedDate()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchProject1stResultLastUpdatedDateContent).Text;
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchProperties.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchProperties.cs
index 7158fa26ac..921c1a4a4f 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SearchProperties.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SearchProperties.cs
@@ -53,10 +53,8 @@ public class SearchProperties : PageObjectBase
private readonly By search1stPMBCResultCreateLeaseOption = By.CssSelector("div[aria-labelledby='dropdown-ellipsis'] a[aria-label='Create Lease File']");
private readonly By search1stPMBCResultCreateDispositionOption = By.CssSelector("div[aria-labelledby='dropdown-ellipsis'] a[aria-label='Create Disposition File']");
private readonly By search1stPMBCResultAddToFileOption = By.CssSelector("div[aria-labelledby='dropdown-ellipsis'] a[aria-label='Add to Open File']");
- private readonly By quickInfoCloseModalBttn = By.CssSelector("div[data-testid='quick-info-header'] *[data-testid='close-icon']");
private readonly By search1stPIMSResult = By.XPath("//div[text()='Results (PIMS)']/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div[@data-testid='search-property-0']/div[1]/div");
- private readonly By search1stPIMSResultEllipsisBttn = By.XPath("//div[text()='Results (PIMS)']/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div[@data-testid='search-property-0']/div[2]/div/div/button");
private readonly By searchPropertyMoreOptionsBttn = By.CssSelector("button[data-testid='quick-info-more-options']");
private readonly By searchPropertyAddToFileOption = By.CssSelector("div[aria-labelledby='dropdown-ellipsis'] a[aria-label='Add to Open File']");
@@ -113,7 +111,7 @@ public SearchProperties(IWebDriver webDriver) : base(webDriver)
public void NavigateToHomePage()
{
- Wait();
+ WaitUntilClickable(homePageBttn);
webDriver.FindElement(homePageBttn).Click();
}
@@ -124,53 +122,52 @@ public void SearchProperty(string PID = "", string PIN = "", string address = ""
if (PID != "")
{
- ChooseSpecificSelectOption(searchPropertyTypeSelect, "PID");
+ ChooseSelectOption(searchPropertyTypeSelect, "PID");
ClearInput(searchPropertyByPIDInput);
webDriver.FindElement(searchPropertyByPIDInput).SendKeys(PID);
}
if (PIN != "")
{
- ChooseSpecificSelectOption(searchPropertyTypeSelect, "PIN");
+ ChooseSelectOption(searchPropertyTypeSelect, "PIN");
ClearInput(searchPropertyByPINInput);
webDriver.FindElement(searchPropertyByPINInput).SendKeys(PIN);
}
if (address != "")
{
- ChooseSpecificSelectOption(searchPropertyTypeSelect, "Address");
+ ChooseSelectOption(searchPropertyTypeSelect, "Address");
webDriver.FindElement(searchPropertyByAddressInput).SendKeys(address);
- WaitUntilVisible(searchPropertyAddressSuggestionsGroup);
- FocusAndClick(searchPropertyAddressSuggestions1stOption);
+ Wait();
+ SafeClick(searchPropertyAddressSuggestions1stOption);
}
if (plan != "")
{
- ChooseSpecificSelectOption(searchPropertyTypeSelect, "Plan #");
+ ChooseSelectOption(searchPropertyTypeSelect, "Plan #");
webDriver.FindElement(searchPropertyByPlanInput).SendKeys(plan);
}
if (historicFile != "")
{
- ChooseSpecificSelectOption(searchPropertyTypeSelect, "Historical File #");
+ ChooseSelectOption(searchPropertyTypeSelect, "Historical File #");
webDriver.FindElement(searchPropertyByHistoricalFileInput).SendKeys(historicFile);
}
if (POIName != "")
{
- ChooseSpecificSelectOption(searchPropertyTypeSelect, "POI Name");
+ ChooseSelectOption(searchPropertyTypeSelect, "POI Name");
webDriver.FindElement(searchPropertyByPOINameInput).SendKeys(POIName);
- Wait();
WaitUntilVisible(searchPropertyPOINameFirstOption);
webDriver.FindElement(searchPropertyPOINameFirstOption).Click();
}
if (coordinates != null)
{
- ChooseSpecificSelectOption(searchPropertyTypeSelect, "Lat/Long");
+ ChooseSelectOption(searchPropertyTypeSelect, "Lat/Long");
webDriver.FindElement(searchPropertyByLatDegreesInput).SendKeys(coordinates.LatitudeDegree);
webDriver.FindElement(searchPropertyByLatMinsInput).SendKeys(coordinates.LatitudeMinutes);
@@ -185,8 +182,8 @@ public void SearchProperty(string PID = "", string PIN = "", string address = ""
if (surveyParcel != null)
{
- ChooseSpecificSelectOption(searchPropertyTypeSelect, "Survey Parcel");
- ChooseSpecificSelectOption(searchSurveyDistricSelect, surveyParcel.District);
+ ChooseSelectOption(searchPropertyTypeSelect, "Survey Parcel");
+ ChooseSelectOption(searchSurveyDistricSelect, surveyParcel.District);
webDriver.FindElement(searchSurveySectionInput).SendKeys(surveyParcel.Section);
webDriver.FindElement(searchSurveyTownshipInput).SendKeys(surveyParcel.Township);
webDriver.FindElement(searchSurveyRangeInput).SendKeys(surveyParcel.Range);
@@ -194,18 +191,17 @@ public void SearchProperty(string PID = "", string PIN = "", string address = ""
if (project != "")
{
- ChooseSpecificSelectOption(searchPropertyTypeSelect, "Project");
+ ChooseSelectOption(searchPropertyTypeSelect, "Project");
webDriver.FindElement(searchPropertyProjectInput).SendKeys(project);
webDriver.FindElement(searchPropertyProjectInput).SendKeys(Keys.Space);
webDriver.FindElement(searchPropertyProjectInput).SendKeys(Keys.Backspace);
- Wait();
+ WaitUntilClickable(searchProject1stOption);
FocusAndClick(searchProject1stOption);
}
- Wait();
- webDriver.FindElement(searchPropertySearchBttn).Click();
+ SafeClick(searchPropertySearchBttn);
WaitUntilSpinnerDisappear();
}
@@ -214,29 +210,24 @@ public void SearchPropertyByAddressList(string address)
Wait();
WaitUntilClickable(searchPropertyTypeSelect);
- ChooseSpecificSelectOption(searchPropertyTypeSelect, "Address");
+ ChooseSelectOption(searchPropertyTypeSelect, "Address");
webDriver.FindElement(searchPropertyByAddressInput).SendKeys(address);
webDriver.FindElement(searchPropertySearchBttn).Click();
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
}
public void SelectOwnershipSearch(string ownership)
{
- Wait();
while (webDriver.FindElements(searchPropertyOwnershipDeleteBttns).Count > 0)
webDriver.FindElements(searchPropertyOwnershipDeleteBttns)[0].Click();
- Wait();
- webDriver.FindElement(searchPropertyListViewOwnershipInput).Click();
-
- WaitUntilVisible(searchPropertyListOwnershipOptions);
- ChooseMultiSelectSpecificOption(searchPropertyListOwnershipOptions, ownership);
+ ChooseMultiSelectOption(searchPropertyListViewOwnershipInput, searchPropertyListOwnershipOptions, searchPropertyListHeaderAddress, ownership);
}
public void ResetPropertySearch()
{
- Wait();
+ WaitUntilClickable(searchPropertyResetBttn);
webDriver.FindElement(searchPropertyResetBttn).Click();
WaitUntilSpinnerDisappear();
@@ -244,22 +235,21 @@ public void ResetPropertySearch()
public void SelectFound1stPropFromMap()
{
- Wait();
+ WaitUntilClickable(searchPropertyFoundLocationPin);
webDriver.FindElement(searchPropertyFoundLocationPin).Click();
}
public void SelectFound1stPropAddToFile()
{
- Wait();
+ WaitUntilClickable(searchPropertyFoundLocationPin);
FocusAndClick(searchPropertyFoundLocationPin);
- Wait();
- webDriver.FindElement(searchPropertyMoreOptionsBttn).Click();
+ WaitUntilClickable(searchPropertyMoreOptionsBttn);
+ SafeClick(searchPropertyMoreOptionsBttn);
WaitUntilVisible(searchPropertyAddToFileOption);
webDriver.FindElement(searchPropertyAddToFileOption).Click();
- Wait();
if (webDriver.FindElements(searchPropertyConfirmationModal).Count > 0 && sharedModals.ModalContent().Contains("You have selected a property not previously in the inventory"))
{
Assert.Equal("Not inventory property", sharedModals.ModalHeader());
@@ -270,7 +260,7 @@ public void SelectFound1stPropAddToFile()
public void SelectFirstFoundPropertyList()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
webDriver.FindElement(searchPropertyListContent1stViewTabBttn).Click();
}
@@ -279,8 +269,8 @@ public void SelectFirstPMBCResult(string action = "")
Wait();
webDriver.FindElement(search1stPMBCResult).Click();
- Wait();
- FocusAndClick(searchInfoEllipsisBttn);
+ WaitUntilClickable(searchInfoEllipsisBttn);
+ SafeClick(searchInfoEllipsisBttn);
switch (action)
{
@@ -311,16 +301,15 @@ public void SelectFirstPMBCResult(string action = "")
Assert.Contains("You have selected a property not previously in the inventory. Do you want to add this property to the lease?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
}
-
- //Wait(10000);
- //webDriver.FindElement(quickInfoCloseModalBttn).Click();
}
public void SelectSecondPMBCResult(string action = "")
{
Wait();
- Actions hoverAction = new(webDriver);
- hoverAction.MoveToElement(webDriver.FindElement(search2ndPMBCResult)).MoveToElement(webDriver.FindElement(search2ndPMBCResultEllipsisBttn)).Click().Build().Perform();
+ webDriver.FindElement(search2ndPMBCResult).Click();
+
+ WaitUntilClickable(searchInfoEllipsisBttn);
+ SafeClick(searchInfoEllipsisBttn);
switch (action)
{
@@ -345,24 +334,14 @@ public void SelectSecondPMBCResult(string action = "")
}
}
- public void SelectFirstPIMSResultToFile()
- {
- Wait();
- Actions action = new(webDriver);
- action.MoveToElement(webDriver.FindElement(search1stPIMSResult)).MoveToElement(webDriver.FindElement(search1stPIMSResultEllipsisBttn)).Click().Build().Perform();
- webDriver.FindElement(search1stPMBCResultAddToFileOption).Click();
- }
-
public void SelectFirstPIMSResult()
{
- Wait();
- webDriver.FindElement(search1stPIMSResult).Click();
+ SafeClick(search1stPIMSResult);
}
public void NavigatePropertyListView()
{
- Wait(10000);
- webDriver.FindElement(searchPropertyListViewBttn).Click();
+ SafeClick(searchPropertyListViewBttn);
}
public void ChooseFirstPropertyFromList()
@@ -391,25 +370,25 @@ public void OrderByPropertyOwnership()
public string FirstPropertyPID()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchPropertyListContent1stPID).Text;
}
public string FirstPropertyLocation()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchPropertyListContent1stLocation).Text;
}
public string FirstPropertyLotSize()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchPropertyListContent1stLotSize).Text;
}
public string FirstPropertyOwnership()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchPropertyListContent1stOwnership).Text;
}
@@ -454,33 +433,34 @@ public void ValidatePropertyListView()
public int PropertiesPinMapFoundCount()
{
- Wait();
+ WaitUntilVisible(searchPropertyFoundLocationPin);
return webDriver.FindElements(searchPropertyFoundLocationPin).Count;
}
public int PropertiesListFoundCount()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchPropertyListContent).Count();
}
public void NoPropertiesFound()
{
- Assert.True(sharedModals.ToastifyText() == "No search results found");
+ Assert.True(sharedModals.ToastifyMainText() == "No search results found");
}
public void DuplicatePropertyInserted()
{
- Wait();
- webDriver.FindElement(search1stPMBCResult).Click();
+ WaitUntilClickable(search1stPMBCResult);
+ SafeClick(search1stPMBCResult);
- Wait();
- FocusAndClick(searchInfoEllipsisBttn);
+ WaitUntilClickable(searchInfoEllipsisBttn);
+ SafeClick(searchInfoEllipsisBttn);
- Wait();
- webDriver.FindElement(search1stPMBCResultAddToFileOption).Click();
+ WaitUntilClickable(search1stPMBCResultAddToFileOption);
+ SafeClick(search1stPMBCResultAddToFileOption);
- Assert.Equal("Skipped 1 duplicate property(s).", sharedModals.ToastifyText());
+ Wait();
+ Assert.Equal("Skipped 1 duplicate property(s).", sharedModals.ToastifyMainText());
}
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SearchResearchFiles.cs b/testing/PIMS.Tests.Automation/PageObjects/SearchResearchFiles.cs
index 6c42193881..04e29d61eb 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SearchResearchFiles.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SearchResearchFiles.cs
@@ -71,19 +71,19 @@ public SearchResearchFiles(IWebDriver webDriver) : base(webDriver)
//Navigates to Search a Research File
public void NavigateToSearchResearchFile()
{
- Wait(4000);
+ WaitUntilClickable(menuResearchButton);
FocusAndClick(menuResearchButton);
- Wait();
+ WaitUntilClickable(searchResearchButton);
FocusAndClick(searchResearchButton);
}
public void SearchResearchFileByRFile(string RFile)
{
- Wait(2000);
- ChooseSpecificSelectOption(searchResearchBySelect, "Research file #");
+ WaitUntilClickable(searchResearchBySelect);
+ ChooseSelectOption(searchResearchBySelect, "Research file #");
webDriver.FindElement(searchResearchFileNbrInput).SendKeys(RFile);
- ChooseSpecificSelectOption(searchResearchStatusSelect, "All Status");
+ ChooseSelectOption(searchResearchStatusSelect, "All Status");
WaitUntilClickable(searchResearchFileButton);
FocusAndClick(searchResearchFileButton);
@@ -91,8 +91,8 @@ public void SearchResearchFileByRFile(string RFile)
public void SearchAllResearchFiles()
{
- Wait(2000);
- ChooseSpecificSelectOption(searchResearchStatusSelect, "All Status");
+ WaitUntilClickable(searchResearchStatusSelect);
+ ChooseSelectOption(searchResearchStatusSelect, "All Status");
WaitUntilClickable(searchResearchFileButton);
webDriver.FindElement(searchResearchFileButton).Click();
@@ -142,43 +142,43 @@ public void OrderByResearchStatus()
public string FirstResearchFileNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchResearchFile1stResultLink).Text;
}
public string FirstResearchFileName()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchResearchFile1stResultFileName).Text;
}
public string FirstResearchCreatedBy()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchResearchFile1stResultCreator).Text;
}
public string FirstResearchCreatedDate()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchResearchFile1stResultCreateDate).Text;
}
public string FirstResearchUpdatedBy()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchResearchFile1stResultUpdatedBy).Text;
}
public string FirstResearchUpdatedDate()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchResearchFile1stResultUpdateDate).Text;
}
public string FirstResearchFileStatus()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElement(searchResearchFile1stResultStatus).Text;
}
@@ -224,7 +224,7 @@ public void VerifyResearchFileListView()
public void VerifyResearchFileTableContent(ResearchFile researchFile, string user)
{
- Wait(2000);
+ Wait();
AssertTrueIsDisplayed(searchResearchFile1stResultLink);
AssertTrueContentEquals(searchResearchFile1stResultFileName, researchFile.ResearchFileName);
@@ -243,29 +243,29 @@ public void FilterResearchFiles(string region = "", string status = "", string
webDriver.FindElement(searchResearchFileResetButton).Click();
if(region != "")
- ChooseSpecificSelectOption(searchResearchRegionInput, region);
+ ChooseSelectOption(searchResearchRegionInput, region);
if(status != "")
- ChooseSpecificSelectOption(searchResearchStatusSelect, status);
+ ChooseSelectOption(searchResearchStatusSelect, status);
if (pid != "")
{
- ChooseSpecificSelectOption(searchResearchBySelect, "PID");
+ ChooseSelectOption(searchResearchBySelect, "PID");
webDriver.FindElement(searchResearchByPID).SendKeys(pid);
}
else if (pin != "")
{
- ChooseSpecificSelectOption(searchResearchBySelect, "PIN");
+ ChooseSelectOption(searchResearchBySelect, "PIN");
webDriver.FindElement(searchResearchByPIN).SendKeys(pin);
}
else if (name != "")
{
- ChooseSpecificSelectOption(searchResearchBySelect, "Research file name");
+ ChooseSelectOption(searchResearchBySelect, "Research file name");
webDriver.FindElement(searchResearchNameInput).SendKeys(name);
}
else if (fileNumber != "")
{
- ChooseSpecificSelectOption(searchResearchBySelect, "Research file #");
+ ChooseSelectOption(searchResearchBySelect, "Research file #");
webDriver.FindElement(searchResearchFileNbrInput).SendKeys(fileNumber);
}
if (roadName != "")
@@ -274,23 +274,23 @@ public void FilterResearchFiles(string region = "", string status = "", string
}
if (createdDate != "")
{
- ChooseSpecificSelectOption(searchResearchCreateUpdateDateSelect, "Created date");
+ ChooseSelectOption(searchResearchCreateUpdateDateSelect, "Created date");
webDriver.FindElement(searchResearchCreateDateInput).SendKeys(createdDate);
}
else if (updatedDate != "")
{
- ChooseSpecificSelectOption(searchResearchCreateUpdateDateSelect, "Updated date");
+ ChooseSelectOption(searchResearchCreateUpdateDateSelect, "Updated date");
webDriver.FindElement(searchResearchUpdateDateInput).SendKeys(updatedDate);
}
if (createdBy != "")
{
- ChooseSpecificSelectOption(searchResearchCreateUpdateBySelect, "Created by");
+ ChooseSelectOption(searchResearchCreateUpdateBySelect, "Created by");
webDriver.FindElement(searchResearchFileUserCreatedIdirInput).SendKeys(createdBy);
}
else if (updatedBy != "")
{
- ChooseSpecificSelectOption(searchResearchCreateUpdateBySelect, "Updated by");
+ ChooseSelectOption(searchResearchCreateUpdateBySelect, "Updated by");
webDriver.FindElement(searchResearchUserUpdatedIdirInput).SendKeys(createdBy);
}
@@ -299,13 +299,13 @@ public void FilterResearchFiles(string region = "", string status = "", string
public Boolean SearchFoundResults()
{
- Wait(2000);
+ Wait();
return webDriver.FindElements(searchResearchFile1stResult).Count > 0;
}
public int ResearchFileTableResultNumber()
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
return webDriver.FindElements(searchResearchFileTableContent).Count;
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SharedActivities.cs b/testing/PIMS.Tests.Automation/PageObjects/SharedActivities.cs
index 5f6477c4a4..5cda5d2a94 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SharedActivities.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SharedActivities.cs
@@ -120,10 +120,9 @@ public void SaveManagementActivity(string type)
public void InsertNewPropertyActivity(PropertyActivity activity)
{
- Wait();
//Choosing Activity type, Sub-type, status
- ChooseSpecificSelectOption(managementActTypeInput, activity.PropertyActivityType);
+ ChooseSelectOption(managementActTypeInput, activity.PropertyActivityType);
Wait();
if (webDriver.FindElements(managementActSubTypeDeleteBttns).Count > 0)
@@ -136,14 +135,11 @@ public void InsertNewPropertyActivity(PropertyActivity activity)
{
foreach (string subtype in activity.PropertyActivitySubTypeList)
{
- webDriver.FindElement(managementActSubTypeSelect).Click();
-
- WaitUntilVisible(managementActSubTypeSelectOptions);
- ChooseMultiSelectSpecificOption(managementActSubTypeSelectOptions, subtype);
+ ChooseMultiSelectOption(managementActSubTypeSelect, managementActSubTypeSelectOptions, managementActSubTypeLabel, subtype);
}
}
- ChooseSpecificSelectOption(managementActStatusInput, activity.PropertyActivityStatus);
+ ChooseSelectOption(managementActStatusInput, activity.PropertyActivityStatus);
//Inserting Requested Added Date
ClearInput(managementActRequestAddedCommenceDateInput);
@@ -226,7 +222,6 @@ public void InsertNewPropertyActivity(PropertyActivity activity)
{
webDriver.FindElements(managementActInvoicesDeleteBttns)[0].Click();
- Wait();
Assert.Equal("Remove Invoice", sharedModals.ModalHeader());
Assert.Contains("You have selected to delete an invoice. Are you sure you want to proceed?", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
@@ -240,7 +235,6 @@ public void CancelPropertyManagement()
{
ButtonElement("Cancel");
- Wait();
Assert.Equal("Confirm Changes", sharedModals.ModalHeader());
Assert.Contains("If you choose to cancel now, your changes will not be saved.", sharedModals.ModalContent());
Assert.Contains("Do you want to proceed?", sharedModals.ModalContent());
@@ -265,7 +259,7 @@ public void CloseActivityTray(string type)
public void VerifyInsertedActivity(PropertyActivity activity, string activityType)
{
- Wait(2000);
+ Wait();
//Activity Details section
AssertTrueIsDisplayed(managementActivityDetailsTitle);
@@ -391,10 +385,10 @@ public void VerifyCreateActivityInitForm(string activityType = "", int propsCoun
private void AddInvoice(ManagementPropertyActivityInvoice invoice, int index)
{
- Wait();
+ WaitUntilClickable(managementAddInvoiceBttn);
webDriver.FindElement(managementAddInvoiceBttn).Click();
- Wait();
+ WaitUntilClickable(By.Id("input-invoices."+ index +".invoiceNum"));
webDriver.FindElement(By.Id("input-invoices."+ index +".invoiceNum")).SendKeys(invoice.PropertyActivityInvoiceNumber);
webDriver.FindElement(By.Id("datepicker-invoices."+ index +".invoiceDateTime")).SendKeys(invoice.PropertyActivityInvoiceDate);
@@ -405,7 +399,7 @@ private void AddInvoice(ManagementPropertyActivityInvoice invoice, int index)
CleanUpCurrencyInput(By.Id("input-invoices."+ index +".pretaxAmount"));
SendKeysToCurrencyInput(By.Id("input-invoices."+ index +".pretaxAmount"), invoice.PropertyActivityInvoicePretaxAmount);
- ChooseSpecificSelectOption(By.Id("input-invoices."+ index +".isPstRequired"), invoice.PropertyActivityInvoicePSTApplicable);
+ ChooseSelectOption(By.Id("input-invoices."+ index +".isPstRequired"), invoice.PropertyActivityInvoicePSTApplicable);
AssertTrueElementValueEquals(By.Id("input-invoices."+ index +".gstAmount"), TransformCurrencyFormat(invoice.PropertyActivityInvoiceGSTAmount));
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SharedAgreements.cs b/testing/PIMS.Tests.Automation/PageObjects/SharedAgreements.cs
index a3424d812e..bc9f0f51ff 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SharedAgreements.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SharedAgreements.cs
@@ -61,22 +61,18 @@ public void NavigateAgreementsTab()
public void EditAgreementButton(int index)
{
- Wait();
var elementNumber = index + 1;
webDriver.FindElement(By.CssSelector("button[data-testid='agreements["+ elementNumber +"].edit-btn']")).Click();
}
public void CreateNewAgreementBttn()
{
- Wait();
-
WaitUntilClickable(agreementsCreateNewAgreementBttn);
webDriver.FindElement(agreementsCreateNewAgreementBttn).Click();
}
public void SaveAcquisitionFileAgreement()
{
- Wait();
ButtonElement("Save");
AssertTrueIsDisplayed(agreementsCreateNewAgreementBttn);
@@ -84,19 +80,21 @@ public void SaveAcquisitionFileAgreement()
public void CancelAcquisitionFileAgreement()
{
- Wait();
ButtonElement("Cancel");
sharedModals.CancelActionModal();
-
AssertTrueIsDisplayed(agreementsCreateNewAgreementBttn);
}
public void CreateUpdateAgreement(Agreement agreement)
{
- Wait();
+ WaitUntilClickable(agreementsStatusInput);
+
+ ChooseSelectOption(agreementsStatusInput, agreement.AgreementStatus);
- ChooseSpecificSelectOption(agreementsStatusInput, agreement.AgreementStatus);
+ Wait();
+ if(webDriver.FindElements(acquisitionFileConfirmationModal).Count > 0)
+ sharedModals.ModalClickOKBttn();
if (agreement.AgreementCancellationReason != "")
{
@@ -111,7 +109,7 @@ public void CreateUpdateAgreement(Agreement agreement)
}
if(agreement.AgreementType != "")
- ChooseSpecificSelectOption(agreementsTypeSelect, agreement.AgreementType);
+ ChooseSelectOption(agreementsTypeSelect, agreement.AgreementType);
if (agreement.AgreementDate != "")
{
@@ -162,8 +160,8 @@ public void CreateUpdateAgreement(Agreement agreement)
public void DeleteLastAgreement()
{
- Wait();
- var lastAgreement = webDriver.FindElements(agreementsTotalCount).Count();
+ WaitUntilVisible(agreementsTotalCount);
+ var lastAgreement = webDriver.FindElements(agreementsTotalCount).Count() -1;
webDriver.FindElement(By.CssSelector("button[data-testid='agreements["+ lastAgreement +"].delete-btn']")).Click();
@@ -229,46 +227,45 @@ public void VerifyCreateAgreementForm()
public void VerifyViewAgreementForm(Agreement agreement, int index)
{
var agreementNbr = index + 1;
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/preceding-sibling::div"), "Agreement " + agreementNbr);
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/preceding-sibling::div"), "Agreement " + agreementNbr);
-
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement status')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement status')]/parent::div/following-sibling::div"), agreement.AgreementStatus);
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement status')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement status')]/parent::div/following-sibling::div"), agreement.AgreementStatus);
if (agreement.AgreementCancellationReason != "")
{
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Cancellation reason')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Cancellation reason')]/parent::div/following-sibling::div"), agreement.AgreementCancellationReason);
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Cancellation reason')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Cancellation reason')]/parent::div/following-sibling::div"), agreement.AgreementCancellationReason);
}
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Legal survey plan')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Legal survey plan')]/parent::div/following-sibling::div"), agreement.AgreementLegalSurveyPlan);
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Legal survey plan')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Legal survey plan')]/parent::div/following-sibling::div"), agreement.AgreementLegalSurveyPlan);
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement type')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement type')]/parent::div/following-sibling::div"), agreement.AgreementType);
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement type')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement type')]/parent::div/following-sibling::div"), agreement.AgreementType);
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement date')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement date')]/parent::div/following-sibling::div"), TransformDateFormat(agreement.AgreementDate));
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement date')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Agreement date')]/parent::div/following-sibling::div"), TransformDateFormat(agreement.AgreementDate));
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Completion date')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Completion date')]/parent::div/following-sibling::div"), TransformDateFormat(agreement.AgreementCompletionDate));
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Completion date')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Completion date')]/parent::div/following-sibling::div"), TransformDateFormat(agreement.AgreementCompletionDate));
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Termination date')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Termination date')]/parent::div/following-sibling::div"), TransformDateFormat(agreement.AgreementTerminationDate));
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Termination date')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Termination date')]/parent::div/following-sibling::div"), TransformDateFormat(agreement.AgreementTerminationDate));
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Possession date')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Possession date')]/parent::div/following-sibling::div"), TransformDateFormat(agreement.AgreementPossessionDate));
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Possession date')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Possession date')]/parent::div/following-sibling::div"), TransformDateFormat(agreement.AgreementPossessionDate));
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div[contains(text(),'Financial')]"));
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div[contains(text(),'Financial')]"));
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Purchase price')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Purchase price')]/parent::div/following-sibling::div"), TransformCurrencyFormat(agreement.AgreementPurchasePrice));
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Purchase price')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Purchase price')]/parent::div/following-sibling::div"), TransformCurrencyFormat(agreement.AgreementPurchasePrice));
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Deposit due no later than')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Deposit due no later than')]/parent::div/following-sibling::div"), agreement.AgreementDepositDue + " days");
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Deposit due no later than')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Deposit due no later than')]/parent::div/following-sibling::div"), agreement.AgreementDepositDue + " days");
- AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Deposit amount')]"));
- AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ agreementNbr +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Deposit amount')]/parent::div/following-sibling::div"), TransformCurrencyFormat(agreement.AgreementDepositAmount));
+ AssertTrueIsDisplayed(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Deposit amount')]"));
+ AssertTrueContentEquals(By.XPath("//button[@data-testid='agreements["+ index +"].edit-btn']/parent::div/parent::div/parent::div/parent::div/parent::div/parent::h2/following-sibling::div/div/div/label[contains(text(),'Deposit amount')]/parent::div/following-sibling::div"), TransformCurrencyFormat(agreement.AgreementDepositAmount));
}
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SharedCompensations.cs b/testing/PIMS.Tests.Automation/PageObjects/SharedCompensations.cs
index a33a4ad353..6e0c862c84 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SharedCompensations.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SharedCompensations.cs
@@ -88,7 +88,7 @@ public class SharedCompensations : PageObjectBase
private readonly By requisitionCostTypeContent = By.XPath("//label[contains(text(),'Cost type')]/parent::div/following-sibling::div");
private readonly By requisitionFiscalYearLabel = By.XPath("//label[contains(text(),'Fiscal year')]");
private readonly By requisitionFiscalYearContent = By.XPath("//label[contains(text(),'Fiscal year')]/parent::div/following-sibling::div");
- private readonly By requisitionFiscalYearSelect = By.Id("input-fiscalYear");
+ private readonly By requisitionFiscalYearSelect = By.CssSelector("select[id='input-fiscalYear']");
private readonly By requisitionSTOBLabel = By.XPath("//label[contains(text(),'STOB')]");
private readonly By requisitionSTOBContent = By.XPath("//label[contains(text(),'STOB')]/parent::div/following-sibling::div");
private readonly By requisitionSTOBInput = By.Id("typeahead-select-stob");
@@ -110,7 +110,7 @@ public class SharedCompensations : PageObjectBase
private readonly By requisitionPayeeContentCount = By.XPath("//label[contains(text(),'Payee')]/parent::div/following-sibling::div/div");
private readonly By requisitionPayeeMultiselect = By.Id("multiselect-payees_input");
private readonly By requisitionPayeeDeleteBttns = By.CssSelector("div[id='multiselect-payees'] i[class='custom-close']");
- private readonly By requisitionPayeeOptions = By.XPath("//input[@id='multiselect-payees_input']/parent::div/following-sibling::div/ul[@class='optionContainer']");
+ private readonly By requisitionPayeeOptions = By.XPath("//input[@id='multiselect-payees_input']/parent::div/following-sibling::div[contains(@class,'optionListContainer')]");
private readonly By requisitionPaymentInTrustLabel = By.XPath("//label[contains(text(),'Payment in Trust?')]");
private readonly By requisitionPaymentInTrustContent1 = By.XPath("//label[contains(text(),'Payee')]/parent::div/following-sibling::div/div/label[1]");
private readonly By requisitionPaymentInTrustContent2 = By.XPath("//label[contains(text(),'Payee')]/parent::div/following-sibling::div/div/label[2]");
@@ -168,7 +168,7 @@ public void NavigateCompensationTab()
public void UpdateTotalAllowableCompensation(string allowableAmount)
{
- Wait();
+ WaitUntilClickable(compensationTotalAllowableEdiBttn);
FocusAndClick(compensationTotalAllowableEdiBttn);
WaitUntilVisible(compensationTotalAllowableInput);
@@ -180,32 +180,24 @@ public void UpdateTotalAllowableCompensation(string allowableAmount)
public void AddCompensationBttn()
{
- Wait(4000);
- webDriver.FindElement(compensationAddBttn).Click();
-
+ SafeClick(compensationAddBttn);
WaitUntilSpinnerDisappear();
}
public void OpenCompensationDetails(int index)
{
- Wait();
-
- WaitUntilClickable(By.CssSelector("div[data-testid='AcquisitionCompensationTable'] div[class='tbody'] div[class='tr-wrapper'] div div button[data-testid='compensation-view-"+ index +"']"));
- webDriver.FindElement(By.CssSelector("div[data-testid='AcquisitionCompensationTable'] div[class='tbody'] div[class='tr-wrapper'] div div button[data-testid='compensation-view-"+ index +"']")).Click();
+ SafeClick(By.CssSelector("div[data-testid='AcquisitionCompensationTable'] div[class='tbody'] div[class='tr-wrapper'] div div button[data-testid='compensation-view-" + index + "']"));
}
public void GenerateH120Document()
{
- Wait();
-
WaitUntilClickable(requisitionGenerateH120Bttn);
webDriver.FindElement(requisitionGenerateH120Bttn).Click();
}
public void DeleteCompensationRequisition(int index)
{
- Wait();
- //WaitUntilVisible(compensationH120Table);
+ WaitUntilVisible(compensationH120Table);
FocusAndClick(By.CssSelector("div[data-testid='AcquisitionCompensationTable'] div[class='tbody'] div[class='tr-wrapper'] div button[data-testid='compensation-delete-"+ index +"']"));
if (webDriver.FindElements(acquisitionFileConfirmationModal).Count() > 0)
@@ -220,7 +212,6 @@ public void DeleteCompensationRequisition(int index)
public void SaveAcquisitionFileCompensation()
{
- Wait();
ButtonElement("Save");
Wait();
@@ -239,7 +230,7 @@ public void SaveAcquisitionFileCompensation()
public void CancelAcquisitionFileCompensation()
{
- Wait();
+ WaitUntilClickable(requisitionCancelBttn);
FocusAndClick(requisitionCancelBttn);
sharedModals.CancelActionModal();
@@ -249,15 +240,13 @@ public void CancelAcquisitionFileCompensation()
public string GetCompensationFileNumber(int compFileNbr)
{
- Wait();
WaitUntilVisible(By.CssSelector("div[data-testid='AcquisitionCompensationTable'] div[class='tr-wrapper']:nth-child("+ compFileNbr +") div:nth-child(2) div"));
-
return webDriver.FindElement(By.CssSelector("div[data-testid='AcquisitionCompensationTable'] div[class='tr-wrapper']:nth-child("+ compFileNbr +") div:nth-child(2) div")).Text;
}
public void DeleteFirstActivity()
{
- Wait();
+ WaitUntilClickable(By.XPath("//div[@data-testid='finacialActivity[0]']/div/button[@title='Delete Financial Activity']"));
FocusAndClick(By.XPath("//div[@data-testid='finacialActivity[0]']/div/button[@title='Delete Financial Activity']"));
if (webDriver.FindElements(acquisitionFileConfirmationModal).Count() > 0)
@@ -276,25 +265,25 @@ public void EditCompensationDetails()
public void UpdateCompensationDetails(Compensation compensation, string fileType)
{
- Wait();
+ WaitUntilClickable(requisitionStatusSelect);
//Requisition Details
if (compensation.CompensationStatus != "")
- ChooseSpecificSelectOption(requisitionStatusSelect, compensation.CompensationStatus);
+ ChooseSelectOption(requisitionStatusSelect, compensation.CompensationStatus);
if (compensation.CompensationAlternateProject != "")
{
ClearInput(requisitionAltProjectInput);
webDriver.FindElement(requisitionAltProjectInput).SendKeys(compensation.CompensationAlternateProject);
- Wait();
+ WaitUntilClickable(requisitionAltProjectInput);
webDriver.FindElement(requisitionAltProjectInput).SendKeys(Keys.Space);
- Wait();
+ WaitUntilClickable(requisitionAltProjectInput);
webDriver.FindElement(requisitionAltProjectInput).SendKeys(Keys.Backspace);
- Wait();
- webDriver.FindElement(requisitionAltProject1stOption).Click();
+ WaitUntilClickable(requisitionAltProject1stOption);
+ SafeClick(requisitionAltProject1stOption);
}
if (compensation.CompensationAgreementDate != "")
@@ -342,7 +331,7 @@ public void UpdateCompensationDetails(Compensation compensation, string fileType
//Delete Payees previously selected if any
if (webDriver.FindElements(requisitionPayeeDeleteBttns).Count > 0)
{
- Wait();
+ WaitUntilClickable(requisitionPayeeMultiselect);
FocusAndClick(requisitionPayeeMultiselect);
while (webDriver.FindElements(requisitionPayeeDeleteBttns).Count > 0)
{
@@ -356,16 +345,9 @@ public void UpdateCompensationDetails(Compensation compensation, string fileType
{
foreach (string payee in compensation.CompensationPayee)
{
- Wait();
- webDriver.FindElement(requisitionPayeeLabel).Click();
- FocusAndClick(requisitionPayeeMultiselect);
-
- Wait();
- ChooseMultiSelectSpecificOption(requisitionPayeeOptions, payee);
- webDriver.FindElement(requisitionPayeeLabel).Click();
+ System.Diagnostics.Debug.WriteLine("Adding payee: " + payee);
+ ChooseMultiSelectOption(requisitionPayeeMultiselect, requisitionPayeeOptions, requisitionPayeeLabel, payee);
}
-
- webDriver.FindElement(requisitionPayeeLabel).Click();
}
if (compensation.CompensationPaymentInTrust)
@@ -431,7 +413,7 @@ public void VerifyCompensationInitTabView(string fileType)
public int TotalActivitiesCount()
{
- Wait();
+ WaitUntilVisible(requisitionFinancialActivitiesCount);
return webDriver.FindElements(requisitionFinancialActivitiesCount).Count();
}
@@ -443,6 +425,8 @@ public int TotalCompensationCount()
public void VerifyCompensationDetailsInitViewForm()
{
+ Wait();
+
//Title
AssertTrueIsDisplayed(compensationDetailsTitle);
@@ -525,7 +509,7 @@ public void VerifyCompensationDetailsInitCreateForm()
AssertTrueIsDisplayed(requisitionWorkActivityLabel);
AssertTrueIsDisplayed(requisitionCostTypeLabel);
AssertTrueIsDisplayed(requisitionFiscalYearLabel);
- AssertTrueIsDisplayed(requisitionFiscalYearSelect);
+ //AssertTrueIsDisplayed(requisitionFiscalYearSelect);
AssertTrueIsDisplayed(requisitionSTOBLabel);
AssertTrueIsDisplayed(requisitionSTOBInput);
AssertTrueIsDisplayed(requisitionServiceLineLabel);
@@ -560,7 +544,7 @@ public void VerifyCompensationDetailsInitCreateForm()
public void VerifyCompensationDetailsViewForm(Compensation compensation, string fileType)
{
- Wait();
+ WaitUntilVisible(compensationDetailsTitle);
//Title
AssertTrueIsDisplayed(compensationDetailsTitle);
@@ -670,7 +654,7 @@ public void VerifyCompensationDetailsViewForm(Compensation compensation, string
public void VerifyCompensationsTotalDetails(AcquisitionFile acquisition, string fileType)
{
- Wait();
+ WaitUntilVisible(compensationTotalAllowableContent);
AssertTrueIsDisplayed(compensationTotalAllowableLabel);
AssertTrueContentEquals(compensationTotalAllowableContent, TransformCurrencyFormat(acquisition.AcquisitionCompensationTotalAllowableAmount));
@@ -711,26 +695,24 @@ public void VerifyCompensationListView(Compensation compensation)
public void VerifyMissingTemplateErrorMessage()
{
- Wait(3000);
- Assert.Equal("The requested document template was not found. This indicates that the PIMS administrator needs to add a template to the system for this document type. Please contact your system administrator, and ask them to add a template for this document type.", sharedModals.ToastifyText());
+ Assert.Equal("The requested document template was not found. This indicates that the PIMS administrator needs to add a template to the system for this document type. Please contact your system administrator, and ask them to add a template for this document type.", sharedModals.ToastifyMainText());
}
public void VerifyIncompleteAgreementH120ErrorMessage()
{
- Wait(3000);
Assert.Contains("You cannot complete a file when there are one or more draft agreements, or one or more draft compensations requisitions.", sharedModals.ModalContent());
Assert.Contains("Remove any draft compensations requisitions. Agreements should be set to final, cancelled, or removed.", sharedModals.ModalContent());
}
public void VerifyDeletePayeeErrorMessage()
{
- Wait(3000);
+ Wait();
Assert.Contains("Lease File Stakeholder can not be removed since it's assigned as a payee for a compensation requisition", sharedModals.ModalContent());
}
private void CreateFinancialActivity(CompensationActivity activity)
{
- Wait();
+ WaitUntilVisible(requisitionAddActivityBttn);
//Get index by counting number of activities
var index = webDriver.FindElements(requisitionFinancialActivitiesCount).Count;
@@ -776,7 +758,7 @@ private void CreateFinancialActivity(CompensationActivity activity)
}
if (activity.ActGSTEligible!= "")
- ChooseSpecificSelectOption(By.Id("input-financials["+ index +"].isGstRequired"), activity.ActGSTEligible);
+ ChooseSelectOption(By.Id("input-financials["+ index +"].isGstRequired"), activity.ActGSTEligible);
if (activity.ActGSTAmount != "")
{
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SharedFileProperties.cs b/testing/PIMS.Tests.Automation/PageObjects/SharedFileProperties.cs
index 6ace7619d8..61e2e8ab00 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SharedFileProperties.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SharedFileProperties.cs
@@ -144,7 +144,7 @@ public void DisableEnableProperty(int index, string status)
{
Wait();
var propertystatusSelectElement = By.CssSelector("select[id='input-properties."+ index +".isActive']");
- ChooseSpecificSelectOption(propertystatusSelectElement, status);
+ ChooseSelectOption(propertystatusSelectElement, status);
}
public void SaveFileProperties()
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SharedImprovementsTab.cs b/testing/PIMS.Tests.Automation/PageObjects/SharedImprovementsTab.cs
index a799db57be..d934f27406 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SharedImprovementsTab.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SharedImprovementsTab.cs
@@ -18,14 +18,13 @@ public SharedImprovementsTab(IWebDriver webDriver) : base(webDriver)
public void NavigateImprovementTab()
{
- Wait();
+ WaitUntilClickable(sharedImprovementTab);
webDriver.FindElement(sharedImprovementTab).Click();
}
public void VerifyImprovementsTab(List propertiesList)
{
- Wait();
-
+ WaitUntilVisible(sharedImprovementTitle);
AssertTrueIsDisplayed(sharedImprovementTitle);
webDriver.FindElement(sharedImprovementExpandBttn).Click();
@@ -54,7 +53,7 @@ public void VerifyImprovementsTab(List propertiesList)
public int CountProperties()
{
- Wait();
+ WaitUntilVisible(sharedImprovementsPropertiesCount);
return webDriver.FindElements(sharedImprovementsPropertiesCount).Count;
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SharedModals.cs b/testing/PIMS.Tests.Automation/PageObjects/SharedModals.cs
index 8332bdc1af..b0639461dc 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SharedModals.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SharedModals.cs
@@ -36,19 +36,19 @@ public string ModalHeader()
public string ModalContent()
{
WaitUntilVisible(generalModal);
- return (webDriver.FindElement(generalModalContent).Text);
+ return (webDriver.FindElements(generalModalContent).Last().Text);
}
public void ModalClickOKBttn()
{
- Wait();
- webDriver.FindElement(generalModalOkBttn).Click();
+ WaitUntilClickable(generalModalOkBttn);
+ SafeClick(generalModalOkBttn);
}
public void ModalClickCancelBttn()
{
- Wait();
- webDriver.FindElement(generalModalCancelBttn).Click();
+ WaitUntilClickable(generalModalCancelBttn);
+ SafeClick(generalModalCancelBttn);
}
public string SecondaryModalHeader()
@@ -69,12 +69,13 @@ public void SecondaryModalClickOKBttn()
webDriver.FindElement(secondaryModalOkBttn).Click();
}
- public string ToastifyText()
+ public string ToastifyMainText()
{
- WaitUntilVisible(generalToastBody);
- return (webDriver.FindElement(generalToastBody).Text);
+ Wait();
+ return (webDriver.FindElements(generalToastBody).Last().Text);
}
+
public string ConfirmationModalText1()
{
WaitUntilVisible(generalConfirmationModalBody1);
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SharedPagination.cs b/testing/PIMS.Tests.Automation/PageObjects/SharedPagination.cs
index 1f03757a7d..7393b200b7 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SharedPagination.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SharedPagination.cs
@@ -21,31 +21,29 @@ public SharedPagination(IWebDriver webDriver) : base(webDriver)
public void ChoosePaginationOption(int pagination)
{
- Wait();
-
WaitUntilVisible(searchTableEntriesSpan);
- FocusAndClick(searchTableEntriesSpan);
+ SafeClick(searchTableEntriesSpan);
switch (pagination)
{
case 5:
- //WaitUntilClickable(searchTablePagination5);
+ WaitUntilClickable(searchTablePagination5);
FocusAndClick(searchTablePagination5);
break;
case 10:
- //WaitUntilVisible(searchTablePagination10);
+ WaitUntilVisible(searchTablePagination10);
FocusAndClick(searchTablePagination10);
break;
case 20:
- //WaitUntilClickable(searchTablePagination20);
+ WaitUntilClickable(searchTablePagination20);
FocusAndClick(searchTablePagination20);
break;
case 50:
- //WaitUntilClickable(searchTablePagination50);
+ WaitUntilClickable(searchTablePagination50);
FocusAndClick(searchTablePagination50);
break;
case 100:
- //WaitUntilClickable(searchTablePagination100);
+ WaitUntilClickable(searchTablePagination100);
FocusAndClick(searchTablePagination100);
break;
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SharedSelectContact.cs b/testing/PIMS.Tests.Automation/PageObjects/SharedSelectContact.cs
index 92557a2b95..64994c4fba 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SharedSelectContact.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SharedSelectContact.cs
@@ -16,15 +16,15 @@ public SharedSelectContact(IWebDriver webDriver) : base(webDriver)
public void SelectContact(string contactSearchName, string contactType)
{
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
switch (contactType)
{
case "Individual":
- ChooseSpecificRadioButton(selectContactRadioBttnGroup, "persons");
+ ChooseRadioButton(selectContactRadioBttnGroup, "persons");
break;
case "Organization":
- ChooseSpecificRadioButton(selectContactRadioBttnGroup, "organizations");
+ ChooseRadioButton(selectContactRadioBttnGroup, "organizations");
break;
default:
break;
@@ -32,13 +32,11 @@ public void SelectContact(string contactSearchName, string contactType)
Wait();
webDriver.FindElement(selectContactSearchInput).SendKeys(contactSearchName);
- webDriver.FindElement(selectContactSearchButton).Click();
+ SafeClick(selectContactSearchButton);
- Wait(5000);
- webDriver.FindElement(selectContactSearch1stResultRadioBttn).Click();
-
- WaitUntilClickable(selectContactOkButton);
- webDriver.FindElement(selectContactOkButton).Click();
+ Wait();
+ SafeClick(selectContactSearch1stResultRadioBttn);
+ SafeClick(selectContactOkButton);
}
}
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SharedTeamMembers.cs b/testing/PIMS.Tests.Automation/PageObjects/SharedTeamMembers.cs
index cbcbf20145..9127097b56 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SharedTeamMembers.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SharedTeamMembers.cs
@@ -26,42 +26,42 @@ public SharedTeamMembers(IWebDriver webDriver) : base(webDriver)
public void AddTeamMembers(TeamMember teamMember)
{
- Wait();
+ WaitUntilClickable(membersTeamAddAnotherMemberLink);
FocusAndClick(membersTeamAddAnotherMemberLink);
- Wait();
var teamMemberIndex = webDriver.FindElements(fileTeamMembersGroup).Count() -1;
WaitUntilVisible(By.CssSelector("select[id='input-team."+ teamMemberIndex +".contactTypeCode']"));
- ChooseSpecificSelectOption(By.CssSelector("select[id='input-team."+ teamMemberIndex +".contactTypeCode']"), teamMember.TeamMemberRole);
+ ChooseSelectOption(By.CssSelector("select[id='input-team."+ teamMemberIndex +".contactTypeCode']"), teamMember.TeamMemberRole);
FocusAndClick(By.CssSelector("div[data-testid='teamMemberRow["+ teamMemberIndex +"]'] div[data-testid='contact-input'] button[title='Select Contact']"));
- Wait();
sharedSelectContact.SelectContact(teamMember.TeamMemberContactName, teamMember.TeamMemberContactType);
Wait();
if (webDriver.FindElements(By.Id("input-team."+ teamMemberIndex +".primaryContactId")).Count > 0)
- ChooseSpecificSelectOption(By.Id("input-team."+ teamMemberIndex +".primaryContactId"), teamMember.TeamMemberPrimaryContact);
+ {
+ WaitUntilClickable(By.Id("input-team."+ teamMemberIndex +".primaryContactId"));
+ ChooseSelectOption(By.Id("input-team."+ teamMemberIndex +".primaryContactId"), teamMember.TeamMemberPrimaryContact);
+ }
}
public void AddMgmtTeamMembers(TeamMember teamMember)
{
- Wait();
+ WaitUntilClickable(membersTeamAddAnotherMemberLink);
FocusAndClick(membersTeamAddAnotherMemberLink);
- Wait();
+ WaitUntilVisible(fileTeamMembersGroup);
var teamMemberIndex = webDriver.FindElements(fileTeamMembersGroup).Count() -1;
WaitUntilVisible(By.CssSelector("select[id='input-team."+ teamMemberIndex +".teamProfileTypeCode']"));
- ChooseSpecificSelectOption(By.CssSelector("select[id='input-team."+ teamMemberIndex +".teamProfileTypeCode']"), teamMember.TeamMemberRole);
+ ChooseSelectOption(By.CssSelector("select[id='input-team."+ teamMemberIndex +".teamProfileTypeCode']"), teamMember.TeamMemberRole);
FocusAndClick(By.CssSelector("div[data-testid='teamMemberRow["+ teamMemberIndex +"]'] div[data-testid='contact-input'] button[title='Select Contact']"));
- Wait();
sharedSelectContact.SelectContact(teamMember.TeamMemberContactName, teamMember.TeamMemberContactType);
- Wait();
+ WaitUntilClickable(By.Id("input-team."+ teamMemberIndex +".primaryContactId"));
if (webDriver.FindElements(By.Id("input-team."+ teamMemberIndex +".primaryContactId")).Count > 0)
- ChooseSpecificSelectOption(By.Id("input-team."+ teamMemberIndex +".primaryContactId"), teamMember.TeamMemberPrimaryContact);
+ ChooseSelectOption(By.Id("input-team."+ teamMemberIndex +".primaryContactId"), teamMember.TeamMemberPrimaryContact);
}
public void VerifyTeamMembersViewForm(List teamMembers)
@@ -86,19 +86,17 @@ public void VerifyTeamMembersViewForm(List teamMembers)
public void VerifyRequiredTeamMemberMessages()
{
//Add a new Team member form
- Wait();
- WaitUntilClickable(membersTeamAddAnotherMemberLink);
- webDriver.FindElement(membersTeamAddAnotherMemberLink).Click();
+ SafeClick(membersTeamAddAnotherMemberLink);
//Verify that invalid team member message is displayed
- ChooseSpecificSelectOption(By.Id("input-team.0.contactTypeCode"), "Expropriation agent");
+ ChooseSelectOption(By.Id("input-team.0.contactTypeCode"), "Expropriation agent");
webDriver.FindElement(membersTeamSubtitle).Click();
AssertTrueIsDisplayed(membersTeamInvalidTeamMemberMessage);
//verify that invalid profile message is displayed
webDriver.FindElement(By.CssSelector("div[data-testid='contact-input'] button[title='Select Contact']")).Click();
sharedSelectContact.SelectContact("Test", "");
- ChooseSpecificSelectOption(By.Id("input-team.0.contactTypeCode"), "Select profile...");
+ ChooseSelectOption(By.Id("input-team.0.contactTypeCode"), "Select profile...");
webDriver.FindElement(membersTeamSubtitle).Click();
AssertTrueIsDisplayed(membersTeamInvalidProfileMessage);
}
diff --git a/testing/PIMS.Tests.Automation/PageObjects/SubdivisionConsolidationProperties.cs b/testing/PIMS.Tests.Automation/PageObjects/SubdivisionConsolidationProperties.cs
index 416531a51c..992ccfa640 100644
--- a/testing/PIMS.Tests.Automation/PageObjects/SubdivisionConsolidationProperties.cs
+++ b/testing/PIMS.Tests.Automation/PageObjects/SubdivisionConsolidationProperties.cs
@@ -117,7 +117,7 @@ public SubdivisionConsolidationProperties(IWebDriver webDriver) : base(webDriver
public void NavigateToCreateNewSubdivision()
{
- Wait();
+ WaitUntilClickable(menuSubdivisionConsolidationButton);
FocusAndClick(menuSubdivisionConsolidationButton);
WaitUntilVisible(createSubdivisionFileButton);
@@ -126,7 +126,7 @@ public void NavigateToCreateNewSubdivision()
public void NavigateToCreateNewConsolidation()
{
- Wait();
+ WaitUntilClickable(menuSubdivisionConsolidationButton);
FocusAndClick(menuSubdivisionConsolidationButton);
WaitUntilVisible(createConsolidationFileButton);
@@ -135,10 +135,10 @@ public void NavigateToCreateNewConsolidation()
public void SaveSubdivision()
{
- Wait();
+ WaitUntilClickable(subdivisionPropertiesCreateButton);
webDriver.FindElement(subdivisionPropertiesCreateButton).Click();
- Wait();
+ WaitUntilVisible(subconModalWindow);
if (webDriver.FindElements(subconModalWindow).Count > 0)
{
WaitUntilVisible(subconWarningHeader);
@@ -151,10 +151,10 @@ public void SaveSubdivision()
public void SaveConsolidation()
{
- Wait();
+ WaitUntilClickable(consolidationPropertiesCreateButton);
webDriver.FindElement(consolidationPropertiesCreateButton).Click();
- Wait();
+ WaitUntilVisible(subconModalWindow);
if (webDriver.FindElements(subconModalWindow).Count > 0)
{
WaitUntilVisible(subconWarningHeader);
@@ -167,7 +167,7 @@ public void SaveConsolidation()
public void CancelSubdivisionConsolidation()
{
- Wait(4000);
+ WaitUntilClickable(subconPropertiesCancelButton);
webDriver.FindElement(subconPropertiesCancelButton).Click();
sharedModals.CancelActionModal();
@@ -175,7 +175,7 @@ public void CancelSubdivisionConsolidation()
public void CreateSubdivision(PropertySubdivision subdivision)
{
- Wait();
+ WaitUntilClickable(subdconSearchParentByPIDInput);
webDriver.FindElement(subdconSearchParentByPIDInput).SendKeys(subdivision.SubdivisionSource.PropertyHistoryIdentifier);
webDriver.FindElement(subconSearchParentBttn).Click();
@@ -183,12 +183,12 @@ public void CreateSubdivision(PropertySubdivision subdivision)
webDriver.FindElement(subconChildrenSearchTab).Click();
foreach (PropertyHistory child in subdivision.SubdivisionDestination)
{
- Wait();
+ WaitUntilClickable(subconChildrenResetButton);
webDriver.FindElement(subconChildrenResetButton).Click();
webDriver.FindElement(subconChildrenSearchByPIDInput).SendKeys(child.PropertyHistoryIdentifier);
webDriver.FindElement(subconChildrenSearchButton).Click();
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
webDriver.FindElement(subconChildren1stResultCheckbox).Click();
webDriver.FindElement(subconChildernAddToSelectionBttn).Click();
}
@@ -203,14 +203,14 @@ public void CreateConsolidation(PropertyConsolidation consolidation)
webDriver.FindElement(subconChildrenSearchByPIDInput).SendKeys(consolidation.ConsolidationDestination.PropertyHistoryIdentifier);
webDriver.FindElement(subconChildrenSearchButton).Click();
- WaitUntilTableSpinnerDisappear();
+ WaitForTableToLoad();
webDriver.FindElement(subconChildren1stResultCheckbox).Click();
webDriver.FindElement(subconChildernAddToSelectionBttn).Click();
}
public void InsertParentConsolidation(string propertyID)
{
- Wait();
+ WaitUntilClickable(subconSearchParentResetBttn);
webDriver.FindElement(subconSearchParentResetBttn).Click();
webDriver.FindElement(subdconSearchParentByPIDInput).SendKeys(propertyID);
webDriver.FindElement(subconSearchParentBttn).Click();
@@ -303,7 +303,6 @@ public void VerifyInvalidSubdivisionChildrenMessage()
public void VerifyInvalidConsolidationChildMessage()
{
- Wait();
WaitUntilVisible(subconErrorHeader);
Assert.Equal("Consolidated child property may not be in the PIMS inventory unless also in the parent property list.", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
@@ -311,8 +310,6 @@ public void VerifyInvalidConsolidationChildMessage()
public void VerifyInvalidConsolidationRepeatedParentMessage()
{
- Wait();
-
WaitUntilVisible(subconErrorHeader);
Assert.Equal("Consolidations must contain at least two different parent properties.", sharedModals.ModalContent());
sharedModals.ModalClickOKBttn();
@@ -320,8 +317,7 @@ public void VerifyInvalidConsolidationRepeatedParentMessage()
public void VerifyInvalidSubdivisionChildMessage()
{
- Wait();
- Assert.Equal("A property that the user is trying to select has already been added to the selected properties list", sharedModals.ToastifyText());
+ Assert.Equal("A property that the user is trying to select has already been added to the selected properties list", sharedModals.ToastifyMainText());
}
public void VerifyMissingParentMessageModal()
@@ -345,7 +341,7 @@ public void VerifyMissingChildMessage()
public void VerifySubdivisionHistory(PropertySubdivision subdivision)
{
- Wait();
+ WaitUntilVisible(subdivisionHistorySubtitle);
AssertTrueIsDisplayed(subdivisionHistorySubtitle);
@@ -384,7 +380,6 @@ public void VerifyConsolidationHistory(PropertyConsolidation consolidation)
AssertTrueIsDisplayed(subconHistoryTableStatusColumn);
AssertTrueIsDisplayed(subconHistoryTableAreaColumn);
- Wait();
for (int i = 0; i < consolidation.ConsolidationSource.Count; i++)
{
var parentsElementNbr = i + 1;
diff --git a/testing/PIMS.Tests.Automation/Reports/TestHooks.cs b/testing/PIMS.Tests.Automation/Reports/TestHooks.cs
index db0dad8c1c..92c68a22f9 100644
--- a/testing/PIMS.Tests.Automation/Reports/TestHooks.cs
+++ b/testing/PIMS.Tests.Automation/Reports/TestHooks.cs
@@ -7,6 +7,7 @@
using OpenQA.Selenium.Firefox;
using DotNetEnv;
using DotNetEnv.Configuration;
+using System.Drawing;
namespace PIMS.Tests.Automation.Reports
{
@@ -152,14 +153,18 @@ private IWebDriver CreateChromeWebDriver()
if (runAutomationHeadless)
{
- options.AddArgument("window-size=1014,768");
+ options.AddArgument("--window-size=1920,1080");
options.AddArgument("--headless=new");
+ options.AddArgument("--disable-gpu");
}
else
options.AddArgument("start-maximized");
var chromeDriver = new ChromeDriver(ChromeDriverService.CreateDefaultService(), options, TimeSpan.FromMinutes(2));
+ if (runAutomationHeadless)
+ chromeDriver.Manage().Window.Size = new Size(1920, 1080);
+
chromeDriver.Url = Configuration.GetValue("Base_url");
return chromeDriver;
diff --git a/testing/PIMS.Tests.Automation/StepDefinitions/AcquisitionFileSteps.cs b/testing/PIMS.Tests.Automation/StepDefinitions/AcquisitionFileSteps.cs
index cbfb91dd13..368a9337b2 100644
--- a/testing/PIMS.Tests.Automation/StepDefinitions/AcquisitionFileSteps.cs
+++ b/testing/PIMS.Tests.Automation/StepDefinitions/AcquisitionFileSteps.cs
@@ -445,7 +445,7 @@ public void UpdateAgreement(int rowNumber)
agreements.SaveAcquisitionFileAgreement();
//Verify Edit Agreement form
- agreements.VerifyViewAgreementForm(acquisitionFile.AcquisitionAgreements[1], 0);
+ agreements.VerifyViewAgreementForm(acquisitionFile.AcquisitionAgreements[1], 1);
var agreementsBeforeDelete = agreements.TotalAgreementsCount();
diff --git a/testing/PIMS.Tests.Automation/StepDefinitions/DigitalDocumentSteps.cs b/testing/PIMS.Tests.Automation/StepDefinitions/DigitalDocumentSteps.cs
index cc9e1a304f..bc27b41767 100644
--- a/testing/PIMS.Tests.Automation/StepDefinitions/DigitalDocumentSteps.cs
+++ b/testing/PIMS.Tests.Automation/StepDefinitions/DigitalDocumentSteps.cs
@@ -235,13 +235,6 @@ public void UpdateDigitalDocuments(string fileType, int rowNumber)
//Edit digital document's details
digitalDocumentsTab.NavigateToFirstPageDocumentsTable();
- //Disable Order by Document's type
- if (fileType != "Lease" || fileType != "Management")
- {
- digitalDocumentsTab.OrderByDocumentFileType();
- digitalDocumentsTab.OrderByDocumentFileType();
- }
-
//Pick 1st available digital document
digitalDocumentsTab.View1stDocument();
digitalDocumentsTab.EditDocumentButton();
@@ -261,7 +254,7 @@ public void UpdateDigitalDocuments(string fileType, int rowNumber)
digitalDocumentsTab.SaveEditDigitalDocument();
//Verify Details View Form
- digitalDocumentsTab.OrderByDocumentFileType();
+ digitalDocumentsTab.FilterByType(digitalDocumentList[0].DocumentType);
digitalDocumentsTab.View1stDocument();
digitalDocumentsTab.VerifyDocumentDetailsViewForm(digitalDocumentList[0]);
@@ -269,6 +262,7 @@ public void UpdateDigitalDocuments(string fileType, int rowNumber)
digitalDocumentsTab.CloseDigitalDocumentViewDetails();
//Verify Pagination Elements
+ digitalDocumentsTab.ResetFilters();
digitalDocumentsTab.VerifyPaginationElements();
//Verify Pagination Functionality
diff --git a/testing/PIMS.Tests.Automation/StepDefinitions/DispositionFileSteps.cs b/testing/PIMS.Tests.Automation/StepDefinitions/DispositionFileSteps.cs
index 3bfba4b7ff..62977da9e6 100644
--- a/testing/PIMS.Tests.Automation/StepDefinitions/DispositionFileSteps.cs
+++ b/testing/PIMS.Tests.Automation/StepDefinitions/DispositionFileSteps.cs
@@ -185,7 +185,8 @@ public void AddProperties()
if (dispositionFile.DispositionSearchProperties.HistoricFile != "")
{
searchProperties.SearchProperty(historicFile: dispositionFile.DispositionSearchProperties.HistoricFile);
- searchProperties.SelectFirstPIMSResultToFile();
+ searchProperties.SelectFirstPIMSResult();
+ sharedFileProperties.AddPropertyToFile();
searchProperties.ResetPropertySearch();
}
diff --git a/testing/PIMS.Tests.Automation/StepDefinitions/PropertiesSteps.cs b/testing/PIMS.Tests.Automation/StepDefinitions/PropertiesSteps.cs
index 0f4eaa17a0..d677836b8e 100644
--- a/testing/PIMS.Tests.Automation/StepDefinitions/PropertiesSteps.cs
+++ b/testing/PIMS.Tests.Automation/StepDefinitions/PropertiesSteps.cs
@@ -322,7 +322,7 @@ public void UpdatePropertyImprovements(int rowNumber)
propertyImprovement.AddUpdateImprovement(property.PropertyImprovements[0]);
propertyImprovement.SaveImprovement();
- propertyImprovement.VerifyImprovementView(0, property.PropertyImprovements[0]);
+ propertyImprovement.VerifyImprovementView(1, property.PropertyImprovements[0]);
}
[StepDefinition(@"I insert information in the Property Management Tab from row number (.*)")]
@@ -523,7 +523,7 @@ public void SearchPropertyPlan(int rowNumber)
searchProperties.SearchProperty(plan: searchProperty.PlanNumber);
//Click on first property found
- searchProperties.SelectFirstPMBCResult();
+ searchProperties.SelectFirstPIMSResult();
}
[StepDefinition(@"I verify the MultiProperty Tabs")]