There's a bunch of guides telling you how to do this painful-looking JSDOM setup stuff. You probably don't need it. Use Enzyme's shallow rendering, which doesn't require a DOM to mount on. As this smart guy suggests, you can call lifecycle methods yourself to emulate mounting.
This is the best practices guide you're looking for.
Check out this mess of test boilerplate. This looks awful. Don't do it. You don't need it.