Giter Club home page Giter Club logo

sscs-submit-your-appeal's Introduction

SSCS - Submit Your Appeal

Background:

Anyone who disagrees with a decision about their entitlement to benefits has the right to appeal against that decision. The first step is asking the Department for Work and Pensions to look at the decision again. This is known as requesting ‘Mandatory Reconsideration’. If they still disagree, they can appeal to the Social Security and Child Support tribunal.

Should an appellant wish to appeal online this node.js web application allows them to do so. The application takes the appellant on a journey, presenting a single question per page (GDS guidelines), at the end of their journey we present an appeal summary page, allowing the user to edit their answers or sign and submit.

Dependencies

Development

Config

Redis is required to run the application. You can either install it or use a docker image (See docker section below for instructions). Install Redis: download, extract and build:

http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make

Sanity check:

make test

Add this to your path:

/usr/local/bin

Copy over both the Redis server and the command line interface:

sudo cp src/redis-server /usr/local/bin/
sudo cp src/redis-cli /usr/local/bin/

Start redis:

redis-server

Install npm dependencies:

yarn install

Generate cookie banner content:

./node_modules/gulp/bin/gulp.js default

Bring up SYA in a new terminal window:

yarn dev

View the application:

https://localhost:3000

Docker

If you would like to view the application without having to setup Redis you can do so via Docker.

We use the Dockerfile and docker-compose.yml to create a container to bring up the app which includes Redis.

Build the node.js Dockerfile containing SYA into a local image:

docker build -t hmcts/submit-your-appeal:latest .

Bring up the container:

docker-compose up sya

View the application:

https://localhost:3000

If you prefer to run the application natively but still use docker for Redis you can do so by running: docker-compose up redis

You would then start the application by running yarn dev as above

End-to-end testing

Ensure both SYA (from one of the methods above) and the API are up (including docker dependencies run through CFTLib). At present these tests do not run within Docker, therefore, open a new terminal window.

Functional tests: We have split our functional tests into two. Firstly we have tests for entire journeys through the form:

yarn test:functional

However, in order to get this command to run properly you currently have to remove --grep @functional tag from the test:functional script in package.json.

Secondly, we have tests for various pages in the form:

yarn test:e2e-pages

Functional test batches:

To improve reliability running the functional tests locally you can run them in batches using the following command

yarn test:functional:batches

If you wish to increase the speed of the tests, you can decrease the wait time between each action, the default is set to 500ms. Override this by setting the env var E2E_WAIT_FOR_ACTION_VALUE, I find 50ms works fine. Use this together with batching like so:

E2E_WAIT_FOR_ACTION_VALUE=50 yarn test:functional:batches

Smoke tests:

yarn test:smoke

Unit tests

yarn test

Code coverage

yarn test:coverage

Security scan of installed packages

yarn test:audit

Useful docker commands

List images

docker images

List containers

docker ps

Execute an interactive bash shell on the container

docker exec -it <container id> sh

sscs-submit-your-appeal's People

Contributors

barbaracassani avatar bartlabno avatar bendiggle avatar bkpatel81 avatar bradley-hmcts avatar chrisdavecm avatar chrisgrimble avatar danhamilton avatar danielepolencic avatar davet1985 avatar dependabot[bot] avatar divisathyan avatar gokul-sol avatar guioconnor avatar hmcts-jenkins-sscs[bot] avatar iguannago avatar izelscorner avatar jhart-dev avatar lturkingtonhmcts avatar lucadelbuonohmcts avatar mickyelvino avatar mohammedcodess avatar paulgain avatar rasikasri avatar rob-doherty avatar ryandac avatar sathishbabuj avatar satyachundur avatar srochani avatar t0nin0s avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sscs-submit-your-appeal's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Repository problems

These problems occurred while renovating this repository. View logs.

  • WARN: Error obtaining docker token

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • chore(deps): update node.js to v20
  • chore(deps): update helm release idam-pr to v2.3.0
  • chore(deps): update helm release nodejs to v3.1.0
  • chore(deps): update helm release redis to v17.17.1
  • chore(deps): update helm release redis to v19
  • chore(deps): update dependency browserify-sign to v4.2.3
  • chore(deps): update dependency chai-as-promised to v7.1.2
  • chore(deps): update dependency postcss to v8.4.38
  • chore(deps): update dependency supertest to v6.3.4
  • chore(deps): update dependency tough-cookie to v4.1.4
  • fix(deps): update babel monorepo to v7.24.6 (@babel/core, @babel/preset-env, @babel/register)
  • fix(deps): update dependency @cypress/request to v3.0.1
  • fix(deps): update dependency @hmcts/nodejs-healthcheck to v1.8.5
  • fix(deps): update dependency config to v3.3.11
  • fix(deps): update dependency express-nunjucks to v3.1.2
  • fix(deps): update dependency js-base64 to v3.7.7
  • fix(deps): update dependency uuid to v9.0.1
  • chore(deps): update dependency chai to v4.4.1
  • chore(deps): update dependency codeceptjs to v3.6.2
  • chore(deps): update dependency eslint to v8.57.0
  • chore(deps): update dependency nock to v13.5.4
  • chore(deps): update dependency node to v18.20.3
  • chore(deps): update dependency playwright to v1.44.1
  • chore(deps): update dependency puppeteer to v22.10.0
  • chore(deps): update dependency qs to v6.12.1
  • chore(deps): update dependency semver to v7.6.2
  • chore(deps): update dependency webdriverio to v8.38.0
  • chore(deps): update yarn to v3.8.2
  • fix(deps): update dependency @hmcts/properties-volume to v1.1.0
  • fix(deps): update dependency applicationinsights to v2.9.5
  • fix(deps): update dependency cookies to ^0.9.0
  • fix(deps): update dependency govuk-frontend to v4.8.0
  • fix(deps): update dependency helmet to v7.1.0
  • fix(deps): update dependency html-entities to v2.5.2
  • fix(deps): update dependency http-status-codes to v2.3.0
  • fix(deps): update dependency libphonenumber-js to v1.11.2
  • fix(deps): update dependency moment to v2.30.1
  • fix(deps): update dependency sass to v1.77.3
  • fix(deps): update dependency sass-loader to v10.5.2
  • fix(deps): update dependency webpack to v4.47.0
  • fix(deps): update dependency webpack-merge to v5.10.0
  • chore(deps): update dependency chai to v5
  • chore(deps): update dependency debug to v4
  • chore(deps): update dependency eslint to v9
  • chore(deps): update dependency eslint-plugin-mocha to v10
  • chore(deps): update dependency gulp to v5
  • chore(deps): update dependency gulp-cli to v3
  • chore(deps): update dependency jsdom to v24
  • chore(deps): update dependency mocha to v10
  • chore(deps): update dependency mochawesome to v7
  • chore(deps): update dependency node to v20
  • chore(deps): update dependency pa11y to v8
  • chore(deps): update dependency redis to v4
  • chore(deps): update dependency sinon to v18
  • chore(deps): update dependency supertest to v7
  • chore(deps): update yarn to v4
  • fix(deps): update dependency accessible-autocomplete to v3
  • fix(deps): update dependency applicationinsights to v3
  • fix(deps): update dependency babel-loader to v9
  • fix(deps): update dependency chalk to v5
  • fix(deps): update dependency copy-webpack-plugin to v12
  • fix(deps): update dependency css-loader to v7
  • fix(deps): update dependency govuk-frontend to v5
  • fix(deps): update dependency mini-css-extract-plugin to v2
  • fix(deps): update dependency sass-loader to v14
  • fix(deps): update dependency superagent to v9
  • fix(deps): update dependency terser-webpack-plugin to v5
  • fix(deps): update dependency webpack to v5
  • fix(deps): update dependency webpack-cli to v5
  • fix(deps): update dependency webpack-dev-middleware to v7
  • chore(deps): update dependency hashicorp/terraform to v1.8.4
  • chore(deps): update terraform azurerm to v3.105.0

Warning

Renovate failed to look up the following dependencies: Failed to look up docker package docker.artifactory.reform.hmcts.net/reform/codeceptjs.

Files affected: docker-compose.smoke-tests.yml


Detected dependencies

docker-compose
docker-compose.smoke-tests.yml
  • docker.artifactory.reform.hmcts.net/reform/codeceptjs 8
docker-compose.yml
dockerfile
Dockerfile
  • hmctspublic.azurecr.io/base/node 18-alpine
helm-requirements
charts/sscs-tribunals-frontend/Chart.yaml
  • nodejs 3.0.0
  • redis 17.0.11
  • idam-pr 2.2.6
helm-values
charts/sscs-tribunals-frontend/values.yaml
helmv3
charts/sscs-tribunals-frontend/Chart.yaml
  • nodejs 3.0.0
  • redis 17.0.11
  • idam-pr 2.2.6
npm
package.json
  • @babel/core ^7.24.4
  • @babel/preset-env ^7.24.4
  • @cypress/request ^3.0.0
  • @cypress/request-promise ^5.0.0
  • @hmcts/cookie-manager ^1.0.0
  • @hmcts/div-idam-express-middleware ^6.6.2
  • @hmcts/nodejs-healthcheck ^1.8.0
  • @hmcts/one-per-page ^5.4.0
  • @hmcts/properties-volume ^1.0.0
  • @hmcts/uk-bank-holidays ^1.0.2
  • accessible-autocomplete ^2.0.4
  • applicationinsights ^2.7.3
  • babel-loader ^8.3.0
  • body-parser ^1.20.2
  • chalk ^4.1.2
  • clean-webpack-plugin ^4.0.0
  • config ^3.3.9
  • cookie-parser ^1.4.6
  • cookies ^0.8.0
  • copy-webpack-plugin ^6.4.1
  • cross-env ^7.0.3
  • css-loader ^5.2.7
  • csurf ^1.11.0
  • express ^4.19.2
  • express-nunjucks ^3.1.1
  • file-loader ^6.2.0
  • formidable ^3.5.1
  • govuk-frontend ^4.7.0
  • govuk_template_jinja ^0.26.0
  • graceful-fs ^4.2.11
  • helmet ^7.0.0
  • html-entities ^2.4.0
  • http-status-codes ^2.2.0
  • jquery ^3.7.1
  • jquery-modal ^0.9.2
  • js-base64 ^3.7.5
  • libphonenumber-js ^1.10.43
  • lodash ^4.17.21
  • lodash-es ^4.17.21
  • mini-css-extract-plugin ^1.6.2
  • moment ^2.29.4
  • nunjucks ^3.2.4
  • nunjucks-loader ^3.0.0
  • optimize-css-assets-webpack-plugin ^6.0.1
  • parse-full-name ^1.2.6
  • redis ^4.6.8
  • sass ^1.66.1
  • sass-loader ^10.4.1
  • superagent ^8.1.2
  • superagent-csrf ^1.0.0
  • terser-webpack-plugin ^4.2.3
  • uuid ^9.0.0
  • webpack ^4.46.0
  • webpack-cli ^4.10.0
  • webpack-dev-middleware ^5.3.4
  • webpack-merge ^5.9.0
  • @babel/register ^7.23.7
  • @hmcts/eslint-config ^1.4.0
  • chai ^4.1.2
  • chai-as-promised ^7.1.1
  • chai-jq ^0.0.9
  • codeceptjs ^3.5.14
  • eslint ^8.48.0
  • eslint-plugin-mocha ^5.0.0
  • fs ^0.0.1-security
  • gulp ^4.0.2
  • gulp-cli ^2.3.0
  • jsdom ^16.5.0
  • mocha ^6.1.4
  • mocha-multi ^1.1.0
  • mocha-param ^2.0.0
  • mochapack ^2.1.2
  • mochawesome ^4.0.1
  • nock ^13.3.3
  • nyc ^15.1.0
  • pa11y ^6.2.3
  • playwright ^1.41.1
  • pre-commit ^1.2.2
  • proxyquire ^2.1.3
  • puppeteer ^22.4.1
  • rewire ^7.0.0
  • sinon ^15.2.0
  • sinon-chai ^3.7.0
  • supertest ^6.3.3
  • webdriverio 8.10.5
  • webpack-node-externals 3.0.0
  • node >=18.0.0
  • @hmcts/nodejs-logging ^4.0.4
  • debug ^3.2.7
  • json-schema ^0.4.0
  • postcss ^8.4.31
  • qs ^6.11.2
  • redis ^3.1.1
  • semver ^7.5.4
  • tough-cookie ^4.1.3
  • browserify-sign ^4.2.1
  • express ^4.19.2
  • formidable ^3.5.1
  • yarn 3.5.1
nvm
.nvmrc
  • node 18.17.1
terraform
infrastructure/main.tf
infrastructure/state.tf
  • azurerm 3.51.0
infrastructure/versions.tf
  • hashicorp/terraform >= 0.13
terraform-version
infrastructure/.terraform-version
  • hashicorp/terraform 1.4.5

  • Check this box to trigger a request for Renovate to run again on this repository

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on all branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please delete the greenkeeper/initial branch in this repository, and then remove and re-add this repository to the Greenkeeper integration’s white list on Github. You'll find this list on your repo or organization’s settings page, under Installed GitHub Apps.

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on all branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because we are using your CI build statuses to figure out when to notify you about breaking changes.

Since we did not receive a CI status on the greenkeeper/initial branch, we assume that you still need to configure it.

If you have already set up a CI for this repository, you might need to check your configuration. Make sure it will run on all new branches. If you don’t want it to run on every branch, you can whitelist branches starting with greenkeeper/.

We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

Once you have installed CI on this repository, you’ll need to re-trigger Greenkeeper’s initial Pull Request. To do this, please delete the greenkeeper/initial branch in this repository, and then remove and re-add this repository to the Greenkeeper integration’s white list on Github. You'll find this list on your repo or organization’s settings page, under Installed GitHub Apps.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.