Skip to content

Commit

Permalink
#7443 added TC to verify filters in the Contact Dashboard
Browse files Browse the repository at this point in the history
  • Loading branch information
popadriangeo committed Oct 13, 2022
1 parent 5fa4618 commit 53bbd88
Show file tree
Hide file tree
Showing 3 changed files with 154 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,26 @@
public class ContactsDashboardPage {

public static final By CONTACTS_RADIO_BUTTON = By.xpath("//label[contains(text(),'Contacts')]");
public static final By CURRENT_PERIOD_CONTACTS_DASHBOARD = By.id("currentPeriod");
public static final By CURRENT_PERIOD_DASHBOARD_CUSTOM_CONTACTS_DASHBOARD =
By.id("dashboardCustom");
public static final By CURRENT_PERIOD_DASHBOARD_TODAY_CONTACTS_DASHBOARD =
By.id("dashboardToday");
public static final By CURRENT_PERIOD_DASHBOARD_YESTERDAY_CONTACTS_DASHBOARD =
By.id("dashboardYesterday");
public static final By CURRENT_PERIOD_DASHBOARD_THIS_WEEK_CONTACTS_DASHBOARD =
By.id("dashboardThisWeek");
public static final By CURRENT_PERIOD_DASHBOARD_LAST_WEEK_CONTACTS_DASHBOARD =
By.id("dashboardLastWeek");
public static final By CURRENT_PERIOD_DASHBOARD_THIS_YEAR_CONTACTS_DASHBOARD =
By.id("dashboardThisYear");
public static final By COMPARISON_PERIOD_CONTACTS_DASHBOARD = By.id("comparisonPeriod");
public static final By COMPARISON_PERIOD_DASHBOARD_DAY_BEFORE_CONTACTS_DASHBOARD =
By.id("dashboardDayBefore");
public static final By COMPARISON_PERIOD_DASHBOARD_SAME_DAY_LAST_YEAR_CONTACTS_DASHBOARD =
By.id("dashboardSameDayLastYear");
public static final By REGION_FILTER_COMBOBOX_CONTACTS_DASHBOARD =
By.cssSelector("[location='diseaseFilter']>div>div");
By.cssSelector("[location='regionFilter']>div>div");
public static final By DISEASE_FILTER_COMBOBOX_CONTACTS_DASHBOARD =
By.cssSelector("[location='diseaseFilter']>div>div");
public static final By RESET_FILTERS_BUTTON_CONTACTS_DASHBOARD = By.id("actionResetFilters");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ public ContactsDashboardSteps(WebDriverHelpers webDriverHelpers, SoftAssert soft
() -> {
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(CONTACTS_RADIO_BUTTON);
webDriverHelpers.clickOnWebElementBySelector(CONTACTS_RADIO_BUTTON);
webDriverHelpers.waitForPageLoadingSpinnerToDisappear(10);
});

Then(
Expand Down Expand Up @@ -448,5 +449,128 @@ public ContactsDashboardSteps(WebDriverHelpers webDriverHelpers, SoftAssert soft
webDriverHelpers.clickOnWebElementBySelector(
SHOW_FIRST_DISEASES_BUTTON_CONTACTS_DASHBOARD);
});

And(
"^I Select the ([^\"]*) option from the Current period filter in Contact Dashboard$",
(String option) -> {
switch (option) {
case "Custom":
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_DASHBOARD_CUSTOM_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(
CURRENT_PERIOD_DASHBOARD_CUSTOM_CONTACTS_DASHBOARD);
break;
case "Today":
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_DASHBOARD_TODAY_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(
CURRENT_PERIOD_DASHBOARD_TODAY_CONTACTS_DASHBOARD);
break;
case "Yesterday":
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_DASHBOARD_YESTERDAY_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(
CURRENT_PERIOD_DASHBOARD_YESTERDAY_CONTACTS_DASHBOARD);
break;
case "This week":
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_DASHBOARD_THIS_WEEK_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(
CURRENT_PERIOD_DASHBOARD_THIS_WEEK_CONTACTS_DASHBOARD);
break;
case "Last week":
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_DASHBOARD_LAST_WEEK_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(
CURRENT_PERIOD_DASHBOARD_LAST_WEEK_CONTACTS_DASHBOARD);
break;
case "This year":
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(CURRENT_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
CURRENT_PERIOD_DASHBOARD_THIS_YEAR_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(
CURRENT_PERIOD_DASHBOARD_THIS_YEAR_CONTACTS_DASHBOARD);
break;
default:
throw new IllegalArgumentException("No valid options were provided");
}
});

And(
"^I Select the ([^\"]*) option from the Comparison period filter in Contact Dashboard$",
(String option) -> {
switch (option) {
case "Day before":
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
COMPARISON_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(COMPARISON_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
COMPARISON_PERIOD_DASHBOARD_DAY_BEFORE_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(
COMPARISON_PERIOD_DASHBOARD_DAY_BEFORE_CONTACTS_DASHBOARD);
break;
case "Same day last year":
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
COMPARISON_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(COMPARISON_PERIOD_CONTACTS_DASHBOARD);
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
COMPARISON_PERIOD_DASHBOARD_SAME_DAY_LAST_YEAR_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(
COMPARISON_PERIOD_DASHBOARD_SAME_DAY_LAST_YEAR_CONTACTS_DASHBOARD);
break;
default:
throw new IllegalArgumentException("No valid options were provided");
}
});

And(
"I select a region for the filter located in Contact Dashboard",
() -> {
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
REGION_FILTER_COMBOBOX_CONTACTS_DASHBOARD);
webDriverHelpers.selectFromCombobox(REGION_FILTER_COMBOBOX_CONTACTS_DASHBOARD, "Berlin");
});

And(
"I select a disease for the filter located in Contact Dashboard",
() -> {
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
DISEASE_FILTER_COMBOBOX_CONTACTS_DASHBOARD);
webDriverHelpers.selectFromCombobox(
DISEASE_FILTER_COMBOBOX_CONTACTS_DASHBOARD, "COVID-19");
});

Then(
"I click the Apply filter button in Contact Dashboard",
() -> {
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
APPLY_FILTERS_BUTTON_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(APPLY_FILTERS_BUTTON_CONTACTS_DASHBOARD);
});

Then(
"I click the Reset filter button in Contact Dashboard",
() -> {
webDriverHelpers.waitUntilIdentifiedElementIsVisibleAndClickable(
RESET_FILTERS_BUTTON_CONTACTS_DASHBOARD);
webDriverHelpers.clickOnWebElementBySelector(RESET_FILTERS_BUTTON_CONTACTS_DASHBOARD);
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -295,3 +295,14 @@ Feature: Dashboard counters
And I click to Expand the Contact Map displayed in the Contacts Dashboard Page
Then I Verify Contact Map elements are displayed in the Contacts Dashboard Page
And I click to Collapse the Contact Map displayed in the Contacts Dashboard Page

@env_main @#7443
Scenario: Verify filters in the Contact Dashboard
Given I log in as a National User
When I click on the Contacts Radio button in Contact Dashboard
And I Select the Today option from the Current period filter in Contact Dashboard
And I Select the Day before option from the Comparison period filter in Contact Dashboard
And I select a region for the filter located in Contact Dashboard
And I select a disease for the filter located in Contact Dashboard
Then I click the Apply filter button in Contact Dashboard
Then I click the Reset filter button in Contact Dashboard

0 comments on commit 53bbd88

Please sign in to comment.