I am new to testing and AngularJS and I have a task to test a very complex AngularJS project and the backend of the app as well. Currently I have e2e test running with protractor that cover every possible scenario in terms of input/actions and output/results. Is this enough? I need to achieve a good test coverage for my app.
Javascript testing is covered by Jasmine and all of its flavors.
End to end testing
For e2e testing you can use Protractor which is the recommended framework.
Unit Testing
For Unit testing, you should use Karma, or mocha (serial).
Backend testing
You said that you need to test backend. I would recommend to make tests directly to backend endpoints/functions, simulating use cases and expecting the appropiate correct results, to ensure you're covering every aspect of the app. This will depend on what language/framework you have your backend.
So, the answer is NO, Protractor is not enough.
Why write tests?
Basically, the reason you write tests is to keep your code working together correctly, and to ensure the "contracts" between functions and each connections you have between backend-frontend, backend-backend, and frontend-frontend work correctly. So, every time you modify a portion of the code, you don't have to check every part of the code to find a bug, and also you have a really clear idea what part of your code is failing.