You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This page will be populated in the near future to outline the contribution process.
3
+
With this project, we actively encourage anyone who may have any ideas or code that could make this repository better to contribute
4
+
in any way they can.
5
+
6
+
## How To Contribute
7
+
8
+
If you have an idea about something new that could be added, then please raise a
9
+
[Feature Request via the Issues tab](https://github.com/nhs-england-tools/playwright-python-blueprint/issues/new/choose) for this
10
+
repository. Even if you don't feel you have the technical ability to implement the request, please raise an issue regardless as
11
+
the maintainers of this project will frequently review any requests and attempt to implement if deemed suitable for this blueprint.
12
+
13
+
If you have some code you think could be implemented, please raise a Feature Request and
14
+
[create a fork of this repository](https://github.com/nhs-england-tools/playwright-python-blueprint/fork) to experiment and ensure
15
+
that the change you want to push back works as intended.
16
+
17
+
## Contribution Requirements
18
+
19
+
For any contributions to this project, the following requirements need to be met:
20
+
21
+
- You must be a member of the [NHS England Tools](https://github.com/nhs-england-tools) organisation on GitHub.
22
+
-[Any commits must be signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits), so they show as verified once they reach GitHub. This checking serves as part of our CI/CD process, so unsigned commits will prevent a pull request from being merged.
23
+
- For any utility methods that are added to this framework in the `utils` directory, the following applies:
24
+
- Unit tests for the utility should be added to the `tests_utils` directory and need to be tagged with the `utils` mark.
25
+
- Documentation for these classes and how to use any methods should also be added to the `docs/utilities-guide` directory.
26
+
- Each method that is intended to be used as part of a class should have a correctly formatted docstring, to allow for developers using Intellisense within their IDE to understand what the code is intended to do.
27
+
- All CI/CD checks will need to pass before any code is merged to the `main` branch - this includes ensuring appropriate formatting of code and documentation, security checks and that all unit and example tests pass.
28
+
29
+
## Things We Want
30
+
31
+
What we are particularly interested in is:
32
+
33
+
- Any utility classes that can uniformly applied to any project. This may be something that's been created for your own project and by doing some minor abstraction any other teams working in a similar way could adopt this functionality.
34
+
- Any development code that supports executing this project in a CI/CD fashion. This primarily covers any changes that support development principles outlined in the [Software Engineering Quality Framework](https://github.com/NHSDigital/software-engineering-quality-framework), and could include logic around how the test code is containerized.
35
+
- Any changes that allow for test reporting in a consistent, reliable, maintainable and interesting format for varying stakeholders. This includes logic that expands on from the reporting we generate, such as example scripts for how to generate dashboards using the data we generate.
36
+
37
+
Examples:
38
+
39
+
- Say you've created a utility for generating test patients within your application. Any elements of this code that could be universally applied and other teams are likely to use (e.g. NHS number, patient name) we would want in this blueprint. If there's something business specific to your project that exists as part of this code (e.g. a unique reference number that only applies to your service), then we would advise removing that logic from any code before raising a pull request here.
40
+
- If you do end up adding a utility class in this format in a more generic way to this project, you can subsequently [inherit the utility class](https://docs.python.org/3/tutorial/classes.html#inheritance) to include your additional business-specific requirements within your own version of the class.
Copy file name to clipboardExpand all lines: README.md
+17-5Lines changed: 17 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,7 @@ NOTE: This project is currently under initial development so isn't finalised, bu
17
17
-[Configuration](#configuration)
18
18
-[Getting Started](#getting-started)
19
19
-[Utilities](#utilities)
20
+
-[Contributing](#contributing)
20
21
-[Contacts](#contacts)
21
22
-[Licence](#licence)
22
23
@@ -34,6 +35,8 @@ To utilise the blueprint code, you will need to have the following installed:
34
35
35
36
-[Python](https://www.python.org/downloads/) 3.12 or greater
36
37
38
+
> NOTE: There are currently known issues with Python 3.13 and Playwright, so if you encounter issues running this project whilst using Python 3.13 it is recommended to downgrade to Python 3.12 in the interim.
39
+
37
40
Whilst not required to get started, you may also want to [configure a Python virtual environment for your project](https://docs.python.org/3/library/venv.html) before proceeding with
38
41
the configuration. If you are using an IDE such as Visual Studio Code or PyCharm, you will normally be prompted to do this automatically.
39
42
@@ -54,6 +57,9 @@ so you can see the browser execution):
54
57
pytest --tracing on --headed
55
58
```
56
59
60
+
Alternatively if you are using Visual Studio Code as your IDE, we have pre-configured this project to work with the
61
+
[Testing functionality](https://code.visualstudio.com/docs/editor/testing) so the example tests should be discovered automatically.
62
+
57
63
## Getting Started
58
64
59
65
> NOTE: This section is currently under development and requires further work, so links to pages within this repository may not be very useful at this stage.
@@ -74,16 +80,22 @@ This blueprint also provides the following utility classes, that can be used to
74
80
|Utility|Description|
75
81
|-------|-----------|
76
82
|[Axe](./docs/utility-guides/Axe.md)|Accessibility scanning using axe-core.|
77
-
|NHSNumberTools|Basic tools for working with NHS numbers.|
83
+
|[Date Time Utility](./docs/utility-guides/DateTimeUtility.md)|Basic functionality for managing date/times.|
84
+
|[NHSNumberTools](./docs/utility-guides/NHSNumberTools.md)|Basic tools for working with NHS numbers.|
85
+
|[User Tools](./docs/utility-guides/UserTools.md)|Basic user management tool.|
86
+
87
+
## Contributing
88
+
89
+
Further guidance on contributing to this project can be found in our [contribution](./CONTRIBUTING.md) page.
78
90
79
91
## Contacts
80
92
81
-
If you have any queries regarding this blueprint, please contact [[email protected]](mailto:dave.harding1@nhs.net).
93
+
If you have any ideas or require support for this project, please [raise an issue via this repository](https://github.com/nhs-england-tools/playwright-python-blueprint/issues/new/choose) using the appropriate template.
> The [LICENCE.md](./LICENCE.md) file will need to be updated with the correct year and owner
97
+
## Licence
86
98
87
-
Unless stated otherwise, the codebase is released under the MIT License. This covers both the codebase and any sample code in the documentation.
99
+
Unless stated otherwise, the codebase is released under the [MIT License](LICENCE.md). This covers both the codebase and any sample code in the documentation.
0 commit comments