Fix tests to not throw errors when all tests are disabled

There is logic outside the test `it` / `xit` blocks which throws an error when no `Cat` function is defined in the implementation.

`beforeEach` only gets called when there is an enabled test, so have wrapped this logic with 
`beforeEach` to prevent any errors been thrown.