Currently we heavily rely on the end to end tests, but we also use them to test the individual steps in the pipeline. This causes some duplication and also makes it hard to do stuff like try to invert QR codes (since that doesn't live in an individual pipeline step but rather surrounds them all).
This adds some hand crafted test cases to each method in the pipeline, and then refactors how we calculate the end to end tests to be more purely integration tests (instead of a combination).
Currently we heavily rely on the end to end tests, but we also use them to test the individual steps in the pipeline. This causes some duplication and also makes it hard to do stuff like try to invert QR codes (since that doesn't live in an individual pipeline step but rather surrounds them all).
This adds some hand crafted test cases to each method in the pipeline, and then refactors how we calculate the end to end tests to be more purely integration tests (instead of a combination).