Skip to content

Commit

Permalink
Release: development into main (#545)
Browse files Browse the repository at this point in the history
* draft: docs: Caching documentation (#460)

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* terraform-docs: automated action

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: wip templates for adrs

* docs: draft highlevel mapping info

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: handle textBodyDB entity being empty - possible fix

* Linted Code in Dfe.PlanTech.Domain/

* ignore mapping of rich text id

* fix: Check answers page title (#487)

* fix: check answers page title

* fix: remove line

* Linted Code in Dfe.PlanTech.Web/

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat: Add caching docs (#486)

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* terraform-docs: automated action

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: wip templates for adrs

* docs: draft highlevel mapping info

* docs: pad out adrs

* docs: add caching adr

* docs: Expand contentful caching process

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Support preview mode in Content db (#489)

* wip

* feat: process options

* feat: support preview in cmsdbcontext

* tests: tests for save + autosave

* feat: add contentfuloptions to web proj

* fix: add default usepreview

* fix: correctly get ContentfulOptions in dbcontext

* chore: remove unneeded param, add docs

* chore: refactor ignore message condition

* fix: Azure Function Tests (#490)

* fix: Add parameterless constructor again to fix tests

* chore: code cleanup recommendations

* fix: Remove this.getservice as causing errors

* fix: service config issue

* refactor: use guard statement for cleaner code

* refactor: create only adds contentcomponent

* refactor: revert changes and skip create event

* refactor: only save or auto_save when a new entity has all its required fields

* test: update tests

* tests: Initial programatic E2E tests work (#493)

* feat: Hotfixes (#492)

* draft: docs: Caching documentation (#460)

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* terraform-docs: automated action

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: wip templates for adrs

* docs: draft highlevel mapping info

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: handle textBodyDB entity being empty - possible fix

* Linted Code in Dfe.PlanTech.Domain/

* ignore mapping of rich text id

* fix: Check answers page title (#487)

* fix: check answers page title

* fix: remove line

* Linted Code in Dfe.PlanTech.Web/

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat: Add caching docs (#486)

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* terraform-docs: automated action

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: wip templates for adrs

* docs: draft highlevel mapping info

* docs: pad out adrs

* docs: add caching adr

* docs: Expand contentful caching process

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Support preview mode in Content db (#489)

* wip

* feat: process options

* feat: support preview in cmsdbcontext

* tests: tests for save + autosave

* feat: add contentfuloptions to web proj

* fix: add default usepreview

* fix: correctly get ContentfulOptions in dbcontext

* chore: remove unneeded param, add docs

* chore: refactor ignore message condition

* fix: Azure Function Tests (#490)

* fix: Add parameterless constructor again to fix tests

* chore: code cleanup recommendations

* fix: Remove this.getservice as causing errors

* fix: service config issue

* refactor: use guard statement for cleaner code

* refactor: create only adds contentcomponent

* refactor: revert changes and skip create event

* refactor: only save or auto_save when a new entity has all its required fields

* test: update tests

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <“umar.hussain@and.digital”>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <uahussain12@users.noreply.github.com>
Co-authored-by: Zac King <zac.king@and.digital>
Co-authored-by: Iain STANGER <Iain.STANGER@EDUCATION.GOV.UK>
Co-authored-by: Zac <119302767+Zac-AND-Digital@users.noreply.github.com>

* wip: validating pages dynamically

* wip: validate textbodies

* wip

* wip: move validations to separate files

* feat: validate paragraphs

* feat: validate table

* feat: use class, add comments

* chore: rearrange files

* chore: add docs

* chore: delete moved files

* fix: add missing comma

* fix: file names, null data

* fix: add relative path

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <“umar.hussain@and.digital”>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <uahussain12@users.noreply.github.com>
Co-authored-by: Zac King <zac.king@and.digital>
Co-authored-by: Iain STANGER <Iain.STANGER@EDUCATION.GOV.UK>
Co-authored-by: Zac <119302767+Zac-AND-Digital@users.noreply.github.com>

* tests: Add category and sections to programatic tests (#494)

* feat: Hotfixes (#492)

* draft: docs: Caching documentation (#460)

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* terraform-docs: automated action

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: wip templates for adrs

* docs: draft highlevel mapping info

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: handle textBodyDB entity being empty - possible fix

* Linted Code in Dfe.PlanTech.Domain/

* ignore mapping of rich text id

* fix: Check answers page title (#487)

* fix: check answers page title

* fix: remove line

* Linted Code in Dfe.PlanTech.Web/

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat: Add caching docs (#486)

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* terraform-docs: automated action

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: wip templates for adrs

* docs: draft highlevel mapping info

* docs: pad out adrs

* docs: add caching adr

* docs: Expand contentful caching process

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Support preview mode in Content db (#489)

* wip

* feat: process options

* feat: support preview in cmsdbcontext

* tests: tests for save + autosave

* feat: add contentfuloptions to web proj

* fix: add default usepreview

* fix: correctly get ContentfulOptions in dbcontext

* chore: remove unneeded param, add docs

* chore: refactor ignore message condition

* fix: Azure Function Tests (#490)

* fix: Add parameterless constructor again to fix tests

* chore: code cleanup recommendations

* fix: Remove this.getservice as causing errors

* fix: service config issue

* refactor: use guard statement for cleaner code

* refactor: create only adds contentcomponent

* refactor: revert changes and skip create event

* refactor: only save or auto_save when a new entity has all its required fields

* test: update tests

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <“umar.hussain@and.digital”>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <uahussain12@users.noreply.github.com>
Co-authored-by: Zac King <zac.king@and.digital>
Co-authored-by: Iain STANGER <Iain.STANGER@EDUCATION.GOV.UK>
Co-authored-by: Zac <119302767+Zac-AND-Digital@users.noreply.github.com>

* wip: validating pages dynamically

* wip: validate textbodies

* wip

* wip: move validations to separate files

* feat: validate paragraphs

* feat: validate table

* feat: use class, add comments

* chore: rearrange files

* chore: add docs

* chore: delete moved files

* fix: missing comma

* fix: remove file

* feaT: Process sections and categories on /self-assessment page

* fix: skip test due to missing data

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <“umar.hussain@and.digital”>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <uahussain12@users.noreply.github.com>
Co-authored-by: Zac King <zac.king@and.digital>
Co-authored-by: Iain STANGER <Iain.STANGER@EDUCATION.GOV.UK>
Co-authored-by: Zac <119302767+Zac-AND-Digital@users.noreply.github.com>

* W.I.P

* tests: Refactor existing work on dynamic E2E tests (#496)

* feat: Hotfixes (#492)

* draft: docs: Caching documentation (#460)

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* terraform-docs: automated action

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: wip templates for adrs

* docs: draft highlevel mapping info

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: handle textBodyDB entity being empty - possible fix

* Linted Code in Dfe.PlanTech.Domain/

* ignore mapping of rich text id

* fix: Check answers page title (#487)

* fix: check answers page title

* fix: remove line

* Linted Code in Dfe.PlanTech.Web/

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat: Add caching docs (#486)

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* terraform-docs: automated action

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: initial documentation templates

* docs: add other headers

* docs: overview of readpage

* docs: add db schema

* docs: more caching process documentation

* docs: Update CMS schema diagram

* docs: Add dbdiagram code for schema

* docs: Finish Contentful caching process doc

* docs: wip templates for adrs

* docs: draft highlevel mapping info

* docs: pad out adrs

* docs: add caching adr

* docs: Expand contentful caching process

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* feat: Support preview mode in Content db (#489)

* wip

* feat: process options

* feat: support preview in cmsdbcontext

* tests: tests for save + autosave

* feat: add contentfuloptions to web proj

* fix: add default usepreview

* fix: correctly get ContentfulOptions in dbcontext

* chore: remove unneeded param, add docs

* chore: refactor ignore message condition

* fix: Azure Function Tests (#490)

* fix: Add parameterless constructor again to fix tests

* chore: code cleanup recommendations

* fix: Remove this.getservice as causing errors

* fix: service config issue

* refactor: use guard statement for cleaner code

* refactor: create only adds contentcomponent

* refactor: revert changes and skip create event

* refactor: only save or auto_save when a new entity has all its required fields

* test: update tests

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <“umar.hussain@and.digital”>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <uahussain12@users.noreply.github.com>
Co-authored-by: Zac King <zac.king@and.digital>
Co-authored-by: Iain STANGER <Iain.STANGER@EDUCATION.GOV.UK>
Co-authored-by: Zac <119302767+Zac-AND-Digital@users.noreply.github.com>

* wip: validating pages dynamically

* wip: validate textbodies

* wip

* wip: move validations to separate files

* feat: validate paragraphs

* feat: validate table

* feat: use class, add comments

* chore: rearrange files

* chore: add docs

* chore: delete moved files

* fix: missing comma

* refactor: cleanup duplicated code.

* merge development

* chore: delete old dupe files

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <“umar.hussain@and.digital”>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <uahussain12@users.noreply.github.com>
Co-authored-by: Zac King <zac.king@and.digital>
Co-authored-by: Iain STANGER <Iain.STANGER@EDUCATION.GOV.UK>
Co-authored-by: Zac <119302767+Zac-AND-Digital@users.noreply.github.com>

* W.I.P

* fix: checkout repo

* refactor: remove superseded workflow

* refactor: add relevant triggers to paths and run some in parallel

* refactor: concurrency groups, pass artifact name as variable

* refactor: concurrency group naming

* chore: remove debug code

* tests: Navigate through every question in a sub-topic using Contentful data (#499)

* feat: add warning validator

* chore: add missing fields

* feat: Test every question page for every sub-topic

- Test question
- Test answers
- Test check answers matches
- Uses path(s) that navigates through each question in a sub-topic

* chore: add skip back

* fix: correct name variable

* tests: E2E tests for every possible recommendation page (#500)

* feat: add warning validator

* chore: add missing fields

* feat: Test every question page for every sub-topic

- Test question
- Test answers
- Test check answers matches
- Uses path(s) that navigates through each question in a sub-topic

* chore: add skip back

* fix: correct name variable

* feat: validate every recommendation for every maturity

* feat: validate recommendation pages

* chore: revert testing things

* refactor: delete unused workflow

* chore: update various versions in workflows

* chore: update various versions in custom actions

* tests: Last E2E component tests (#501)

* fix: Test interstitial page content + replace all whitespaces

* chore: remove empty line

* tests: validate warning component + button with entry reference

* chore: remove log command

* feat: inset text validator + slight refactor

* feat: Test nav link

* docs: update components done

* terraform-docs: automated action

* refactor: see what happens if v2 is changed to v3 for terraform setup

* refactor: see what happens if v2 is changed to v3 for terraform setup

* chore: remove todo

* tests: Split up unit tests by page/section (#502)

* tests: Split up unit tests by page/section

* fix: unauthorised pages

* fix: only test unauthorised pages again

* chore: remove unused var

* chore: remove unused before

* chore: remove log command

* chore: remove log command

* Qa view spike (#504)

* test graphiz dependency install in actions

* test graphiz dependency install in actions

* image output upload

* image upload

* test

* correct location for generated images

* output artifact id

* output artifact id

* test building link to artifact

* retrieve data from sql server

* retrieve data from sql server

* list files

* Add visualisation script to loop through the data files to create viz for each section

* call the teams webhook

* typo

* typo

* test using AD connection string

* retest

* Use access token for DB connection

* use dev environment just for testing

* add required variables

* test building sql connection rather than from secret

* Add new question/answer visaulisation workflow

---------

Co-authored-by: uahussain12 <“umar.hussain@and.digital”>

* wip cleanup (#498)

* wip cleanup

* cleanup

* cleanup

* test for assertion

* chore: upgrade missed version

* refactor: merge ShouldDropMessage and ShouldIgnoreMessage

* Format visualisations (#506)

* Add formatting to visualisations, removes cron schedule from workflow and add as job within matrix deploy

* add -y flag for any prompts

---------

Co-authored-by: uahussain12 <“umar.hussain@and.digital”>

* refactor: Log which required properties are null in such an event

* chore: remove block comment

* fix: RichText retrieval bug (#507)

- Fixes types in `@RichTextIds` and `idColumn`
- Optimised the querying of the fetching of the `ContentComponentIds` and the `RichTextIds`

* refactor: Check validity of component always

* refactor: remove unused parameter

* refactor: remove unused parameter

* refactor: update dotnet-coverage to latest

* refactor: rollback dotnet-coverage to last known good version

* fix: rollback dotnet-coverage for sonarcloud

* test: update tests

* Feat/cleanup (#512)

* wip cleanup

* cleanup

* cleanup

* test for assertion

* Architecture Diagram Update

* update

* added test to update coverage on GetEntitiesException

* refactor: change valid component logic

* chore: move node unit tests package files to actual folder (#515)

* chore: move node unit tests package files to actual folder

- These were originally in root dir incase we had tests spread out across multiple projects. Which we don't so this just cleans it up.

* fix: test path

Swear I already changed this but apparently not.

* chore: Update all nuget packages. (#510)

* chore: Update all nuget packages. Remove moq

* fix: replace automapper package

* feat: Convert RichTextContents function into a view (#509)

* feat: refactor function RichTextContents by page into view

* fix: correct type

* Linted Code in Dfe.PlanTech.Domain/

* chore: linting + remove unnecessary query

* chore: Update all nuget packages. Remove moq

* fix: replace automapper package

* fix: remove broken sql

* chore: small refactor + consistency changes

- Removes unncessary toplevel `SELECT *` statement
- Made every table name + column name in [] to ensure consistency
- Added actual columns to the `SELECT` query for the function

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Feat/cleanup (#517)

* wip cleanup

* cleanup

* cleanup

* test for assertion

* Architecture Diagram Update

* update

* added test to update coverage on GetEntitiesException

* updated tests and protected constructor for serializable class

* Linted Code in Dfe.PlanTech.Infrastructure.Contentful/

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* refactor: W.I.P add semantic versioning

* refactor: global install semantic-release

* refactor: install dependencies

* refactor: install dependencies with versions

* feat: use semantic versioning

* refactor: run it on push test

* refactor: tag change

* refactor: create contentful entity classes

* Feat/cleanup (#518)

* wip cleanup

* cleanup

* cleanup

* test for assertion

* Architecture Diagram Update

* update

* added test to update coverage on GetEntitiesException

* updated tests and protected constructor for serializable class

* more cleanup for v1.05

* refactor: change string to Title component

* fix(sql): 🐛 Fixes a bug where Warning components weren't display text (#521)

* fix(sql): Fixes a bug where Warning components weren't display text

* fix: missing marks and data

* refactor: change Maturity enum to string

* refactor: rename variables to match cms

* refactor: add Title field to RecommendationChunk

* refactor: change title component to header component

* feat: Update Gov UK Packages (#523)

* feat: Update Gov UK Packages

- Updates govuk-frontend
- Updates DFE alpha
- Adds relevant JS to _Layout.cshtml

* fix: unit tests to match govuk changes

* fix: use commands

* fix: button styling, compile scss

* feat: add step-by-step navigation from govuk prototype (#525)

**:sparkles: Features**:

- Add the `step by step navigation` JS and CSS from the `@govuk-prototype-kit/step-by-step` package

**:adhesive_bandage: Fixes**:

- Updates the `Warning component` tag helper, to use the new class to hide the warning text.

* refactor: update interfaces

* test: add temp dummy tests

* refactor: use generic type in interface

* fix: :green_heart: Semver release (#527)

* fix: Remove exec commands

* ⚡: Update Category + Recommendation View Components (#529)

* 💄: Update Tag colour to match changes

- In [version 5](alphagov/govuk-design-system-backlog#62 (comment)) of the GDS front-end packages, they have changed the tag colours. As a result, our "dark blue" tag no longer existed, so all of our tags were using the default colours.
- Changed tag colour match changes.

:zap: Changed GetSectionSubmissionStatuses to return List

- Improves performance by not having to call `.ToList` on an object that is already a List

* :zap:: Make recommendations + category views async

* fix: ignore capitalisation

* fix: Web unit tests

* fix: Application tests

* refactor: debug test comment removal

* refactor: debug test comment removal

* refactor: debug test comment removal

* refactor: change test tag name

* refactor: add debug paths

* refactor: remove debug code

* refactor: change Title to string, link SubtopicRecommendation to subtopic

* Feat/accordion view step by step (#528)

* feat: Update Gov UK Packages

- Updates govuk-frontend
- Updates DFE alpha
- Adds relevant JS to _Layout.cshtml

* WIP - accordion view component

* fix: unit tests to match govuk changes

* fix: use commands

* fix: button styling, compile scss

* feat: add step-by-step navigation from govuk prototype

* feat: Accordion view component added.

* feat: Accordion view component added.

* WIP

* WIP - step by step accordion component

* feat: basic step by step accordion component view

* resolve merge conflict

* Updated JS + CSS files

* feat: Step by step accordion view component added.

* Linted Code in Dfe.PlanTech.Domain/

---------

Co-authored-by: Jim Washbrook <jim.washbrook@and.digital>
Co-authored-by: uahussain12 <“umar.hussain@and.digital”>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* 🔨 Workflow + SQL script to clear user data from DB (#531)

* fix: add file extension

* feat: Initial script to clear DB

* fix: correct ordering, add signin table, remove *

* chore: move sql script

Otherwise it would run on every environment when deployed and clear the data... Whoops.

* cicd: Add workflow

* feat: disallow production

* TESTING: check inputs works.

* UNDO TEST CHANGES

* fix(?): remove init from BeforeContent

- This simply added the class `js-enabled` to the Body element. This seemed to already be covered by the `initAll()` functionality from the govuk-frontend.js file

* fix: remove step by step navigation js from layout (#533)

* chore: Add GovUK body class script in (#534)

Removed this yesterday in an erroneous attempt to fix the E2E tests. It's necessary for the GOV UK front-end initialisation script though so I've added back in.

* Feat/CodeCleanup (#524)

* wip cleanup

* cleanup

* cleanup

* test for assertion

* Architecture Diagram Update

* update

* added test to update coverage on GetEntitiesException

* updated tests and protected constructor for serializable class

* more cleanup for v1.05

* more cleanup for SonarCloud

* fix

* Linted Code in Dfe.PlanTech.Application/

* exception handling

* linting and formatting

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix: Fix SQL script to clear DB (#536)

- For some reason the 'Go' commands weren't working from the workflow (although worked directly on DB). Removed.
- Tweaked CI/CD pipeline a bit to ensure safety

* docs(workflows): 📝 Add workflow changes to docs (#537)

* 📝(workflows) Add new workflows to documentation

- Add information on the `create-tag-release` workflow
- Add information on the `clear-user-data-from-db` workflow
- Moves the information about the `terraform-pr-check` workflow lower down in the document so that it is in alphabetical order

* 📝(workflows) Add TOC

GitHub should automatically have one available but you have to toggle it and this will be immediately visible.

* chore: Packages Update (#540)

* wip cleanup

* cleanup

* cleanup

* test for assertion

* Architecture Diagram Update

* update

* added test to update coverage on GetEntitiesException

* updated tests and protected constructor for serializable class

* more cleanup for v1.05

* more cleanup for SonarCloud

* fix

* Linted Code in Dfe.PlanTech.Application/

* exception handling

* linting and formatting

* Package updates

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix: remove text match check (#542)

* fix(197631): 🐛 Fix content ordering on page (#541)

* feat: add error catching

* feat: add join table properties

* chore: remove debug lines

* chore: formatting

* feat: add order pagecontent

* feat: order contents

* refactor: cleanup ordering

* tests: Check for order

* tests: Update unit tests

* tests: Update unit tests

* chore: rename to be more descriptive

* Trigger tf doc update (#544)

* Trigger tf doc update

* terraform-docs: automated action

---------

Co-authored-by: uahussain12 <“umar.hussain@and.digital”>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: 💄 css stylings (#546)

Fixes 197437
197630

Doesn't fix 197620 intentionally as incorrect.

* fix: Remove outdated copying of a specific file (#547)

* fix: 💄 css stylings

Fixes 197437
197630

Doesn't fix 197620 intentionally as incorrect.

* fix: Remove outdated copying of a specific file

* feat: Add order column to PageContents (#549)

* cicd: don't lint if dir not had changes

* feat: add order columnt ot able

* fix: remove incorrect changes

---------

Co-authored-by: jimwashbrook <131891854+jimwashbrook@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <“umar.hussain@and.digital”>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uahussain12 <uahussain12@users.noreply.github.com>
Co-authored-by: Zac King <zac.king@and.digital>
Co-authored-by: Zac <119302767+Zac-AND-Digital@users.noreply.github.com>
Co-authored-by: Jim Washbrook <jim.washbrook@and.digital>
  • Loading branch information
9 people committed Feb 29, 2024
1 parent b84086d commit 04c1f7b
Show file tree
Hide file tree
Showing 206 changed files with 6,055 additions and 6,394 deletions.
2 changes: 1 addition & 1 deletion .github/actions/build-dotnet-app/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ runs:

steps:
- name: Setup .NET Core SDK ${{ inputs.dotnet_version }}
uses: actions/setup-dotnet@v3
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ inputs.dotnet_version }}
- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/post-terraform-results/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ runs:

steps:
- name: Update PR with Terraform results
uses: actions/github-script@v6
uses: actions/github-script@v7
if: github.event_name == 'pull_request'
env:
PLAN: "terraform\n${{ inputs.plan_stdout }}"
Expand Down
4 changes: 2 additions & 2 deletions .github/actions/run-e2e-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ runs:
config: baseUrl=${{ inputs.url }}

- name: Store screenshots on test failure
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-screenshots
path: ./tests/Dfe.PlanTech.Web.E2ETests/cypress/screenshots

- name: Store videos
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: cypress-videos
Expand Down
11 changes: 11 additions & 0 deletions .github/scripts/clear-user-data-from-db.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
BEGIN TRANSACTION;

DELETE FROM [dbo].[response];
DELETE FROM [dbo].[submission];
DELETE FROM [dbo].[question];
DELETE FROM [dbo].[answer];
DELETE FROM [dbo].[signin];
DELETE FROM [dbo].[user];
DELETE FROM [dbo].[establishment];

COMMIT;
65 changes: 65 additions & 0 deletions .github/scripts/qa-data.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import os
import pyodbc
import json
import struct
from azure import identity

def query_to_json(connection_string, sql_query):

if os.getenv("ENV") != "dev":
credential = identity.DefaultAzureCredential(exclude_interactive_browser_credential=True)
token_bytes = credential.get_token("https://database.windows.net/.default").token.encode("UTF-16-LE")
token_struct = struct.pack(f'<I{len(token_bytes)}s', len(token_bytes), token_bytes)
SQL_COPT_SS_ACCESS_TOKEN = 1256
connection = pyodbc.connect(connection_string, attrs_before={SQL_COPT_SS_ACCESS_TOKEN: token_struct})
else:
connection = pyodbc.connect(connection_string)
cursor = connection.cursor()
cursor.execute(sql_query)
result = cursor.fetchall()
connection.close()
return cursor, result

def main():

connection_string = os.getenv("SQL_CONNECTION_STRING")

data_folder = 'data'
if not os.path.exists(data_folder):
os.makedirs(data_folder)

section_query = "SELECT id, name FROM [Contentful].[Sections]"
cursor, sections = query_to_json(connection_string, section_query)

for section in sections:
section_id, section_name = section

sql_query = f'''
SELECT
Q.Id AS QuestionId,
Q.Text AS QuestionText,
O.[Order] AS QuestionOrder,
A.Text,
A.NextQuestionId
FROM
[Contentful].[Questions] Q
JOIN
[Contentful].[ContentComponents] O ON Q.Id = O.Id
LEFT JOIN
[Contentful].[Answers] A ON Q.Id = A.ParentQuestionId
WHERE
Q.SectionId = '{section_id}'
ORDER BY
O.[Order] ASC;
'''

cursor, result = query_to_json(connection_string, sql_query)

json_result = json.dumps([dict(zip([column[0] for column in cursor.description], row)) for row in result], indent=2)

output_file = os.path.join(data_folder, f'{section_name}.json')
with open(output_file, 'w') as file:
file.write(json_result)

if __name__ == "__main__":
main()
67 changes: 67 additions & 0 deletions .github/scripts/qa-visualisations.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import os
import json
from graphviz import Digraph

def split_text(text, max_length):
if len(text) <= max_length:
return [text]
else:
split_index = text.rfind(' ', 0, max_length)
if split_index == -1:
return [text[:max_length]] + split_text(text[max_length:], max_length)
else:
return [text[:split_index]] + split_text(text[split_index+1:], max_length)

def create_questionnaire_flowchart(question_data):
tree = Digraph(format='png')

end_nodes = set()

for item in question_data:
current_question = item["QuestionId"]
next_question_id = item["NextQuestionId"]
answer_text = item["Text"]

question_lines = split_text(item["QuestionText"], 20)
question_text = "\n".join(question_lines)

tree.node(current_question, question_text, shape='box', style='filled', fillcolor='grey:white', width='2', gradient='200')

answer_lines = split_text(answer_text, 20)
answer_text = "\n".join(answer_lines)

if next_question_id:
tree.node(next_question_id, "Missing Content", shape='diamond', style='filled', fillcolor='red:white', width='2')
tree.edge(current_question, next_question_id, label=answer_text, color='black')
else:
end_nodes.add(current_question)

for end_node in end_nodes:
tree.node("end", "Check Answers", shape='box', style='filled', fillcolor='lightblue:white', width='2', gradient='300')
tree.edge(end_node, "end", label="No More Questions", color='black')

return tree

def process_data_files():
data_folder = 'data'
png_folder = 'visualisations'
if not os.path.exists(png_folder):
os.makedirs(png_folder)

for filename in os.listdir(data_folder):
if filename.endswith('.json'):
file_path = os.path.join(data_folder, filename)
with open(file_path, 'r') as file:
json_data = json.load(file)

flowchart = create_questionnaire_flowchart(json_data)
output_file = os.path.join(png_folder, f'{os.path.splitext(filename)[0]}')
flowchart.graph_attr['rankdir'] = 'LR'
flowchart.graph_attr['beautify'] = 'true'
flowchart.edge_attr['arrowhead'] = 'vee'
flowchart.edge_attr['arrowsize'] = '0.5'

flowchart.render(output_file, cleanup=True)

if __name__ == '__main__':
process_data_files()
58 changes: 0 additions & 58 deletions .github/workflows/build-and-deploy-azure-function.yml

This file was deleted.

Loading

0 comments on commit 04c1f7b

Please sign in to comment.