As a beginner, I would suggest you use the web service for JSHint, http://www.jshint.com/
As a tip, you may get a few 'not defined' warnings. These would be globals such as jQuery ($) or console.
You can turn these off my placing at the top of your script,
Just repeat this pattern for whatever global you would like JSHint to ignore.
As for the Unit Testing, I don't see much point in writing tests for hover and drop events. Although this is my opinion. For something like that I would monitor performance with the Chrome WebTools, in which I doubt there would be any damage caused if you keep your code efficient.