Handler
constructor
should set default options if no options are given
should set new options if an options hash is passed in
#createInvocationContext()
should throw a TypeError exception for a non-object
options.deepCopy = falsey
should create a new "this" context additional properties
options.deepCopy = truthy
should create a new "this" context with additional properties that are deeply read-only
#resolveEndpoint()
should throw an exception for a undefined operation
should throw an exception for a null operation
should throw an exception for a non-string operation
should throw an exception for an operation that cannot be found
should throw an exception for an operation that cannot be found (missing metadata)
should throw an exception for an operation that cannot be found (invalid metadata)
should return [endpoint, metadata] for valid operation
#handle()
should reject the promise for a null event
should reject the promise for an undefined event
should not invoke an endpoint without the @operation decorator
should invoke the endpoint with correct "this" value
should invoke the endpoint, succeed and call context#succeed() if present
should invoke the endpoint, fail and call context#fail() if present
.getEndpointMetadata
should throw an exception for a null endpoint
should throw an exception for an undefined endpoint
should throw an exception for a non-object endpoint
should return undefined for an endpoint with no metadata
should throw an exception for an endpoint with non-object metadata
should return the metadata for an endpoint without error