Skip to content

Feature/bcss 20581 selenium to playwright communications production#106

Merged
Andyg79 merged 31 commits intomainfrom
feature/BCSS-20581-selenium-to-playwright-communications-production
Jul 24, 2025
Merged

Feature/bcss 20581 selenium to playwright communications production#106
Andyg79 merged 31 commits intomainfrom
feature/BCSS-20581-selenium-to-playwright-communications-production

Conversation

@Andyg79
Copy link

@Andyg79 Andyg79 commented Jul 23, 2025

Description

Part of the selenium to playwright migration - this covers the communications production tests

Context

Type of changes

Includes the migration of selenium tests to the playwright framework and any applicable updates/additions to POMS and Utils.

  • Refactoring (non-breaking change)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would change existing functionality)
  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I am familiar with the contributing guidelines
  • I have followed the code style of the project
  • I have added tests to cover my changes (where appropriate)
  • I have updated the documentation accordingly
  • This PR is a result of pair or mob programming

Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including PII (Personal Identifiable Information) / PID (Personal Identifiable Data) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter.

  • I confirm that neither PII/PID nor sensitive data are included in this PR and the codebase changes.

victor-soares-ibm and others added 25 commits June 12, 2025 12:48
)

<!-- markdownlint-disable-next-line first-line-heading -->
## Description

<!-- Describe your changes in detail. -->
This is part of the selenium to playwright migration and includes the
migration of the generate fobt invitations scenario. Also includes a new
function "open_letter_batch" on the batch_list_page to open a batch on
the table by matching given criteria.

## Context

<!-- Why is this change required? What problem does it solve? -->
This is part of the selenium to playwright migration work.

## Type of changes

<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply. -->

- [x] Refactoring (non-breaking change)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would change existing
functionality)
- [ ] Bug fix (non-breaking change which fixes an issue)

## Checklist

<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->

- [x] I am familiar with the [contributing
guidelines](https://github.com/nhs-england-tools/playwright-python-blueprint/blob/main/CONTRIBUTING.md)
- [x] I have followed the code style of the project
- [x] I have added tests to cover my changes (where appropriate)
- [x] I have updated the documentation accordingly
- [ ] This PR is a result of pair or mob programming

---

## Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others
privacy, we kindly ask you to NOT including [PII (Personal Identifiable
Information) / PID (Personal Identifiable
Data)](https://digital.nhs.uk/data-and-information/keeping-data-safe-and-benefitting-the-public)
or any other sensitive data in this PR (Pull Request) and the codebase
changes. We will remove any PR that do contain any sensitive
information. We really appreciate your cooperation in this matter.

- [x] I confirm that neither PII/PID nor sensitive data are included in
this PR and the codebase changes.
#96)

BCSS-20611 - Selenium to Playwright - Regression Tests - Subject -
Subject Search

<!-- markdownlint-disable-next-line first-line-heading -->
## Description
Selenium to Playwright - Regression Tests - Subject - Subject Search

<!-- Describe your changes in detail. -->

## Context

<!-- Why is this change required? What problem does it solve? -->
Feature: Subject Search Screen

Scenario: User can search for a subject and results are returned (#?)
Given I log in to BCSS "England" as user role "Hub Manager - State
Registered"
When I navigate to the Subject Search Criteria Page
    And I add value "S*" to the "Surname" search field
    And I click the search button on the subject search criteria page
Then Some subject search criteria results are returned

## Type of changes

<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply. -->

- [X] Refactoring (non-breaking change)
- [X] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would change existing
functionality)
- [ ] Bug fix (non-breaking change which fixes an issue)

## Checklist

<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->

- [X] I am familiar with the [contributing
guidelines](https://github.com/nhs-england-tools/playwright-python-blueprint/blob/main/CONTRIBUTING.md)
- [X] I have followed the code style of the project
- [X] I have added tests to cover my changes (where appropriate)
- [ ] I have updated the documentation accordingly
- [ ] This PR is a result of pair or mob programming

## Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others
privacy, we kindly ask you to NOT including [PII (Personal Identifiable
Information) / PID (Personal Identifiable
Data)](https://digital.nhs.uk/data-and-information/keeping-data-safe-and-benefitting-the-public)
or any other sensitive data in this PR (Pull Request) and the codebase
changes. We will remove any PR that do contain any sensitive
information. We really appreciate your cooperation in this matter.

- [X] I confirm that neither PII/PID nor sensitive data are included in
this PR and the codebase changes.
…lder (#97)

<!-- markdownlint-disable-next-line first-line-heading -->
## Description

<!-- Describe your changes in detail. -->
Adding a new util to be able to generate SQL queries to be used as part
of the selenium to playwright migration.

## Context

<!-- Why is this change required? What problem does it solve? -->
Instead of writing out a new SQL query for each bit of test data needed
a generic utility can be used at achieve the same effect.

## Type of changes

<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply. -->

- [ ] Refactoring (non-breaking change)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would change existing
functionality)
- [ ] Bug fix (non-breaking change which fixes an issue)

## Checklist

<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->

- [x] I am familiar with the [contributing
guidelines](https://github.com/nhs-england-tools/playwright-python-blueprint/blob/main/CONTRIBUTING.md)
- [x] I have followed the code style of the project
- [x] I have added tests to cover my changes (where appropriate)
- [x] I have updated the documentation accordingly
- [x] This PR is a result of pair or mob programming

---

## Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others
privacy, we kindly ask you to NOT including [PII (Personal Identifiable
Information) / PID (Personal Identifiable
Data)](https://digital.nhs.uk/data-and-information/keeping-data-safe-and-benefitting-the-public)
or any other sensitive data in this PR (Pull Request) and the codebase
changes. We will remove any PR that do contain any sensitive
information. We really appreciate your cooperation in this matter.

- [x] I confirm that neither PII/PID nor sensitive data are included in
this PR and the codebase changes.

---------

Co-authored-by: AndyG <179915678+Andyg79@users.noreply.github.com>
Co-authored-by: vidhya-chandra1 <198918051+vidhya-chandra1@users.noreply.github.com>
…hic (#99)

<!-- markdownlint-disable-next-line first-line-heading -->
## Description

<!-- Describe your changes in detail. -->
Converting the subject demographic tests from the selenium framework
into python.

## Context

<!-- Why is this change required? What problem does it solve? -->
Allows for the running of the subject demographic tests to be done on
playwright.

## Type of changes

<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply. -->

- [x] Refactoring (non-breaking change)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would change existing
functionality)
- [ ] Bug fix (non-breaking change which fixes an issue)

## Checklist

<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->

- [x] I am familiar with the [contributing
guidelines](https://github.com/nhs-england-tools/playwright-python-blueprint/blob/main/CONTRIBUTING.md)
- [x] I have followed the code style of the project
- [x] I have added tests to cover my changes (where appropriate)
- [x] I have updated the documentation accordingly
- [ ] This PR is a result of pair or mob programming

---

## Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others
privacy, we kindly ask you to NOT including [PII (Personal Identifiable
Information) / PID (Personal Identifiable
Data)](https://digital.nhs.uk/data-and-information/keeping-data-safe-and-benefitting-the-public)
or any other sensitive data in this PR (Pull Request) and the codebase
changes. We will remove any PR that do contain any sensitive
information. We really appreciate your cooperation in this matter.

- [x] I confirm that neither PII/PID nor sensitive data are included in
this PR and the codebase changes.
<!-- Markdownlint-disable-next-line first-line-heading -->
## Description

<!-- Describe your changes in detail. -->
Selenium to Playwright - Regression Tests - User

## Context

<!-- Why is this change required? What problem does it solve? -->
Feature: Change Organisation

Scenario: Check an English user, that has multiple organisations is able
to switch between them
Given I log in to BCSS "England" as user role "MultiOrgUser"
When I change organisation
Then I will be logged in as the alternative organisation.

Below are the 3 Files where Code Refactoring is Implemented.
1) Tests File - test_change_organisation_regression_user.py
2) POM - organisations_page.py
3) users.json

## Type of changes

<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply. -->

- [X] Refactoring (non-breaking change)
- [ ] New feature (non-breaking change which adds functionality)
- [X] Breaking change (fix or feature that would change existing
functionality)
- [ ] Bug fix (non-breaking change which fixes an issue)

## Checklist

<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->

- [X] I am familiar with the [contributing
guidelines](https://github.com/nhs-england-tools/playwright-python-blueprint/blob/main/CONTRIBUTING.md)
- [X] I have followed the code style of the project
- [X] I have added tests to cover my changes (where appropriate)
- [ ] I have updated the documentation accordingly
- [ ] This PR is a result of pair or mob programming

---

## Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others
privacy, we kindly ask you to NOT including [PII (Personal Identifiable
Information) / PID (Personal Identifiable
Data)](https://digital.nhs.uk/data-and-information/keeping-data-safe-and-benefitting-the-public)
or any other sensitive data in this PR (Pull Request) and the codebase
changes. We will remove any PR that do contain any sensitive
information. We really appreciate your cooperation in this matter.

- [X] I confirm that neither PII/PID nor sensitive data are included in
this PR and the codebase changes.

---------

Co-authored-by: AndyG <179915678+Andyg79@users.noreply.github.com>
Added tests for basic archived batch list functionality
Refactored BatchListPage
… env is down so will need to verify these next week.
@adrianoaru-nhs
Copy link

@Andyg79 could you re base with main, some changes from main are coming in here and it is hard to tell what are new additions.

…lenium-to-playwright-communications-production

# Conflicts:
#	pages/communication_production/batch_list_page.py
#	pages/screening_subject_search/subject_screening_summary_page.py
#	pytest.ini
#	tests/regression/subject/demographic/test_temporary_address.py
#	utils/oracle/oracle_specific_functions.py
#	utils/oracle/subject_selection_query_builder.py
#	utils/screening_subject_page_searcher.py
#	utils/table_util.py
@sonarqubecloud
Copy link

@Andyg79 Andyg79 merged commit 48dad37 into main Jul 24, 2025
10 checks passed
@Andyg79 Andyg79 deleted the feature/BCSS-20581-selenium-to-playwright-communications-production branch July 24, 2025 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Comments