#after_login can now receive a context variable (usually the controller)
make Hound happy (and Markus)
give the context a more useful default value
do not hardcode node’s local bin path
Add protractor, chai-as-promised dependencies

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Add Protractor config, example e2e spec

This initial spec still relies on a running Rails server (with default
seed data).

User Story # 16494

Signed-off-by: Alex Coles <alex@alexbcoles.com>
shut up, bothering bower!
Document Protractor in RUNNING_TESTS

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Add basic JSHint config

Tolerate subscript notation in addition to dot notation.

Signed-off-by: Alex Coles <alex@alexbcoles.com>
Move from grunt to gulp build system

Initially port only JSHint tasks.

Signed-off-by: Alex Coles <alex@alexbcoles.com>
OmniAuth: optional attribute mapping in strategies

OpenProject currently employs a fixed attribute mapping schema for
userdata extracted from OmniAuth::AuthHash.

For some strategies (e.g., LDAP), various attribute names are used to
determine user attributes. Thus, an override to the fixed mapping from
within a strategy is desirable.

This commit allows the attribute mapping hash to be merged with
attribute overrides from within an OmniAuth strategy.
Move angular app requires to openproject-app.js

Signed-off-by: Alex Coles <alex@alexbcoles.com>
what now, travis?
Added spec for OmniAuth strategy attribute mapping
Merge branch 'fix/normalise-file-naming' into feature/16494-protractor-tests
Test response for forbidden WP attributes
Check update attribute constraints
Test work package update for valid attributes
WP update implementation
Test that API throws validation error