Skip to content

Latest commit

 

History

History
69 lines (39 loc) · 2.34 KB

File metadata and controls

69 lines (39 loc) · 2.34 KB

beacons-backoffice

Local development

Follow the instructions in the root README to get started.

Working on the Backoffice in isolation

In the Backoffice SPA sub-directory, you can run:

npm start

Runs the app in the development mode with the Beacons Service API stubbed by MirageJS. Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

To run the app in local development mode without an API stub, run npm run start:no-api-stub.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

Authentication

For logging into to the Beacons Registry Back Office, you will need to be added as a guest to the following:

  • MCA Azure AD test directory, mcga.onmicrosoft.com
  • Relevant Azure Security Groups within Azure AD to access the application

Please ask a member of the development team who has permission to do this.

Deployment

This application is bundled and served with the parent Spring Boot application at "/backoffice".

Why serve an SPA from within Spring Boot?

See ADR.

Mutation testing

We use Stryker Mutator as a tool to help us understand how much we can trust our unit tests.

Every mutation that survives is a line of code that we can change without it being picked up by our unit tests.

To run the mutation tests:

# From the backoffice directory...

stryker run

This will take about an hour, so you are not going to be running it after every commit.

Once it completes, there should be an HTML report in reports/mutation/mutation.html.