Refactor and add tests for plugins.py

Improvement to the tests currently being run on ``plugins.py``

related #644 
Now that there's a class, I think we should group the tests logically under it. Or we can go classless and use a fixture.