Q:

can I use karma to test page interaction like drag & drop?

I'm evaluating end to end testing of a MEAN stack app. There's a few critical spots in the app where drag and drop (via a directive) is used. I can't find any information about using karma to test this. Is it possible? If not, what library would you recommend? 

A:

Yes, Angular comes bundled with e2e testing that can be run via Karma. The angular-seed application is a good example of a project structure that includes both e2e and unit tests. From the project home page:

End to end testing
Angular ships with a baked-in end-to-end test runner that understands
  angular, your app and allows you to write your tests with jasmine-like
  BDD syntax.
Requires a webserver, node.js + ./scripts/web-server.js or your
  backend server that hosts the angular static files.
Check out the end-to-end runner's documentation for more info.

create your end-to-end tests in test/e2e/scenarios.js 
serve your project directory with your http/backend server or node.js +
  scripts/web-server.js
to run do one of:
  
  
open http://localhost:port/test/e2e/runner.html in your browser
run the tests from console with Karma via scripts/e2e-test.sh or script/e2e-test.bat

Also, it should be noted that apparently the Angular team will be replacing this current e2e setup with Protractor at some point in the future.

