0.4.2 • Published 2 years ago

quality-approach-example-library v0.4.2

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

Getting Started with Create React App

This project was bootstrapped with Create React App. This is a components library based on Atomic Design approach.

Important notice

This is an example about testing scope and strategy. This is not something we have to follow by the book. What it's important here is to better understand which type of tests we have to perform and when.

Mindset: All in one

Goal is to have an all in one approach:

  • Documentation
  • State preview
  • Tests

In a component folder, you should at least find this files:

  • *.mdx as a documentation, including usecases
  • *.usecases or *.stories to display state of components
  • *.test.js or *.steps.test.js file to tests usecases
  • *.js or *.jsx as code

Available Scripts

In the project directory, you can run:

yarn storybook

Runs storybook.\ Open http://localhost:6006 to view it in your browser.

The page will reload when you make changes.\ You may also see any lint errors in the console.

yarn coverage

Launches the coverage report.\ Open http://localhost:6007 to view it in your browser.

yarn test

Runs test in a watch mode and generate report

yarn test:ci

Runs tests as a CI and do not generate report

Pre-commit

Each time developers want to commit, yarn test:ci is exectued to ensure you cannot commit something not tested:

  • Should not have failed tests
  • Should reach coverageThreshold defined within package.json
"jest": {
    "testMatch": [
      "**/*.steps.test.js", // Include BDD
      "**/*.test.js" // Include TDD
    ],
    "collectCoverageFrom": [
      "src/components/**",
      "!src/**/*.stories.js",
      "!src/**/*.usecases.js"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 60,
        "functions": 60,
        "lines": 60,
        "statements": 60
      }
    }
  }