Call, Apply, and Bind

Three things so similar it’s hard to keep them apart. Been thinking how I’m not as familiar with bind as I should be, so diving in and realized I should extend it to call/apply.

Read More

Upgrading to Webpack 4

Upgrading to Webpack 4 can be accomplished with a few steps. Some of these steps are more difficult and harder to understand than others. Below are some of the solutions I’ve used to migrate Webpack configs in the past.

Read More

Running test-kitchen with Docker

With some configurability, Docker is a great choice to test chef recipes in a cookbook. While there are a few small gotchas, I’ve marked my journey below. I configured this to work successfully on a set of existing cookbooks I inherited and the production instance they run on. Most of the following info involves spinning up a new cookbook and a boilerplate recipe, but the content I pulled directly from my solutions. Feel free to reach out to me on twitter about questions, corrections, or comments.

Read More

Migrating from Jasmine to Jest

Since the current application I help build runs about >1200 (and growing) Jasmine unit-tests, I figured migrating to Jest would be a pretty painless process. Snapshot testing was (and very much still is) a missing part of testing stack and was the catalyst for this migration. While creating simple snapshots was super easy and I’m excited to snapshot everything more, what I uncovered about our Jasmine setup was the more interesting issue.

Read More

Dealing with Abstraction (in React)

My team’s unofficial team motto is “let reuse drive” - meaning let the need for abstraction come as needed. This motto isn’t a law, especially when architecting a whole system, but a principle when developing business logic and front end components. Below is an example of an abstracted component.

Read More

Mocha, Chai, Sinon, WordPress

There’s not a lot of documentation for using Mocha, Chai, and Sinon to test prototyping. I spent a good chunk of time debugging the function and trying to code around the issue, but I eventually came to the same conclusion that I needed to test it as is. Creating a prototype to use inside of the function was necessary for how the rest of the application and since I had put off writing unit tests for this block of code, I had to use the tools I had already invested in – Mocha, Chai, and Sinon ( for stubbing ). I looked at a few other tools similar to SinonJS like JackJS but a lack of documentation and current bugs in the code made that un-useable (as of Sept, 01, 2015).

Read More