# Acid Tests

Marfeel guarantees the performance and correctness of all providers' implementations with Acid tests.

Inspired by web browsers' Acid1 (opens new window), Acid2 (opens new window) and Acid3 (opens new window) tests, each provider type (analytics, ad server...) must pass a different test suite.

Acid tests check the structure of the repository, files content and the production bundle.

All acid tests check the following:

  • There is one src/index.* file with the entry point of the provider.
  • There is one unit test src/index.test.* file next to the entry point with at least one unit test.
  • All mandatory methods are implemented and return expected values.
  • There is a schema/index.json file with a valid JSON schema.
  • There is a schema/tests/valid/index.test.json file with a valid test for the JSON schema.
  • There is a schema/tests/wrong/index.test.json file with a wrong test for the JSON schema.
  • The production bundle (dist/index.es2015.js) is under 5kb.

In addition to those standard tests, each provider has additional requirements.