Skip to content

Comments

Feature/bcss 21355 subject assertion util#125

Merged
adrianoaru-nhs merged 4 commits intomainfrom
feature/BCSS-21355-subject-assertion-util
Aug 28, 2025
Merged

Feature/bcss 21355 subject assertion util#125
adrianoaru-nhs merged 4 commits intomainfrom
feature/BCSS-21355-subject-assertion-util

Conversation

@adrianoaru-nhs
Copy link

@adrianoaru-nhs adrianoaru-nhs commented Aug 28, 2025

Description

Adding a new util to manage assertions on subjects. This is very similar to how the selenium tests do it except if the subject does not match the criteria, it checks each criterion individually to see what is causing the error and logs it:

ERROR    root:subject_assertion.py:69 Subject Assertion Failed
Failed criteria:
latest episode type, FOBT
latest episode status, Open
latest episode has referral date, Past
latest episode has diagnosis date, No
latest episode diagnosis date reason, NULL

Context

Allows us to perform assertions on subjects using a common util.

Type of changes

  • 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.

@adrianoaru-nhs adrianoaru-nhs self-assigned this Aug 28, 2025
@adrianoaru-nhs adrianoaru-nhs added documentation Improvements or additions to documentation enhancement New feature or request labels Aug 28, 2025
@adrianoaru-nhs adrianoaru-nhs requested review from a team August 28, 2025 10:46
Copy link
Collaborator

@davethepunkyone davethepunkyone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only the one minor suggestion but looks good to me

@sonarqubecloud
Copy link

@adrianoaru-nhs adrianoaru-nhs merged commit a973edd into main Aug 28, 2025
10 checks passed
@adrianoaru-nhs adrianoaru-nhs deleted the feature/BCSS-21355-subject-assertion-util branch August 28, 2025 12:24
Andyg79 pushed a commit that referenced this pull request Aug 28, 2025
<!-- markdownlint-disable-next-line first-line-heading -->
## Description

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

Adding a new util to manage assertions on subjects. This is very similar
to how the selenium tests do it except if the subject does not match the
criteria, it checks each criterion individually to see what is causing
the error and logs it:

```
ERROR    root:subject_assertion.py:69 Subject Assertion Failed
Failed criteria:
latest episode type, FOBT
latest episode status, Open
latest episode has referral date, Past
latest episode has diagnosis date, No
latest episode diagnosis date reason, NULL
```

## Context

<!-- Why is this change required? What problem does it solve? -->

Allows us to perform assertions on subjects using a common util.

## 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants