My Tests Are Broken Again

This project provides real-world code examples for the blog post My Tests Are Broken Again.

Where should I start?

You should start by reading the tests.

Then, you should see how the Test Driver works under the hood.

Make sure that you notice

We have two categories of data-types in the project:

  1. Models - the internal representation of the state. The components and store are using these data-types.
  2. Contracts - the representation of the persisted data, as we receive it from our back-end. Only the data-retrieval layer uses these types.

When data arrives from the back-end, we convert the contracts into models.

Notice that the Test Driver is coupled to the contract between the front-end and back-end: no model is imported into the Test Driver. Instead, we are only using Contracts (dataview, message).