tl;dr - I applied a few patterns I’ve used on other projects to a Gitlab CI-powered rust project to achieve <2min builds. Basically just caching at different layers – caching via the docker image builder pattern at the docker level, aggressive caching with Gitlab CI at the CI runner level, also one more step of combining some build steps (probably unnecessarily).
tl;dr - JSDOM has updated so my testing code that uses it has updated as well, ignore the editorial and look at the code.
tl;dr I extend my UI component unit/integration testing methodology to do E2E tests. Look at the code, I basically add lots of nice context-setter-upper functions (that’s the official term) that makes it work and make it relatively clean.
tl;dr While the setup works, the most mature haskell library for dealing with webdrivers that I could find wasn’t able to keep up with the changes in Selenium Webdriver :(. Skim through the post to check out the relevant code snippets and tech that made it all (almost) work.
Before reading this post, it might make sense to check out my previous posts on the topic:
Before reading this post, it might be helpful to check out my previous (or other) posts on the topic:
So after messing with my testing set up for a while, I found that there was a little more setup required to get my components to test properly with mocha.