Skip to content

Commit

Permalink
Added tests
Browse files Browse the repository at this point in the history
  • Loading branch information
szymon-kellton committed Oct 7, 2024
1 parent e4cd215 commit 0e35c7e
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
8 changes: 8 additions & 0 deletions tests/selenium/page_object/payment_module/new_payment_plan.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ class NewPaymentPlan(BaseComponents):
inputTargetPopulation = 'div[data-cy="input-target-population"]'
selectTargetingid = 'div[data-cy="select-targetingId"]'
inputStartDate = 'div[data-cy="input-start-date"]'
inputStartDateError = 'div[data-cy="input-dispersion-start-date"]'
inputEndDate = 'div[data-cy="input-end-date"]'
inputEndDateError = 'div[data-cy="input-dispersion-end-date"]'
inputCurrency = 'div[data-cy="input-currency"]'
inputDispersionStartDate = 'div[data-cy="input-dispersion-start-date"]'
inputDispersionEndDate = 'div[data-cy="input-dispersion-end-date"]'
Expand Down Expand Up @@ -39,6 +41,12 @@ def getInputEndDate(self) -> WebElement:
self.wait_for(self.inputEndDate)
return self.wait_for(self.inputEndDate).find_elements(By.TAG_NAME, "input")[0]

def getInputStartDateError(self) -> WebElement:
return self.wait_for(self.inputStartDateError)

def getInputEndDateError(self) -> WebElement:
return self.wait_for(self.inputEndDateError)

def getInputCurrency(self) -> WebElement:
return self.wait_for(self.inputCurrency)

Expand Down
35 changes: 34 additions & 1 deletion tests/selenium/payment_module/test_payment_plans.py
Original file line number Diff line number Diff line change
Expand Up @@ -401,6 +401,8 @@ def test_payment_plan_exclude(
targeting = TargetPopulation.objects.first()
pageProgramCycle.selectGlobalProgramFilter("Test Program")
pageProgramCycle.getNavPaymentModule().click()
# data-cy="button-create-exclusions"


def test_payment_plan_delete(
self,
Expand All @@ -414,4 +416,35 @@ def test_payment_plan_delete(
) -> None:
targeting = TargetPopulation.objects.first()
pageProgramCycle.selectGlobalProgramFilter("Test Program")
pageProgramCycle.getNavPaymentModule().click()
pageProgramCycle.getNavPaymentModule().click()

def test_payment_plan_creation_error(
self,
clear_downloaded_files: None,
create_targeting: None,
pagePaymentModule: PaymentModule,
pagePaymentModuleDetails: PaymentModuleDetails,
pageNewPaymentPlan: NewPaymentPlan,
pageProgramCycle: ProgramCyclePage,
pageProgramCycleDetails: ProgramCycleDetailsPage,
) -> None:
pageProgramCycle.selectGlobalProgramFilter("Test Program")
pageProgramCycle.getNavPaymentModule().click()
pageProgramCycle.getNavProgrammeCycles().click()
assert (
"Draft"
in pageProgramCycle.getProgramCycleRow()[0]
.find_element(By.CSS_SELECTOR, 'td[data-cy="program-cycle-status"]')
.text
)
pageProgramCycle.getProgramCycleRow()[0].find_element(
By.CSS_SELECTOR, 'td[data-cy="program-cycle-title"]'
).find_element(By.TAG_NAME, "a").click()
pageProgramCycleDetails.getButtonCreatePaymentPlan().click()

pageNewPaymentPlan.getButtonSavePaymentPlan().click()

assert "Target Population is required" in pageNewPaymentPlan.getInputTargetPopulation().text
assert "Dispersion Start Date is required" in pageNewPaymentPlan.getInputStartDateError().text
assert "Dispersion End Date is required" in pageNewPaymentPlan.getInputEndDateError().text
assert "Currency is required" in pageNewPaymentPlan.getInputCurrency().text

0 comments on commit 0e35c7e

Please sign in to comment.