- Description and goals
- Installation
- Database setup
- Run application
- Run tests
- Technologies
- Compodoc
- Screenshots
Yoga application concerns unit, integration and e2e testing for the back and front end.
This is a full stack application that allow to configure Yoga classrooms and booking system. It's just a proof of concept to work around application testing with JUnit, Jest and Cypress.
Clone these repositories :
git clone https://github.com/popcodelab/Yoga
mvn clean install
npm install
Open the application.properties
file located in the back/src/main/resources
directory to Replace the properties with your parameters:
spring.datasource.url=${APP_DB_URL}
spring.datasource.username=${APP_DB_USERNAME}
spring.datasource.password=${APP_DB_PASSWORD}
Make sure that you have MySQL installed on your system.
- Log into MySQL using the following command :
mysql -u
<username>
-p
- Create the database :
CREATE DATABASE
<database_name>
;
- Select the created database :
USE
<database_name>
;
Use the SQL script located in ressources\sql\script.sql
to create the schema :
SOURCE
<path_to_script.sql>
;
Default credential are :
- login: [email protected]
- password: test!1234
-
Frontend
-
In your terminal, run the command below.
cd front npm run start
The frontend will launch in your browser at
http://localhost:4200
-
-
Backend
-
In a separate terminal, run the command below.
cd back mvn spring-boot:run
The backend server will launch at
http://localhost:8080
-
-
Run tests and generate a coverage report.
cd back mvn clean test
-
The report has been generated in
back/target/site/jacoco
directory. Open theindex.html
file in a web browser.
-
Run tests and generate a coverage report.
cd front npm run test
-
The report has been generated in
front/coverage/jest/lcov-report
directory. Open theindex.html
file in a browser.
-
Run the Cypress Test Runner.
npm run e2e
-
Run the end-to-end tests and generate the coverage report.
npm run e2e:coverage
-
The report has been generated in
front/coverage/lcov-report
directory. Open theindex.html
file in a browser.